Crumbs is a personal recipe API built with FastAPI, SQLModel, and SQLite.
- Public read endpoints for recipes
- API key-protected write endpoints (create, update, delete)
- Search recipes by title or ingredient
- Python 3.13
- FastAPI
- SQLModel
- SQLite
- uv
- Create and sync environment:
uv sync- Set an API key:
cp .env.example .env- Run the API:
uv run uvicorn app.main:app --reloadThe API will be available at http://127.0.0.1:8000.
Interactive docs: http://127.0.0.1:8000/docs.
Write endpoints require the X-API-Key header:
X-API-Key: your-secret-key
GET /health- health checkGET /recipes- list recipes (optionalsearchquery)GET /recipes/{recipe_id}- get a recipe by IDPOST /recipes- create recipe (protected)PATCH /recipes/{recipe_id}- update recipe (protected)DELETE /recipes/{recipe_id}- delete recipe (protected)