Starlette Starter is a Vercel template that deploys a Python Starlette API application to Vercel with zero configuration. It is maintained by Vercel as part of their examples collection, providing a minimal yet functional Starlette app that runs as a serverless function on Vercel's platform. The template takes the boilerplate source code and produces a live HTTPS endpoint, either via one-click deployment, the Vercel CLI, or a git push.
What makes Starlette Starter stand out?
- Zero-configuration serverless deploy — Running
vercel --prodfrom the project root deploys the Starlette app to Vercel without needing a custom server or Dockerfile. - Starlette ASGI framework — The app is built with Starlette, a lightweight ASGI framework that supports async routing, middleware, and WebSockets.
- Automatic local reload —
python main.pystarts a development server at http://0.0.0.0:5001 that reloads automatically when you edit your code. - Dependency management flexibility — Install dependencies either with
pip install .after creating a virtual environment, or useuv syncif using the uv package manager. - Git integration support — Connect the repository to Vercel through its git integration, and every push to your repository triggers a new production deployment.
- Open source example — The full source code is available in Vercel's examples repository on GitHub, allowing you to study or modify every file.
Who should use Starlette Starter?
- Python backend developers — Need a ready-to-deploy Starlette API on Vercel without writing deployment configuration from scratch.
- Full-stack developers — Want a reference implementation for deploying Python ASGI apps on Vercel to complement a frontend built in any framework.
- Developers new to serverless Python — Use the template as a learning tool to understand how Starlette maps to Vercel serverless functions.
What can you do with Starlette Starter?
- Build a REST API: Add your own routes to
main.pyand deploy them as serverless functions that scale automatically on Vercel. - Prototype a backend quickly: Take advantage of the auto-reloading local server to iterate, then run
vercel --prodto go live. - Explore Python on Vercel: Use the starter as a foundation to experiment with other ASGI frameworks, since the same deployment pattern applies to FastAPI or Quart.
How does Starlette Starter work?
The template has a main.py file that creates a Starlette application. For local development, you can create a virtual environment, install the package with pip install ., and run python main.py to serve the app at port 5001. To deploy, install the Vercel CLI globally with npm install -g vercel, then run vercel --prod from the project directory. Alternatively, you can push the repository to GitHub and connect it to Vercel for automatic deployments on every push.
Frequently asked questions
Is Starlette Starter free to use?
The template code is open source and freely available in Vercel's examples repository. Deploying it requires a Vercel account; Vercel's hosting plans have their own pricing, which is not documented on this page.
How do I deploy Starlette Starter to Vercel?
Install the Vercel CLI with npm install -g vercel, then run vercel --prod from the project folder. Alternatively, connect your GitHub repository to Vercel using its git integration, and deployments happen automatically on each push.
Does the development server support hot reload?
Yes, running python main.py starts a server at port 5001 that automatically reloads when you make changes to your project.
What dependencies do I need?
You need Python and pip, or uv. The template uses a virtual environment; you can set it up with python -m venv .venv and activate it before installing.





