RecetteClic

API v1 · read-only · no key

RecetteClic developer documentation

Public, read-only access to the RecetteClic recipe directory: community recipes structured by AI from TikTok, YouTube, Instagram videos and websites, with ingredients, steps, timings and estimated nutrition. Three interfaces over the same data: a REST API, an MCP server and an A2A agent.

Authentication

None. Every endpoint documented here is public and read-only: no account, no API key, no OAuth. Requests are limited per IP (see Rate limits).

When you show a recipe, link its page (https://recetteclic.app/<locale>/r/<slug>) and credit the original creator (originalAuthor, sourceUrl). Recipes with isPublic: false are shared by link only: do not list or republish them.

Base URL and versioning

https://api.recetteclic.app/v1
  • The major version is in the path: /v1. Within a version, changes are additive only: new endpoints, new optional parameters, new response fields. Ignore fields you do not know.
  • A breaking change ships as a new version (/v2); the previous one keeps working until its sunset date.
  • Deprecation is announced at least 6 months before removal, by the Deprecation header (RFC 9745) and the Sunset header (RFC 8594) on every response of the affected endpoint, and on this page.
  • Machine-readable description: OpenAPI 3.1.

Language

Recipe text is served in French, English or Spanish. Send the x-rc-locale header (fr, en or es, default fr); a missing translation falls back to the original text.

curl -sS -H 'x-rc-locale: en' 'https://api.recetteclic.app/v1/recipes/by-slug/tarte-aux-figues-jepfsanl'

GET /v1/recipes/public/list — Search or browse public recipes

Newest first. q matches the original title, description and tags (mostly French); ingredients are not searched.

ParameterInTypeDescription
qquerystring, max 80 charsKeyword matched against the original title, description and tags.
tagquerystringCategory slug from /recipes/public/tags.
pagequeryinteger, default 1Page number, from 1.
limitqueryinteger, default 30, max 60Results per page.
x-rc-localeheaderstring, fr / en / es, default frLanguage of the returned recipe text.
curl -sS 'https://api.recetteclic.app/v1/recipes/public/list?q=lasagne&limit=5'

GET /v1/recipes/public/tags — Public recipe categories with their volume

curl -sS 'https://api.recetteclic.app/v1/recipes/public/tags'

GET /v1/recipes/by-slug/{slug} — Full recipe by slug

Ingredients, steps, servings, timings, estimated nutrition per serving, source and author. Also serves recipes shared by link only (isPublic: false); do not list or republish those.

ParameterInTypeDescription
slugpathstring
x-rc-localeheaderstring, fr / en / es, default frLanguage of the returned recipe text.
curl -sS 'https://api.recetteclic.app/v1/recipes/by-slug/tarte-aux-figues-jepfsanl'

GET /v1/health — Service status

curl -sS 'https://api.recetteclic.app/v1/health'

Errors

Every 4xx and 5xx response has a JSON body with a stable machine-readable error code and a human-readable message. Switch on error, never on message.

{ "error": "not_found", "message": "No recipe with this slug." }
StatuserrorWhen
404not_foundUnknown path, or no recipe with this slug.
429rate_limitedMore than 120 requests per 60 s from one IP. Wait Retry-After seconds.
500internal_errorUnexpected server error. Safe to retry with backoff.

Rate limits

The REST API allows 120 requests per 60 seconds per IP. Every response announces the quota, so you can throttle before you hit it:

RateLimit-Policy: "public-v1";q=120;w=60
RateLimit: "public-v1";r=117;t=48
RateLimit-Limit: 120
RateLimit-Remaining: 117
RateLimit-Reset: 48
  • RateLimit and RateLimit-Policy follow the IETF draft draft-ietf-httpapi-ratelimit-headers: q = requests per window, w = window in seconds, r = requests left, t = seconds until reset.
  • RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset carry the same values in the older, widely parsed form.
  • Over the limit: 429 with Retry-After (seconds) and { "error": "rate_limited", "retryAfterSec": … }. Wait that long, then retry.
  • The MCP server and the A2A agent allow 60 requests per minute per IP, with the same headers.

MCP server and A2A agent

  • MCP (streamable HTTP, stateless, no auth): https://recetteclic.app/agents/mcp. Tools: search_recipes, get_recipe, list_categories, about_recetteclic. Server card.
  • A2A (JSON-RPC): https://recetteclic.app/agents/a2a. Agent card.
  • Any public page of recetteclic.app is also served as markdown with the Accept: text/markdown header.

Discovery documents

Contact

Questions, higher limits or a bug: hello@recetteclic.app.