---
title: "Starlette vs FastAPI: what FastAPI actually adds"
url: https://daily.dev/posts/starlette-vs-fastapi-what-fastapi-actually-adds-i0hybgyd5
source_url: https://www.honeybadger.io/blog/starlette-vs-fastapi
type: article
source: "Honeybadger"
published: 2026-07-20T11:20:50.455Z
updated: 2026-07-20T11:21:15.175Z
tags: ["python", "fastapi", "pydantic"]
reading_time: 12
upvotes: 1
comments: 0
language: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Starlette vs FastAPI: what FastAPI actually adds

**[Honeybadger](https://daily.dev/sources/honeybadger)** · 12 min read · 1 upvotes · 0 comments

## Summary

FastAPI is built on Starlette and Pydantic, and understanding where each layer begins and ends clarifies when to use each. Starlette provides the ASGI foundation: routing, middleware, WebSockets, request/response objects, and async support. Pydantic handles data validation and JSON Schema generation. FastAPI's contribution is wiring your function type hints to both — automatically parsing and validating request data, serializing responses, generating OpenAPI docs (Swagger UI and ReDoc), and providing dependency injection. Middleware, WebSocket primitives, and async behavior are identical in both frameworks since FastAPI re-exports Starlette's implementations. Starlette is the better choice for webhook receivers, WebSocket-heavy services, custom request parsing, or when minimizing dependencies matters. For typical CRUD APIs and internal services where automatic validation and docs add value, FastAPI's layer is worth the trade. A key performance gotcha: sync `def` handlers run in a threadpool capped at 40 workers by default, which can cause queuing under load.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.honeybadger.io/blog/starlette-vs-fastapi>

---

Tags: [#python](https://daily.dev/tags/python), [#fastapi](https://daily.dev/tags/fastapi), [#pydantic](https://daily.dev/tags/pydantic)

[View this post on daily.dev](https://daily.dev/posts/starlette-vs-fastapi-what-fastapi-actually-adds-i0hybgyd5)
