Developer API

Search over a million recipes, manage bookmarks, and build shopping lists programmatically — via a REST API or by connecting an AI assistant over MCP. One token drives both.

Getting started

  1. Create a free account (or sign in).
  2. Open Account → API Tokens and create a token. Tick the permissions your integration needs: read, create, update, delete.
  3. Send the token as a bearer header on every request.
curl https://www.recipesaint.com/api/v1/recipes/search?q=lasagna \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"

The API is available on every plan, including Free. Endpoints return standard HTTP status codes; validation errors come back as 422 JSON. A route can also return 403 if your token lacks the required permission, 429 if you exceed your plan's rate limit, or 503 if the feature is currently unavailable.

Rate limits

Limits apply per account (across all your tokens). Responses carry X-RateLimit-Limit and X-RateLimit-Remaining headers; a 429 includes Retry-After.

Plan Requests / minute Requests / day Search depth
Free 15 500 25 pages × 20 results
Pro 120 20,000 100 pages × 50 results

REST API v1

Recipes

EndpointPermissionDescription
GET /api/v1/recipes/search?q=&page=&per_page=readHybrid search across the recipe index. Returns ids for the endpoints below.
GET /api/v1/recipes/{id}readRecipe detail: title, source URL, ingredients with amounts, categories.

Saved recipes (bookmarks)

EndpointPermissionDescription
GET /api/v1/saved-recipes?search=&page=&limit=readYour bookmarks, including AI-extracted precise ingredients. search is full-text over title, description, ingredients and categories, ranked by relevance; limit is the page size.
POST /api/v1/saved-recipescreateBody: {"recipe_id": "<search result id>"}. Triggers background ingredient extraction.
DELETE /api/v1/saved-recipes/{guid}deleteRemove a bookmark.

My Recipes (authored)

EndpointPermissionDescription
GET /api/v1/my-recipes?search=&page=&per_page=readRecipes you wrote (or an assistant wrote for you). search is full-text over title, description, ingredients, instructions, tags and notes, ranked by relevance. Response carries meta.total and meta.has_more.
GET /api/v1/my-recipes/{id}readOne authored recipe in full: ingredients, instructions, times, notes.

Shopping lists

EndpointPermissionDescription
GET /api/v1/shopping-listsreadAll your lists with item counts.
GET /api/v1/shopping-lists/{id}readOne list with items and checked state.
POST /api/v1/shopping-listscreateBody: {"name": "...", "items": ["2 cups flour", ...]} (items optional).
POST /api/v1/shopping-lists/{id}/itemscreateAppend an item. Body: {"name": "..."}.
PATCH /api/v1/shopping-lists/{id}updateRename / edit details.
PATCH /api/v1/shopping-lists/{id}/items/{index}updateRename an item (zero-based index).
PATCH /api/v1/shopping-lists/{id}/items/{index}/toggleupdateCheck / uncheck an item.
DELETE /api/v1/shopping-lists/{id}deleteDelete a list (default list is protected).
DELETE /api/v1/shopping-lists/{id}/items/{index}deleteRemove an item.

Menus

EndpointPermissionDescription
GET /api/v1/menusreadYour menus.
GET /api/v1/menus/{id}readOne menu with its recipes.
POST /api/v1/menuscreateBody: {"name": "...", "description": "...", "serves": 4}.
POST /api/v1/menus/{id}/recipescreateAttach a saved recipe. Body: {"saved_recipe_guid": "..."}.
PATCH /api/v1/menus/{id}updateEdit menu details.
DELETE /api/v1/menus/{id}deleteDelete a menu.
DELETE /api/v1/menus/{id}/recipes/{guid}deleteDetach a recipe from a menu.

MCP server (AI assistants)

Recipe Saint speaks the Model Context Protocol, so AI assistants like Claude can search recipes, bookmark them, and build your shopping lists in conversation. It uses the same API token as the REST API — the tools your assistant sees match the permissions you ticked when creating the token.

Connect any MCP client (Streamable HTTP transport) to:

https://www.recipesaint.com/api/mcp
Authorization: Bearer YOUR_TOKEN

Example — Claude Code:

claude mcp add recipesaint https://www.recipesaint.com/api/mcp \
  --transport http \
  --header "Authorization: Bearer YOUR_TOKEN"

Available tools: search_recipes, get_recipe, save_recipe, list_saved_recipes, search_my_library, unsave_recipe, list_shopping_lists, get_shopping_list, create_shopping_list, add_items_to_shopping_list, toggle_shopping_list_item, list_menus, create_menu, add_recipe_to_menu, list_my_recipes, get_my_recipe, create_recipe, update_recipe, list_collections, create_collection, add_recipe_to_collection, start_menu_from_collection. Search your own library in plain words: "find my recipe with chipotle and cream cheese".

Try: "Find me a weeknight pad thai recipe, save it, and put the ingredients on my shopping list."