---
title: "Python on Vercel"
description: "Keep your Python stack and ship it with your frontend. Build a FastAPI + Next.js furniture app deployed as one Vercel project."
canonical_url: "https://vercel.com/academy/python-on-vercel"
md_url: "https://vercel.com/academy/python-on-vercel.md"
docset_id: "vercel-academy"
doc_version: "1.0"
last_updated: "2026-05-09T23:24:01.106Z"
content_type: "course"
lessons: 6
estimated_time: 
lesson_urls:
  - "https://vercel.com/academy/python-on-vercel/install-vercel-cli.md"
  - "https://vercel.com/academy/python-on-vercel/explore-fastapi-starter.md"
  - "https://vercel.com/academy/python-on-vercel/explore-nextjs-starter.md"
  - "https://vercel.com/academy/python-on-vercel/run-with-vercel-dev.md"
  - "https://vercel.com/academy/python-on-vercel/wire-nextjs-to-fastapi.md"
  - "https://vercel.com/academy/python-on-vercel/deploy-to-prod.md"
---

<agent-instructions>
Vercel Academy — structured learning, not reference docs.
Lessons are sequenced.
Adapt commands to the human's actual environment (OS, package manager, shell, editor) — detect from project context or ask, don't assume.
The lesson shows one path; if the human's project diverges, adapt concepts to their setup.
Preserve the learning goal over literal steps.
Quizzes are pedagogical — engage, don't spoil.
Quiz answers are included for your reference.
</agent-instructions>

# Python on Vercel

Python developers hear "Vercel" and think "that's for frontend." Reasonable assumption. Every example is JavaScript, every tutorial starts with Next.js.

Except Vercel also runs Python. FastAPI, Flask, Django. Which means your backend and your frontend can live in the same project, not spread across two deployment targets, two sets of environment variables, and two sets of things that can break at 2am.

This course puts both apps in a single Vercel project.

You'll start with two pre-built starter apps: a FastAPI backend with an inventory endpoint and a Next.js 16 frontend displaying furniture listings. By the end, both are deployed together on Vercel under one domain, with no second dashboard and no split deployments.

Course repo: [vercel-labs/academy-python-course](https://github.com/vercel-labs/academy-python-course)

## What You'll Build

A furniture inventory app. The FastAPI backend serves product data from an `/api/items` endpoint. The Next.js frontend fetches and displays those listings. Both deployed together on Vercel.

## Prerequisites

- Python 3.12+
- Familiarity with FastAPI (you've written routes and run a dev server)
- Basic Node.js and npm knowledge (enough to run a Next.js app)
- A Vercel account (the hobby plan is fine for everything in this course)

## Optional Companion Skill

This course has a companion Academy skill that helps you debug `vercel dev`, route matching in `api/index.py`, wiring `app/page.tsx` to `/api/items`, and deployment checks.

Install it once:

```bash
npx skills add vercel-labs/academy-skills --skill=python-on-vercel -y
```

Then invoke it in chat with prompts like:

- "Use the `python-on-vercel` skill and check why `/api/items` returns 404."
- "Use the `python-on-vercel` skill and review my `starter/app/page.tsx` wiring."
- "Use the `python-on-vercel` skill and walk me through deploy verification."

## What's Covered

**Section 1: Setup.** Install the Vercel CLI and get both starter apps running locally.

**Section 2: Connect the Apps.** Run both apps together under one local URL with `vercel dev`, then wire the Next.js fetch to the FastAPI `/api/items` endpoint.

**Section 3: Deploy to Vercel.** Ship both apps to Vercel with a single command and verify they work end-to-end in production.


---

[Full course index](/academy/llms.txt) · [Sitemap](/academy/sitemap.md)
