A curated list of free AI models, APIs, and tools you can use without paying a cent.
100 result(s) for βapiβ
The open-source, cross-platform API client for GraphQL, REST, WebSockets, SSE and gRPC. With Cloud, Local and Git storage.
cuTile Rust provides a safe, tile-based kernel programming DSL for the Rust programming language. It features a safe host-side API for passing tensors to asynchronously executed kernel functions.
Headless open-source eCommerce platform on top of PHP/Symfony/API Platform
The server component of API Platform: hypermedia and GraphQL APIs in minutes
Open-source CRM with native AI agent support. 30 MCP tools, REST API, self-hosted. Built with Laravel & Filament
To get an access token with the Instagram Graph API PHP SDK, users must first login through the Facebook login dialog. Facebook will then send the user back to your redirect uri with a code variable in the url which you then exchange for an access token. We can also debug an acc…
In this post we learn how to obtain and access token from the Instagram Basic Display API with a code passed to us from Instagram once the user has authorized our application. The access token we get is short lived meaning it will only be valid for an hour or so. In the next blo…
Today we learn how to setup a Facebook App for use with the Instagram Basic Display API. We create a Facebook app, add Instagram to our Facebook app, create an Instagram app under our Facebook App, and add our personal Instagram account as a tester under our new Instagram App. A…
ο»ΏIn this post we are going to use the Fortnite Tracker API to get and display stats for any player. By hitting the player stats endpoint with a platform (pc, xbox, playstation), and the name of the player, we can get back their lifetime, solo, duo, and squad stats. Once we have …
In this post we are going to go over the Instagram Graph API PHP SDK! I created this SDK because interacting with the Instagram Graph API can be frustrating and confusing at times and I wanted to make it easier to make API calls and interact with the Instagram Graph API. This is…
To get an Facebook Page’s Instagram Business Account with the Instagram Graph API PHP SDK, you have to use the users access token and make a request to the pages endpoint on the Instagram graph API. Get User Facebook Pages use Instagram\User\User; $config = array( // insta…
On Mar 25, 2026 I gave a talk at a devs.gent Meetup. The talk was called “Cranking View Transtions up to 11” and explored the more adventurous side of View Transitions. Ever wondered what happens when you push the View Transition API beyond its documented limits? This talk throw…
Hey Folks! React 16.3 has a new Context API which makes accessing data and functions anywhere in your application a snap. If you ever find yourself passing data down via props 4-5 levels deep, context might be what you are looking for. Enjoy! Code Examples available at https://g…
Flexbox is unbelieveable – it’s not only making complex layouts easier to build, it’s starting to push the limits of what we can do in the browser and in turn makes us better designers. Yeah it’s a bit hard to learn. Yeah there are bugs. Yeah the API is f…
It is official: MySQL listens to HTTP and speaks JSON. MySQL got a new plugin that lets HTTP clients and JavaScript users connect to MySQL using HTTP. The development preview brings three APIs: key-document for nested JSON documents, CRUD for JSON mapped SQL tables and plain SQL…
PECL/mysqlnd_ms is a client-side load balancer for PHP that supports any MySQL cluster. It does read-write splitting, failover, introduces a quality of service concept, supports partitioning and, of course, load balancing. New mysqli API (begin, *savepoint) calls in PHP 5.5.0 he…
Developers have been using Ajax techniques for years to create dynamic web forms, but handling file uploads using Ajax was always problematic. The crux of the problem was security – it's not a good idea to allow arbitrary code access to any file it wants on a user's system so Ja…
The HTTP Plugin for MySQL offers three APIs: REST-like CRUD, REST-like JSON DOCUMENT and SQL. The SQL API lets you run any SQL you want. Including, for example, DROP mysql.users if you mess up your setup. Insecure? It depends on your viewpoint. It’s more than just another …
PECL/mysqlnd_ms 1.6 is currently being modified to support sharding and fully automatic server and client failover when using MySQL Fabric (slides) to manage a farm of MySQL servers. PECL/mysqlnd_ms is a mostly transparent load balancer that works with all PHP MySQL APIs (PDO_My…
It is time for christmas presents: some sharding support and cache locality optimizations are coming with PECL/mysqlnd_ms 1.5. PECL/mysqlnd_ms is a plugin for the mysqlnd library. The plugin adds replication and load balancing support to any PHP MySQL API (mysql, mysqli, PDO_MyS…
Symfony AI is approaching its 1.0 release — so let’s take a tour. In this first post of this series, we introduce the Platform component — the foundation layer that connects your PHP application to the world of AI. The AI landscape is fragmented. Every provider ships its own API…
The Laravel Cloud API and CLI are now GA. Ship faster, automate more, and manage more infrastructure without growing your team.
Laravel Cloud API & CLI, MySQL 8.4 upgrade notice, Forge MySQL 9, Nightwatch MCP & Linear integration, and new Framework AI updates.
Laravel Cloud's API lets AI agents deploy, scale, and manage infrastructure through conversation. See how Florian built a working OpenClaw skill in a few hours.
While reviewing pull requests it often happened to me that I missed a new public (or even protected) method being added. A public constant slips in. A new property with a suboptimal name or type. This is in general not a huge deal in closed source projects, but on open source li…
Today I’m sharing a quick-and-dirty script to take an OpenAPI description, spin up a docs server locally, and copy the URL into your clipboard. I also use a bit of glob expansion in my script to find the right folder, because I have a lot of APIs with long and formulaic di…
The more I work on API standards, the more I realise how few teams understand that they can adopt the standards and, without breaking any contract, adapt them to make a strong interface for their own application. One of my favourite examples is to add enums where a standard inte…
PHP Internals News: Episode 68: Observer API Thursday, September 17th 2020, 09:31 BST London, UK In this episode of "PHP Internals News" I chat with Levi Morrison (Twitter, GitHub) and Sammy Kaye Powers (Twitter, GitHub, Website) about the new Observer API. The RSS feed for this…
I’m working on an infrastructure application that provides a GRPC API to its clients. This will be a high throughput system, so we are building it in Rust using tonic and tokio to build the gRPC API. I wanted to implement request authentication for this system so that the servic…
Sometimes we land on an unfamiliar GitHub repository and the first problem is not writing code. The real problem is understanding the project fast enough. Is this a REST API? Where are the entrypoints? How is the application wired? Are there obvious risks in the codebase? If the…
Most organizations already have REST APIs. They power internal dashboards, connect microservices, expose data to mobile apps. They work. But now you want an AI agent to use those same services, and agents don’t speak REST. They speak MCP. Do you rewrite everything? No. You build…
AI can now generate software at a speed that would have been unthinkable a few years ago. Entire modules, APIs, and test suites appear in seconds. Boilerplate disappears. Refactoring becomes conversational. But underneath the acceleration, nothing fundamental about software engi…
I have a new project where we will be integrating with a third party API that is currently being written. Due to Conway's Law, we are being sent new versions of the OpenAPI spec as a set of JSON files via email. I quite like seeing the HTML rendering of an OpenAPI spec when read…
Indexing document content in Drupal enables users to search within PDF and Word files, making document libraries more accessible and discoverable. Search API Attachments combined with Apache Solr provides a powerful solution for extracting and indexing text from uploaded documen…
Implementing powerful search functionality in Drupal requires more than the default search module. Search API provides flexible search capabilities with support for multiple backends, faceted filtering, and advanced content indexing. In the video above, you'll learn how to insta…
PHP 8.4's property hooks let you replace simple getter methods with virtual properties, keeping a consistent property-based API. Here's when I reach for them and why.
I often use more semantic names in my API surfaces that need mapping back to database fields. Here's one approach I reach for.
Version 7.11.0 of Jane PHP, the API client and Normalizer generator, is now available. This major update to the generation engine focuses on aligning with the latest industry standards through the support…
While running coderetreats, I have the opportunity to see a lot of people working on Conway’s Game of Life. As we go through the day, I make comments about design, both in the large and in the small. Over the years, I’ve seen similar patterns pop up across many different develop…
In this 14-minute video for Premium members, I'm showing the features of new Laravel API starter kit, built by myself and Claude Code.
Useful Laravel links to read/watch for this week of April 23, 2026.
In this 24-minute video for Premium members, I'm showing how I polished a simple Laravel API to be able to deploy it to RapidAPI platform, which was a requirement of a real Upwork job.
Useful Laravel links to read/watch for this week of December 11, 2025.
This is Part III of a multi-part series. Below are the links to other parts of this tutorial! OpenAPI Tutorial Part I: Introduction to OpenAPI OpenAPI Tutorial Part II: Common API Example OpenAPI Tutorial Part III: Paths and Basic Request Data The end result of this article can …
This is Part II of a multi-part series. Below are the links to other parts of this tutorial! OpenAPI Tutorial Part I: Introduction to OpenAPI OpenAPI Tutorial Part II: Common API Example OpenAPI Tutorial Part III: Paths and Basic Request Data In the first part of this series we …
This is Part I of a multi-part series. Below are the links to other parts of this tutorial! OpenAPI Tutorial Part I: Introduction to OpenAPI OpenAPI Tutorial Part II: Common API Example OpenAPI Tutorial Part III: Paths and Basic Request Data The end result of this article can be…
I recently was searching for a way to mock Stripe API calls with Laravel Cashier in my test suite. I came across this issue, which had a great idea. In this scenario, we replace the HTTP Client used by the Stripe PHP SDK so we don't make any HTTP requests. Then we do some work t…
Functional Library: Traversal Traversing associative data structures in PHP is fun. Said no one ever. The problem is a common one if you’re processing any kind of data, for example a response from a JSON API. You need to access some nested structure, but you don’t know if what y…
For as long as I’ve built software, the contract was the same: humans operate interfaces, interfaces operate systems. Agents break that chain. More and more, software is being operated by software — you describe what you want, an agent goes and does it, and the interface y…
Serialization groups have been the go-to mechanism for controlling field visibility in Symfony and API Platform for years. They work — but they introduce a layer of indirection that gets painful as your application grows. I recently removed the last serialization group from a pr…
Cover photo by AffectionateSand8525 — source API Platform 4.3: When Your API Meets AI# I’m excited to announce API Platform 4.3! This release brings a game-changing feature: native support for the Model Context Protocol (MCP), letting your existing API resources be consume…
In the world of modern frontend development, we’ve become obsessed with type safety. We want our IDEs to tell us exactly what an API returns before we even make the request, and we want to ensure we are working with valid data structures at every step. To achieve this, the indus…
API Platform 4.2: Redefining API Development# I’m thrilled to announce the release of API Platform 4.2, unveiled at the 5th edition of the API Platform Conference in Lille! As the release manager, I’m incredibly proud of the work our community has put into this versi…
API Platform is a framework centered around API standards, assisting developers in maintaining and utilizing these specifications. With API Platform 4.1, our focus is on enhancing support for the Hydra specification, OpenAPI, and JSON Schema. OpenAPI improvements# Create several…
API Platform 4 is out!# Check out the slides of my conference at the API Platform Con: Read our Upgrade Guide if you want to update to 3.4 and 4.0. An awesome moment!# While waiting for the replays, live our best moments: Follow us!# Here are some of our accounts if you want to …
I’m removing legacy code on the API Platform codebase to prepare for the API Platform 4 release. While doing that I also updated many dependency requirements such as PHP 8.2 (previously PHP 8.1 was allowed), Symfony 7.1 (as 7.0 is now EOL) and PHPUnit to 11 which is the ma…
API Platform 3.3 is out and adds nice improvements once again! Many new options added to the Metadata classes, an increased focus on RDF at the heart of API design and a target to make API Platform more Laravel friendly. Many thanks to every contributor that made API Platform mo…
We just released API Platform 3.2! We presented most of the new features at the API Platform Con, here are my slides. Use composer recipes:update to update your configuration file. The default configuration file is: api_platform: title: Hello API Platform version: 1.0.0 formats:…
Since I gave the talk “True Serverless or how to run PHP in the browser to document an open source project” and released the API Platform Playground, many asked to build their own. I’ll show here how to use php and WASM to build your own playground. Let’s…
API Platform 3.1 is out!# The API Platform core team released the next minor version, API Platform 3.1. This version is backed by Les-Tilleuls.coop and is the work of many contributors, thanks to them! We had really amazing feedbacks on API Platform 3, we have now released API P…
CQRS with Symfony# Here, CQRS stands for Command and Query Responsibility Segregation. I recommend to read Martin Fowler’s introduction which is a really good starting point. I often see implementation of CQRS using the Symfony messenger component. Let’s take two dat…
Drupal's body field has a built-in summary subfield that almost nobody fills in properly. On high-volume editorial sites I've worked on, it's either blank, copy-pasted from the first paragraph, or written by someone who clearly didn't read the article. It shows up in teasers, RS…
Joomla's content plugin system is underused. Most developers reach for components when a simple content plugin hooked into onContentBeforeSave would do the job in a fraction of the code. This tutorial is a good example of that. The idea is simple: every time an article is saved,…
Examples of how the inotify API can be useful for the Red Team
Say you have an API, and you want to communicate what sort of things a user can do on a specific endpoint. You can use external description formats like OpenAPI or JSON Schema, but sometimes it’s nice to also dynamically communicate this on the API itself. OPTIONS is the method …
A couple of years ago I wrote about how to capture code coverage in API tests. In that article I explained the implications of code coverage collection when the code under test does not run in the same process as the test itself. However, the process explained there was a bit ha…
You can find an improved version of what's described here in Capturing remote code coverage in E2E tests with PHPUnit Capturing code coverage for a test suite is a very useful way to know which parts of your source code are actually getting executed by tests. This is useful not …
The other day I was working on a Zend Expressive application I'm currently building. The application includes a REST API among other things, but it also has some endpoints which render HTML. In one of my tests of the REST API I saw that when an error occurs (404, 405 or 500), I …
Everyone who regularly visits my blog knows that I'm an absolute fan of the Zend\ServiceManager component. It is always my choice to deal with dependency injection in any kind of project, more now that v3 has been released, which is faster and has a better public API. The workfl…
If you are using and depending on the TimerCheck.io service, please be aware that the entire code base will be swapped out and replaced with new code before the end of May, 2017. Ideally, consumers of the TimerCheck.io API will notice no changes, but if you are concerned, you ca…
Validation is one of the most common tasks when building many types of software applications. Talking more specifically about the Symfony Framework, its Validator component offers a very powerful set of APIs to validate objects, arrays, forms and much more. We are going to see a…
This is the fifth post from a series of posts that described the whole deploy process from development to production of a Symfony API. This series of blog posts had the aim to show a possible approach to build a continuous integration and continuous delivery pipeline. The contin…
This is the forth post from a series of posts that will describe the whole deploy process from development to production. The first article is available here, the second here and the third here. After covering the steps 1-3 and having prepared our infrastructure, we can see how …
This is the third post from a series of posts that will describe the whole deploy process from development to production. The first article is available here and the second here. In the previous two articles I've covered the steps 1-3 from the schema here below. Before being abl…
This is the second post from a series of posts that will describe the whole deploy process from development to production. The first article is available here. Here a short summary of the blog article series, quoted directly from the first post. The application was a more-or-les…
In this blog post I'm going to share the deploy strategy I've used to deploy an API-centric application to AWS for a customer. This is the first post from a series of posts that will describe the whole deploy process from development to production. The application was a more-or-…
When writing APIs, a proper error handling is fundamental. HTTP status codes are a great start, but often when we deal with user inputs is not enough. If out model has complex validation rules, understanding the reason behind an 400 Bad Request error can be not trivial. Fortunat…
synergist.io is a secure cloud platform to negotiate contracts in real-time. The product The product developed by synergist is composed mainly by an API and a fronted application. The API is a PHP + Laravel application. The goal I joined the project with the aim of setting-up a …
We here at Liip are currently building a JSON REST API for a customer. At least initially it will only be used by 3 internal projects. One of which we are building and the 2 others are build by partner companies of the customer. Now we want to define a game plan for how to deal …
Desde a migração do Facebook para a nova Graph API e o protocolo OAuth 2.0, sua documentação para desenvolvedores virou uma grande confusão, sem eira nem beira, de artigos depreciados, e isso se eu for otimista. O problema é que muitos artigos antigos ainda apontam para práticas…
We are very pleased to announce the release of the ApiDoc extension version 4.0.0. This is a major release that modernizes ApiDoc for current PHP projects. The minimum PHP version is now 8.2, and dependency requirements were raised for nikic/php-parser, phpdocumentor/reflection,…
Yii3 API project template version 1.3.0 was released. In this version: Do not write logs to file since that's not needed for both Docker and ./yii serve Add .env for development without Docker Add "service update paused" case for swarm deployment log parsing
With fibers in PHP 8.1 and templates types in Promise v3 the main focus for ReactPHP Parallel v2 is a simpler type safe user facing API. With Promise v3 and Async v4 providing exactly with we need to make this transformation. Photo by Wolfgang Weiser from Pexels
To power all but the control plane nodes PoE+ is used, while control plane nodes are USB power controllable through Shelly plugs. Both are fully automatable through API’s and will be used by the cluster node autoscaler.
In a previous article, we explored how to generate your first PDF in a few lines of code using Gotenberg and GotenbergBundleβ—βa Symfony bundle that wraps Gotenberg’s HTTP API to convert HTML or Office files into PDFs, and even take screenshots.That was a great start. But what h…
Photo by Josh Chiodo on UnsplashIntegration testing is a bit of a hassle when you are developing PHP apps that interact with external APIs. Making actual API calls can be pricey, depending on whether the server is available and there’s no guarantee of consistent results. In this…
Last time we discovered API of new WebDriver PHP bindings. We wrote a basic test in PHPUnit that uses Selenium and Firefox browser to find php-webdriver library on Github. Today we will reimplement the same test with Codeception. Installation Depending on your preferences you ca…
Abstracting API integrations using tagged services and the Symfony serializer in order to speed up implementations of multiple and future endpoints
Welcome back! If you're here for the first step, I recommend starting from the beginning so you don't get lost. This post is going to focus on interacting with the Packagist API to retrieve information about a given package. To grab information about a package from Packagist, yo…
Erik Wilde is well known in the world of HTTP and APIs for his work on defining standards, and the excellent YouTube channel "Getting APIs to Work". which has over 250 videos talking about everything from data meshes, security breaches, and API lifecycle management.I p…
Integrating services over API's exposes your application to a range of possible failures. At scale, any network interaction can and will fail. Implementing a retry mechanism is a common approach to increase fault tolerance. Taking into account how systems fail when designin…
UIs with buttons and charts are not cool anymore. Haven’t you heard? All that matters is AI agents now. APIs, CLIs and MCPs – that’s all you need. It’s all about the data. Just get me the data, bro. Where is your MCP? AI can make charts and tables for me.…
I’m thrilled to announce a brand-new feature I unveiled today during my opening keynote at the API Platform Conference: an experimental extension for FrankenPHP that brings gRPC support to PHP! This extension allows you to build high-performance gRPC servers using PHP, Go,…
Imagine your team wants to bring AI into their workflow to automate routine tasks, extract insights from data, assist with content creation, or improve customer support. Smart move! You can integrate AI into your system using APIs from OpenAI (the company behind ChatGPT), Anthro…
Phew! Been awhile but we’re back! NOTE: There’s a working Spring Boot application demonstrating this at https://github.com/Setfive/spring-demos For many applications a security and authentication scheme centered around users makes sense since the focus of the applica…
Need sample data for your next app? Tired of using boring fake data? The Star Wars API is the solution for you, and it’s the first quantified and programmatically-formatted set of Star Wars data.After hours of watching films and trawling through content online, we present to you…
Rector is a tool for automatic code refactoring. ECS allows keeping coding standards in the project. From few days, configuration of both tools is more developer friendly.
Have you ever needed to pick a log package for a Go project? Should you use logrus, glog/klog, the package in the standard library, or something else? The packages have different APIs making changes later a fair amount of work. This is all made more complex when packages that ar…
Today is my “let open source some of my private Github repositories” day, and more specifically, I’m releasing a bunch of code related to documentation.