FastAPI is alive and busy. The latest release on PyPI is 0.162.2 from November 7, 2026. It is MIT licensed and needs Python 3.10 or newer. The version number is the catch. FastAPI has never reached 1.0, and the release page flags 0.160.0 and 0.162.0 as breaking. The second one changed how omitted boolean form fields behave, which can break HTML checkbox handling in a minor upgrade.
Most people who search for a replacement still want Python, type hints and generated OpenAPI docs. The first four picks give you that, either standalone or on top of Django or Flask. Falcon, BlackSheep, Sanic and Robyn trade some of FastAPI's conveniences for speed, a smaller core or a different runtime. Every version and licence below was read on PyPI or the project's own docs on November 6, 2026.
Our method is on How we review tools.
Quick comparison
| Tool | Best for | Price | Platforms |
|---|---|---|---|
| Litestar | A FastAPI-style app with more built in | Free (MIT) | Python 3.8+ |
| Django Ninja | Typed APIs inside a Django project | Free (MIT) | Python, Django 3.1 to 6.1 |
| Django REST Framework | Large Django codebases with browsable APIs | Free (BSD-3-Clause) | Python 3.10+, Django 5.2 to 6.1 |
| Flask with APIFlask | Flask apps that need OpenAPI docs | Free (BSD-3 and MIT) | Python 3.10+ per the APIFlask docs |
| Falcon | Lean REST services with few dependencies | Free (Apache 2.0) | CPython 3.9+, PyPy 3.9+ |
| BlackSheep | Async apps with ASP.NET-style structure | Free (MIT) | Python 3.10+, CPython or PyPy |
| Sanic | Async apps that ship their own server | Free (MIT) | Python 3.10+ |
| Robyn | Experiments on a Rust runtime | Free (BSD-2-Clause) | Python 3.10+ |
Litestar
Handlers in Litestar look like FastAPI handlers: typed parameters in, typed objects out, OpenAPI generated from the signatures. The difference is how much ships in the box. The docs list dependency injection, DTOs, SQLAlchemy and Piccolo integration, caching, sessions, JWT, CSRF, rate limiting and Prometheus metrics. Models can be Pydantic, dataclasses, TypedDict or msgspec Structs, so you are not tied to one validation library.
Version 2.25.0 came out on October 18, 2026 under the MIT licence. Governance is the other draw for FastAPI users who worry about a single author. The docs describe a community project led by five maintainers and funded through Polar, GitHub Sponsors and Open Collective. Class-based controllers are part of the core, where FastAPI needs an extension.
Best for: FastAPI users who want the same handler style plus auth, DTOs and ORM plugins without picking extra packages.
Pricing:
- Framework: free, MIT licence
- No paid tier or hosted service; funding comes from sponsors
Watch out for:
- Version 3 is in development, and 2.x has already deprecated modules such as litestar.plugins.sqlalchemy for removal in v3, per the release notes.
- The community is far smaller. In the 2024 Python Developers Survey 38% of respondents used FastAPI, while Litestar was not listed separately. Expect fewer tutorials and Stack Overflow answers.
Official site: Litestar.
Django Ninja
If your data already lives in Django models, Django Ninja is the shortest path to FastAPI-style endpoints. The project's motivation page says it is heavily inspired by FastAPI and copies its type-hint routing, Pydantic validation and automatic docs. You mount the API in urls.py, keep the admin, migrations and user model, and read the logged-in user from request.auth instead of repeating Depends() in every signature.
The same page explains why running the Django ORM from FastAPI goes wrong: Django expects to manage database connections around each request, and outside Django you get closed connections. Ninja avoids that. The stable release is 1.7.3 from October 29, 2026, and a 1.8.0 beta landed on November 5, 2026. It is MIT licensed.
Best for: Django projects that want typed, Pydantic-validated endpoints without running a second service.
Pricing:
- Free, MIT licence
- No paid edition; the project takes sponsors
Watch out for:
- A production user on the Django Forum wrote in September 2025 that Ninja was struggling with maintenance and behind on issues and PRs, and pointed to a more active fork, django-shinobi.
- Schemas are Pydantic classes renamed Schema and ModelSchema, so a team new to Pydantic learns two model systems at once.
Official site: Django Ninja.
Django REST Framework
DRF is the older, heavier route into Django. Serializers, viewsets and routers turn models into CRUD endpoints with very little code, and the browsable API lets anyone click through endpoints in a browser. Authentication policies and OAuth add-ons are documented in one place, which matters on big teams.
Version 3.18.3 shipped on October 6, 2026 under BSD-3-Clause. It supports Python 3.10+ and Django 5.2, 6.0 and 6.1. Django itself is on 6.1.3 from November 3, 2026 and now needs Python 3.12. Compared with FastAPI you get far more conventions and far fewer type hints: validation lives in serializer classes, not function signatures.
Best for: Teams with a large Django codebase who value conventions and the browsable API over raw speed.
Pricing:
- Free, BSD-3-Clause licence
- Funding by sponsorship at fund.django-rest-framework.org, no paid tier
Watch out for:
- Built-in OpenAPI schema generation is deprecated. The docs send you to drf-spectacular, an extra dependency FastAPI users never needed.
- In a September 2025 Django Forum thread, the opening post described DRF as no longer under active development, and a reply from carltongibson called its serializers last generation and slow.
Official site: Django REST Framework. Our listing: Django REST Framework.
Flask with APIFlask
Plain Flask has no request validation or OpenAPI output. APIFlask adds both on top of it: @app.input() and @app.output() decorators, automatic serialization, JSON error responses and interactive docs in Swagger UI, Redoc, Elements or RapiDoc. You can pick marshmallow or Pydantic for schemas, so FastAPI models can often move across.
Flask is on 3.1.3 from February 19, 2026 (BSD-3-Clause). APIFlask 3.1.3 followed on November 2, 2026 under MIT. Every Flask extension still works, which is the main reason to choose this pair over something newer.
Best for: Existing Flask apps, or teams who know Flask, that need typed input and generated docs.
Pricing:
- Flask: free, BSD-3-Clause
- APIFlask: free, MIT
Watch out for:
- Flask is WSGI. The Flask docs say async views still tie up one worker per request, and they suggest Quart for a mostly async codebase. Moving async FastAPI code here can cut concurrency.
Official site: Flask with APIFlask. Our listing: Flask with APIFlask.
Falcon
Falcon goes the other way from FastAPI: fewer features, more control. The README says it has no dependencies outside the standard library, compiles itself with Cython when available, and runs on CPython 3.9+ and PyPy 3.9+. One app can speak WSGI or ASGI and handle WebSockets.
Routes map to resource classes with on_get and on_post methods, so the code reads like the HTTP spec. Version 4.4.0 was released on September 30, 2026 under Apache 2.0, after 4.3.0 in June. That steady cadence suits services you plan to run for years.
Best for: Long-lived REST services where a small dependency tree and predictable behaviour matter more than generated docs.
Pricing:
- Free, Apache 2.0 licence
- No commercial edition
Watch out for:
- The FAQ states that Falcon does not provide API spec support out of the box. OpenAPI and request validation come from community add-ons or a msgspec recipe you wire up yourself.
Official site: Falcon.
BlackSheep
C# developers will recognise the shape of BlackSheep. The README names Flask and ASP.NET Core as inspirations, and the CLI can scaffold an MVC project with controllers. OpenAPI docs are generated for common REST cases, with Swagger UI by default and ReDoc or Scalar as options.
Since version 2.3.1 it also runs on PyPy, and the maintainers suggest PyPy with Granian or Socketify for the best throughput. The current release is 2.6.4 from October 11, 2026, MIT licensed, Python 3.10+. Its HTTP client supports HTTP/2.
Best for: Async API teams who like controllers and dependency injection in the ASP.NET Core style.
Pricing:
- Free, MIT licence
Watch out for:
- The project leans on one person. The docs list Roberto Prevato as the author, so check the issue tracker's response times before you bet a product on it.
Official site: BlackSheep.
Sanic
Sanic is both a framework and a production web server, so you can run an app without Uvicorn or Gunicorn. It is still ASGI compliant if you prefer another server, and it uses uvloop and ujson for speed, per the README. The project is community maintained and funded through Open Collective.
The FastAPI features live in a separate package. Installing sanic[ext] adds Sanic Extensions: OpenAPI docs in Redoc or Swagger, request validation, dependency injection and CORS. The latest release is 25.12.1 from May 31, 2026 under MIT, for Python 3.10+.
Best for: Async services that want one package for the app and the server.
Pricing:
- Free, MIT licence
- Donations through Open Collective, no paid tier
Watch out for:
- Releases have slowed. Sanic's version numbers follow the year and month, yet PyPI history shows only 25.3.0 and 25.12.0 in 2025 and nothing past a 25.12.1 patch in 2026.
Official site: Sanic.
Robyn
Robyn swaps the Python server for a multithreaded Rust runtime. You write ordinary sync or async Python handlers, start the app with python app.py, and tune processes and workers from the command line. Swagger docs are served at /docs, and Pydantic models in handler signatures validate the request body.
The licence is BSD-2-Clause and Python 3.10+ is required. Version 0.88.0 shipped on June 25, 2026. It is the most experimental pick here.
Best for: Side projects and benchmarks where you want Rust-level I/O without leaving Python.
Pricing:
- Free, BSD-2-Clause licence
Watch out for:
- PyPI still classifies Robyn as Alpha, and release history shows eight minor versions from 0.81.0 in March to 0.88.0 in June 2026. Pin the version and read the changelog before every upgrade.
Official site: Robyn.
How to choose
| If you need | Pick |
|---|---|
| The closest replacement with the same handler style | Litestar |
| Typed endpoints in an existing Django project | Django Ninja |
| Model-driven CRUD and a browsable API on Django | Django REST Framework |
| OpenAPI docs for a Flask app you already run | Flask with APIFlask |
| A minimal dependency tree and PyPy support | Falcon |
| Controllers and an MVC layout like ASP.NET Core | BlackSheep |
| One package for the app and the web server | Sanic |
| Trying a Rust runtime behind Python handlers | Robyn |
When to stay with FastAPI
Stay on FastAPI if your pain is only the version churn. Pinning the release and reading the release notes before each upgrade costs less than a rewrite. Its user base is the largest of any option here, at 38% of the 2024 Python Developers Survey, so answers and examples are easy to find. The same team also runs FastAPI Cloud, and the fastapi deploy command pushes an app there in one step.
Frequently asked questions
What is the best alternative to FastAPI?
For a standalone service, Litestar. Your handlers keep the same shape, and you gain DTOs, msgspec support and built-in auth and rate limiting. If the project is already on Django, use Django Ninja instead, because the Django ORM does not behave well when called from FastAPI.
Is FastAPI free?
The framework is free under the MIT licence. FastAPI Cloud, the hosting service from the same team, has a free Hobby plan with 3 apps, 1 seat and 180 Nano replica-hours. Pro costs $20 per seat per month. The pricing page says usage billing has not started yet and users will be told before it does.
Is there a FastAPI alternative for Node.js or Java?
On Node.js, NestJS is the nearest match in structure. It is MIT licensed and its 12.x core needs Node 20+. Express 5.3.0 is smaller and leaves validation to you. For Java and Kotlin options, see our Spring Boot alternatives.
Is Flask or Django better than FastAPI?
They solve a different problem. Django brings an ORM, admin and migrations, and Flask brings a huge extension catalogue. Neither validates requests from type hints on its own. Add Django Ninja or APIFlask and you get close to the FastAPI workflow while keeping those ecosystems.