api-platform is a free, open source api development & testing project written in PHP and released under MIT. It has 9,185 GitHub stars, 971 forks and 2 open issues, and was last pushed 17 days ago. On this registry it ranks #21 of 103 tracked projects in API Development & Testing, with 5 head-to-head comparisons available. It gained 1 stars over the last 3 tracked days.

What is api-platform?

API Platform is an MIT-licensed, PHP-based next-generation web framework for building API-first projects, aimed at backend and full-stack teams that want to expose hypermedia REST and GraphQL APIs from plain PHP data models without leaving the Symfony and JavaScript ecosystems they already know.

What it is

API Platform is a framework for creating API-first projects. A developer designs a data model as plain old PHP classes or imports an existing ontology with the schema generator, and the framework exposes that model as a hypermedia REST API or a GraphQL API with pagination, data validation, access control, relation embedding, filters, and error handling already wired in. Content negotiation is handled out of the box across GraphQL, JSON-LD, Hydra, HAL, JSON:API, YAML, JSON, XML, and CSV, and the API documentation is generated automatically in OpenAPI format. The server component is built on top of Symfony, while client components leverage React, with Vue.js flavors also available, so existing Symfony bundles and React components can be reused.

The concrete problem it solves is the repetitive plumbing that sits between a domain model and a usable API surface. Instead of hand-writing serialization, pagination, filtering, access control, documentation, and an administration interface, a team declares the model once and the framework produces the API, the docs, the admin, and the client scaffolds. It also exposes structured data in Linked Data formats, which means the API is usable by semantic web technologies and Google can leverage those formats for SEO.

Key capabilities

  • Scaffolds new projects through the api-platform installer, for example api-platform my-app --framework=symfony --with-docker --with-pwa or api-platform my-app --framework=laravel.
  • Generates hypermedia REST or GraphQL APIs with pagination, data validation, access control, relation embedding, filters, and error handling.
  • Performs content negotiation across GraphQL, JSON-LD, Hydra, HAL, JSON:API, YAML, JSON, XML, and CSV.
  • Publishes automatically generated OpenAPI documentation.
  • Adds a Material Design administration interface built with React without writing a line of code.
  • Scaffolds Progressive Web Apps and mobile apps with the client generator for Next.js (React), Nuxt.js (Vue.js), and React Native, plus a Vue.js generator.
  • Supports OAuth authentication, Docker and Kubernetes deployment, an API testing tool, and optional data providers beyond the default Doctrine ORM, including MongoDB and Elasticsearch.

Who uses it and how

  • Symfony teams that need to layer an API onto an existing application and want to reuse Symfony bundles, React components, and existing skills.
  • API-first product teams that need both REST and GraphQL from a single data model rather than maintaining two implementations.
  • Teams that want an admin interface and PWA or mobile client scaffolds generated from the same model, avoiding separate frontend boilerplate.
  • Operations groups that install a development environment and deploy to production with Docker and Kubernetes.
  • Publishers of structured data who rely on JSON-LD and Hydra for semantic web compatibility and improved SEO.

Getting started

The recommended path is the static binary: download the latest release for the platform from the Releases page, place it on $PATH, and run api-platform for the interactive wizard. With PHP and Composer installed, composer global require api-platform/installer provides the same binary in ~/.composer/vendor/bin.

How it compares

The facts provided list no paid products that this project replaces, and they name no direct alternatives, so API Platform stands alone in this registry. Its integration points are dependencies rather than competitors: Symfony on the server, React and Vue.js on the client, and Doctrine ORM as the default data layer.

When to use it — and when not to

A self-hoster operates a PHP and Symfony application, and by default a Doctrine ORM data layer, with Docker and Kubernetes available for deployment if the generated setup is used. Teams with no PHP or Symfony background should not pick it, because the framework deliberately builds on that stack and its documentation assumes it. One honest limitation is that this repository hosts the api-platform installer used to scaffold new projects rather than the framework itself, so the official documentation lives on the API Platform website rather than in the repository.

project readme (upstream, from github) — read inline

API Platform

API Platform is a next-generation web framework designed to easily create API-first projects without compromising extensibility and flexibility:

The official project documentation is available on the API Platform website.

API Platform embraces open web standards and the Linked Data movement. Your API will automatically expose structured data. It means that your API Platform application is usable out of the box with technologies of the semantic web.

It also means that your SEO will be improved because Google leverages these formats.

Last but not least, the server component of API Platform is built on top of the Symfony framework, while client components leverage React (Vue.js flavors are also available). It means that you can:

  • Use thousands of Symfony bundles and React components with API Platform.
  • Integrate API Platform in any existing Symfony, React, or Vue application.
  • Reuse all your Symfony and JavaScript skills, and benefit from the incredible amount of documentation available.
  • Enjoy the popular Doctrine ORM (used by default, but fully optional: you can use the data provider you want, including but not limited to MongoDB and Elasticsearch)

Install

This repository hosts the api-platform installer used to scaffold new projects. To install it:

Static binary (recommended)

Download the latest release for your platform from the Releases page and move the binary somewhere on your $PATH:

curl -L https://github.com/api-platform/api-platform/releases/latest/download/api-platform-linux-x86_64 -o /usr/local/bin/api-platform
chmod +x /usr/local/bin/api-platform

Composer

If you already have PHP and Composer installed:

composer global require api-platform/installer

The api-platform binary will be available in ~/.composer/vendor/bin.

Usage

api-platform                # interactive wizard
api-platform my-app --framework=symfony --with-docker --with-pwa
api-platform my-app --framework=laravel

For full project documentation, read the official "Getting Started" guide.

Credits

Created by Kévin Dunglas. Commercial support is available at Les-Tilleuls.coop.

Frequently asked questions

Is api-platform free to use?

api-platform is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does api-platform do?

🕸️ Create REST and GraphQL APIs, scaffold Jamstack webapps, stream changes in real-time.

What is api-platform written in?

api-platform is primarily written in PHP. Its source is publicly available at https://github.com/api-platform/api-platform, and it has 9,185 GitHub stars.