API Reference
All endpoints return JSON. Every recipe response includes sourceUrl and sourceSite for attribution.
GET
/api/v1/recipesList recipes with filters and pagination.
Parameters
| Name | Type | Description |
|---|---|---|
| q | string | Full-text search query |
| source | string | Filter by source site |
| cuisine | string | Filter by cuisine |
| category | string | Filter by category |
| max_time | number | Max total time in minutes |
| limit | number | Max results (default 20, max 100) |
| offset | number | Pagination offset (default 0) |
Response
{
"total": 142,
"limit": 20,
"offset": 0,
"results": [
{
"id": "uuid",
"slug": "creamy-garlic-parmesan-pasta",
"title": "Creamy Garlic Parmesan Pasta",
"sourceUrl": "https://...",
"sourceSite": "recipetineats",
...
}
]
}Examples
curl https://lady.recipes/api/v1/recipes \
-H "Accept: application/json"GET
/api/v1/recipes/random?source=Get a random recipe. Optional source filter.
Response
{
"id": "uuid",
"slug": "chocolate-pudding-pots",
"title": "Chocolate Pudding Pots",
...
}Examples
curl https://lady.recipes/api/v1/recipes/random?source= \
-H "Accept: application/json"GET
/api/v1/recipes/:slugGet a single recipe by slug.
Response
{
"id": "uuid",
"slug": "lamb-tagine",
"title": "Lamb tagine",
"ingredients": [...],
"instructions": [...],
...
}Examples
curl https://lady.recipes/api/v1/recipes/:slug \
-H "Accept: application/json"GET
/api/v1/sourcesList all sources with recipe counts and last scraped time.
Response
[
{ "site": "recipetineats", "count": 42, "lastScraped": "2026-06-22T..." },
...
]Examples
curl https://lady.recipes/api/v1/sources \
-H "Accept: application/json"GET
/api/v1/categoriesList all categories (sorted, unique).
Response
["cakes", "chicken", "pasta", ...]Examples
curl https://lady.recipes/api/v1/categories \
-H "Accept: application/json"GET
/api/v1/cuisinesList all cuisines (sorted, unique).
Response
["american", "italian", "mexican", ...]Examples
curl https://lady.recipes/api/v1/cuisines \
-H "Accept: application/json"GET
/api/v1/healthHealth check with recipe count.
Response
{
"status": "ok",
"recipeCount": 142,
"lastScrape": "2026-06-22T..."
}Examples
curl https://lady.recipes/api/v1/health \
-H "Accept: application/json"