FastAPIInteractiveOpen the editor →

61 interactive lessons · free

Learn FastAPI by writing FastAPI.

Not videos. Not snippets to copy. Every lesson is an exercise you complete in a real editor, checked by a real test suite, running a real FastAPI server — inside your browser tab.

Don't believe it? Hit Run for real in the editor — it boots an actual Python 3.12 server in this tab and sends the request.

Prefer a blank page? The playground is the same runtime with nothing to complete.

1from fastapi import FastAPI
2
3app = FastAPI()
4
5@app.get("/users/{user_id}")
6async def get_user(user_id: int, q: str | None = None):
7 return {"user_id": user_id, "q": q}
Outputexample response
GET/users/42?q=hi200 OK
{"user_id": 42, "q": "hi"}
lessons
61
tracks
3
install steps
0
python
3.12
runs in
your browser

Curriculum

61 lessons across 3 tracks — first route to auth, databases, WebSockets and testing. Start anywhere.

At the end of every track

A certificate anyone can check

Finish every lesson of a track and get a certificate of completion with your name on it: a PDF for printing, an image for LinkedIn, and a public page that anyone can open to verify it, by serial number or by scanning the code.

price
€19 per track
issued
the moment the last lesson passes
formats
PDF · PNG · link
verification
public page + QR code

The lessons stay free. The certificate is the only thing here that costs money, and you decide at the end, not the start.

Sample certificate of completion for the FastAPI Basics track, with the holder's name, the topics covered, a serial number and a verification code
Sample. Every real certificate carries its own serial and verification link.

Why this beats reading the docs

runtime
A real FastAPI server, not a simulation. Routes, validation errors and status codes behave exactly as they do in production.
grading
Every exercise ships a test suite. Write the code, run it, and get told precisely what is missing.
setup
None. No virtualenv, no Docker, no dependency conflicts — the runtime boots in the tab.
projects
Later tracks use real layouts with routers, models and dependencies across modules.
client
A built-in request client and live Swagger UI exercise the endpoints you just wrote.
solutions
A worked solution and a hint on every exercise, so a hard lesson costs minutes, not the session.

Get new lessons in your inbox

New tutorials and platform updates. No spam, unsubscribe anytime.