Merran documentation API & integrations
The newest recipes from followed sites
GET
/api/sites/recipes
const url = 'http://localhost:3000/api/sites/recipes';const options = { method: 'GET', headers: {cookie: 'merran.session_token=<merran.session_token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://localhost:3000/api/sites/recipes \ --cookie merran.session_token=<merran.session_token>Up to 24, newest first, from every site the household follows: for Recipes’ spotlight and Today’s idea for tonight. With an API key, it needs the recipes: read permission.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Their newest recipes.
Media typeapplication/json
object
recipes
required
Array<object>
object
id
required
string
url
required
The recipe’s page, to import at POST /recipes/import.
string
name
required
string
site
required
string
description
required
The recipe’s own short description, when the site gives one.
string | null
minutes
required
number | null
courses
required
What its site says it is, in Merran’s words; empty when it doesn’t say.
Array<string>
photo
required
A small copy of its photo, through Merran.
string | null
publishedAt
required
string | null format: date-time
inLibrary
required
The household’s recipe from it, if it has one.
object
slug
required
string
name
required
string
suits
required
False when it has a food the household avoids, or is off its diets.
boolean
Example
{ "recipes": [ { "id": "0199e8b0-5a10-7a01-8b00-000000000031", "url": "https://www.recipetineats.com/honey-garlic-chicken/", "name": "Honey Garlic Chicken", "site": "RecipeTin Eats", "description": "Juicy chicken in a sticky honey garlic sauce, in 12 minutes.", "minutes": 12, "courses": [ "main" ], "photo": "/api/sites/recipes/0199e8b0-5a10-7a01-8b00-000000000031/photo", "publishedAt": "2026-10-01T17:30:00.000Z", "inLibrary": null, "suits": true }, { "id": "0199e8b0-5a10-7a01-8b00-000000000032", "url": "https://www.recipetineats.com/lemon-chicken/", "name": "Lemon Chicken", "site": "RecipeTin Eats", "description": null, "minutes": 35, "courses": [ "main" ], "photo": "/api/sites/recipes/0199e8b0-5a10-7a01-8b00-000000000031/photo", "publishedAt": "2026-10-01T17:30:00.000Z", "inLibrary": { "slug": "lemon-chicken", "name": "Lemon Chicken" }, "suits": true } ]}Not signed in.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string
Example
{ "error": { "code": "not_found", "message": "There's nothing here.", "fields": { "name": "Give it a name." } }}Not allowed.
Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string
Example
{ "error": { "code": "not_found", "message": "There's nothing here.", "fields": { "name": "Give it a name." } }}© 2026 Kyle Johnson. Documentation: CC BY 4.0. Merran: AGPL-3.0-or-later.