
Next.js + FastAPI + Bindings
This example shows a monorepo using Vercel Services with a Next.js frontend and a private FastAPI backend.
Demo
https://nextjs-fastapi-services-bindings.vercel.app/
How it works
The project is structured as a monorepo:
nextjs-fastapi-bindings/├── backend/├── frontend/└── vercel.json
Services are configured in vercel.json:
{"services": {"frontend": {"root": "frontend/","framework": "nextjs","bindings": [{"type": "service","service": "backend","format": "url","env": "BACKEND_URL"}]},"backend": { "root": "backend/", "entrypoint": "main:app" }},"rewrites": [{"source": "/(.*)","destination": { "type": "service", "service": "frontend" }}]}
Vercel will route all requests to the frontend. Next.js API routes will be able to access the backend at BACKEND_URL.
Running Locally
vercel dev
Open http://localhost:3000 and try:
/api/hello(Next.js API route)/svc/api/status(FastAPI via Next.js API route)
Learn More
- Vercel Services - learn how services work on Vercel.
- Next.js Documentation - learn about Next.js features and API.
- FastAPI Documentation - learn about FastAPI features and API.


