Get a recipe
Fetch a single recipe by its id, with structured ingredients, numbered steps, times, nutrition and media.
/recipes/{id}API keyReturns one recipe in full. The id is the opaque string a list or search response carries in its `id` field; it is not a slug and not the source URL. `servings` rewrites the recipe for a different number of servings.
Request
curl 'https://api.tinyplates.dev/recipes/6a9820e58f8122ec891b68a3' \
-H 'Authorization: Bearer rd_your_api_key'Sign in to run this request with your own key. Free, 500 requests a day.
Parameters
idstringrequiredThe recipe id, from a list or search response.
servingsinteger1–100Rewrite every quantity for this many servings (1–100). Ranges scale with them; an ingredient with no quantity, such as "salt to taste", is left alone; `original` still holds the line the source published. Per-serving nutrition does not change. A recipe that does not say what it makes returns 400.
unitsstringRewrite the recipe in "metric" or "imperial" units. Mass and volume are converted, oven temperatures with them, and a volume becomes a weight when a density is known for the ingredient. Spoons, counts such as cloves, and units already in the target system are left alone. Anything unknown returns 400.
Response
What the unit conversion did. Present only when `units` was given.
The same nutrition told twice: for one serving, which is what recipes are compared on, and for the whole recipe, which is what the cook is making. Present only when the recipe carries nutrition and says how many servings it makes; figures published per 100 g cannot be split this way and are left out. Scaling with `servings` changes the whole-recipe figures and leaves the per-serving ones alone.
The recipe.
Example
{
"recipe": {
"id": "6a9820e58f8122ec891b68a3",
"author": {
"name": "Lindsay Ostrom",
"url": "https://pinchofyum.com/about"
},
"description": "This peanut butter dark chocolate hummus is a sweet alternative to traditional hummus. Perfect served on graham crackers as an afternoon snack!",
"instructions": [
{
"step": 1,
"text": "Blend everything through milk in a food processor."
},
{
"step": 2,
"text": "Add flour by the spoonful and blend until desired consistency is reached."
},
{
"step": 3,
"text": "Stir in dark chocolate."
},
{
"step": 4,
"text": "Chill before serving."
}
],
"language": "en",
"media": [
{
"id": "hero",
"role": "hero",
"type": "image",
"url": "https://pinchofyum.com/tachyon/2011/05/Peanut-Butter-Dark-Chocolate-Hummus.jpeg?fit=225%2C225",
"variants": [
{
"url": "https://pinchofyum.com/tachyon/2011/05/Peanut-Butter-Dark-Chocolate-Hummus.jpeg?fit=195%2C195"
},
{
"url": "https://pinchofyum.com/tachyon/2011/05/Peanut-Butter-Dark-Chocolate-Hummus.jpeg?fit=180%2C180"
},
{
"url": "https://pinchofyum.com/tachyon/2011/05/Peanut-Butter-Dark-Chocolate-Hummus.jpeg"
}
]
}
],
"nutrition": {
"basis": {
"type": "serving"
},
"calories": {
"unit": "kcal",
"value": 201
},
"carbohydrates": {
"unit": "g",
"value": 29.4
},
"cholesterol": {
"unit": "mg",
"value": 0.8
},
"fat": {
"unit": "g",
"value": 7.4
},
"fiber": {
"unit": "g",
"value": 3.3
},
"micronutrients": {
"trans-fat": {
"unit": "g",
"value": 0
}
},
"protein": {
"unit": "g",
"value": 5.6
},
"saturatedFat": {
"unit": "g",
"value": 2.5
},
"sodium": {
"unit": "mg",
"value": 76
},
"source": "provided",
"sugar": {
"unit": "g",
"value": 16.9
}
},
"rating": {
"count": 1,
"reviewCount": 1,
"value": 5
},
"servings": {
"max": 8,
"original": "6-8",
"quantity": 6
},
"times": {
"cook": {
"seconds": 600
},
"prep": {
"seconds": 300
},
"total": {
"seconds": 900
}
},
"title": "Peanut Butter Dark Chocolate Hummus",
"categories": [],
"courses": [
"dessert"
],
"createdAt": "2026-09-02T13:13:09.089Z",
"cuisines": [
"american"
],
"ingredients": [
{
"display": "1 can white beans or chickpeas, rinsed",
"name": "white beans or chickpeas",
"optional": false,
"preparation": "rinsed",
"quantity": {
"unit": "can",
"value": 1
}
},
{
"display": "¼ cup peanut butter",
"name": "peanut butter",
"optional": false,
"quantity": {
"unit": "cup",
"value": 0.25
}
},
{
"display": "2 tbsp caramel sauce",
"name": "caramel sauce",
"optional": false,
"quantity": {
"unit": "tbsp",
"value": 2
}
},
{
"display": "2 tbsp maple syrup",
"name": "maple syrup",
"optional": false,
"quantity": {
"unit": "tbsp",
"value": 2
}
},
{
"display": "¼ cup brown sugar",
"name": "brown sugar",
"optional": false,
"quantity": {
"unit": "cup",
"value": 0.25
}
},
{
"display": "pinch of cinnamon",
"name": "pinch of cinnamon",
"optional": false
},
{
"display": "¼ cup milk",
"name": "milk",
"optional": false,
"quantity": {
"unit": "cup",
"value": 0.25
}
},
{
"display": "¼ cup flour",
"name": "flour",
"optional": false,
"quantity": {
"unit": "cup",
"value": 0.25
}
},
{
"display": "chopped dark chocolate",
"name": "chopped dark chocolate",
"optional": false
}
],
"tags": [
"chocolate hummus",
"peanut butter hummus",
"peanut butter chocolate",
"hummus recipe",
"dessert hummus"
],
"text": {
"ingredients": [
"1 can white beans or chickpeas, rinsed",
"¼ cup peanut butter",
"2 tbsp caramel sauce",
"2 tbsp maple syrup",
"¼ cup brown sugar",
"pinch of cinnamon",
"¼ cup milk",
"¼ cup flour",
"chopped dark chocolate"
],
"instructions": [
"Blend everything through milk in a food processor.",
"Add flour by the spoonful and blend until desired consistency is reached.",
"Stir in dark chocolate.",
"Chill before serving."
]
},
"updatedAt": "2026-09-06T01:11:59.223Z",
"url": "https://pinchofyum.com/pb-dark-chocolate-hummus"
}
}Errors
- 404
Recipe not found.
No recipe has that id. Ids are opaque strings from a list or search response, not slugs.
- 400
The "servings" parameter must be a whole number between 1 and 100; got "0".
A parameter was not a value the API accepts. The message names the parameter, the value it was given and where the allowed values are listed.
- 400
This recipe does not say how many servings it makes, so it cannot be scaled. Request it without the "servings" parameter.
A parameter was not a value the API accepts. The message names the parameter, the value it was given and where the allowed values are listed.
- 400
The "units" parameter must be "metric" or "imperial"; got "stones".
A parameter was not a value the API accepts. The message names the parameter, the value it was given and where the allowed values are listed.
- 401
An API key is required. Pass it as an Authorization: Bearer header.
No key was sent, and this deployment requires one. Keys are optional today and will become required.
- 401
Invalid API key.
The key does not exist. Check for a truncated copy, or create a new one on your dashboard.
- 401
This API key has been disabled.
The key was revoked. Create a new one on your dashboard.
- 401
This API key has expired.
The key was created with an expiry that has passed. Create a new one.
- 429
Rate limit exceeded for this API key. Try again later.
The account has used its 500 requests for the day. The allowance is per account, so another key will not help. It resets at midnight UTC.
- 500
Something went wrong. Please try again.
The API could not answer. The request was not your fault; retry it, and report it if it keeps happening.