fastapi is a free, open source api development & testing project written in Python and released under MIT. It has 102,402 GitHub stars, 9,903 forks and 78 open issues, and was last pushed 3 days ago. On this registry it ranks #1 of 103 tracked projects in API Development & Testing, with 5 head-to-head comparisons available. It gained 50 stars over the last 3 tracked days.

What is fastapi?

FastAPI is an MIT-licensed, high-performance Python web framework for building APIs with standard Python type hints, aimed at Python developers and teams that need production-ready HTTP services with automatic OpenAPI documentation.

What it is

FastAPI is a modern Python framework for building APIs. It is built on two foundations: Starlette handles the web parts, and Pydantic handles the data parts. Its design is based on, and fully compatible with, the open standards for APIs — OpenAPI (formerly known as Swagger) and JSON Schema. The project lives on GitHub at fastapi/fastapi, is published on PyPI as fastapi, and carries a documentation site at https://fastapi.tiangolo.com. The repository reports 102,395 stars, 9,902 forks, 78 open issues, and a last push of 2026-09-14.

The concrete problem it solves is the boilerplate that sits between a Python function and a working HTTP API: request parsing, parameter validation, response serialization, and API documentation. In FastAPI, a parameter declaration drives multiple features at once, so a signature such as item_id: int, q: str | None = None supplies validation and typing without separate wiring. Handlers may be written as plain def or as async def when the code uses async and await. The framework then produces automatic interactive documentation from the same declarations, which is the specific work it replaces.

Key capabilities

  • Route declaration through decorators on an FastAPI() app instance, for example @app.get("/items/{item_id}") with typed path and query parameters.
  • Native async / await support by declaring handlers with async def.
  • Standards-based schemas: OpenAPI and JSON Schema compatibility, which yields automatic interactive documentation.
  • Pydantic-backed data validation and serialization as the data layer.
  • Starlette as the underlying web layer for the ASGI parts.
  • Installation as an extra-bundled package, "fastapi[standard]", quoted for terminal compatibility.
  • A companion project, Typer, described as "the FastAPI of CLIs" for terminal applications rather than web APIs.

Who uses it and how

  • Microsoft: an engineer reported using FastAPI for all of a team's ML services, with some integrated into the core Windows product and some Office products.
  • Uber: adopted the library to spawn a REST server queried for predictions, in the context of Ludwig.
  • Netflix: released Dispatch, a crisis management orchestration framework, built with FastAPI.
  • Cisco: described as a key component in an API-first development strategy, driving automations and services including a Virtual TAC Engineer.
  • Teams building production Python APIs at large scale, per the practitioner recommendations carried in the README.

Getting started

Install uv, then add FastAPI to a project with uv add "fastapi[standard]"; users who prefer pip install fastapi[standard] inside a virtual environment. The minimal entry point is a main.py file that imports FastAPI, creates app = FastAPI(), and decorates a handler.

How it compares

The supplied facts name no competing framework or paid product, so no like-for-like contrast is available here. Within the project's own materials, Starlette supplies the web layer and Pydantic the data layer, while Typer is described as the sibling tool for command-line interfaces; the README positions performance as on par with NodeJS and Go, and as one of the fastest Python frameworks available.

When to use it — and when not to

Adopters build on Starlette and Pydantic, and the README does not describe the operational surface around deployment, databases, or mail delivery, so those remain the self-hoster's responsibility. The productivity claims — about 200% to 300% faster feature development and roughly 40% fewer developer-induced errors — are footnoted in the README as estimates from an internal development team's tests, not independent benchmarks, and should be read that way. Teams outside Python, or those wanting a CLI rather than a web API, are not the intended audience; the README points the latter group to Typer.

project readme (upstream, from github) — read inline

FastAPI

FastAPI framework, high performance, easy to learn, fast to code, ready for production

Test Coverage Package version Supported Python versions


Documentation: https://fastapi.tiangolo.com

Source Code: https://github.com/fastapi/fastapi


FastAPI is a modern, fast (high-performance), web framework for building APIs with Python based on standard Python type hints.

The key features are:

  • Fast: Very high performance, on par with NodeJS and Go (thanks to Starlette and Pydantic). One of the fastest Python frameworks available.

  • Fast to code: Increase the speed to develop features by about 200% to 300%. *

  • Fewer bugs: Reduce about 40% of human (developer) induced errors. *

  • Intuitive: Great editor support. Completion everywhere. Less time debugging.

  • Easy: Designed to be easy to use and learn. Less time reading docs.

  • Short: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.

  • Robust: Get production-ready code. With automatic interactive documentation.

  • Standards-based: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema.

  • estimation based on tests conducted by an internal development team, building production applications.

Sponsors

Keystone Sponsor

Gold Sponsors

Silver Sponsors

Other sponsors

Opinions

"[...] I'm using FastAPI a ton these days. [...] I'm actually planning to use it for all of my team's ML services at Microsoft. Some of them are getting integrated into the core Windows product and some Office products."

Kabir Khan - Microsoft (ref)


"We adopted the FastAPI library to spawn a REST server that can be queried to obtain predictions. [for Ludwig]"

Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala - Uber (ref)


"Netflix is pleased to announce the open-source release of our crisis management orchestration framework: Dispatch! [built with FastAPI]"

Kevin Glisson, Marc Vilanova, Forest Monsen - Netflix (ref)


"If anyone is looking to build a production Python API, I would highly recommend FastAPI. It is beautifully designed, simple to use and highly scalable, it has become a key component in our API first development strategy and is driving many automations and services such as our Virtual TAC Engineer."

Deon Pillsbury - Cisco (ref)


FastAPI mini documentary

There's a FastAPI mini documentary released at the end of 2025, you can watch it online:

FastAPI Mini Documentary

Typer, the FastAPI of CLIs

If you are building a CLI app to be used in the terminal instead of a web API, check out Typer.

Typer is FastAPI's little sibling. And it's intended to be the FastAPI of CLIs. ⌨️ 🚀

Requirements

FastAPI stands on the shoulders of giants:

Installation

First, install uv, and then add FastAPI to your project:

$ uv add "fastapi[standard]"

---> 100%

Note: Make sure you put "fastapi[standard]" in quotes to ensure it works in all terminals.

If you prefer to use pip,

readme truncated — read the full docs on github

Frequently asked questions

Is fastapi free to use?

fastapi 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 fastapi do?

FastAPI framework, high performance, easy to learn, fast to code, ready for production

What is fastapi written in?

fastapi is primarily written in Python. Its source is publicly available at https://github.com/fastapi/fastapi, and it has 102,402 GitHub stars.