Skip to content
Recipe API

Expert recipes, built for the AI era

Structured instructions, typed ingredients, USDA-backed nutrition, and clear caching rights.

No card required · 50 requests/day free · full schema on every tier

One schema for catalog and generated recipes · No attribution on paid plans · Commercial caching rights by tier

10,000+
Searchable ingredients
32
Tracked nutrients per serving
1
Schema for catalog and generated recipes

Try it now — no signup required

One request. One complete recipe object — unedited.

curl https://recipe-api.com/api/v1/dinner
GET /api/v1/dinner
{
  "id": "a066f472-ed0c-46ea-8e2c-a0053c3183a8",
  "name": "Texas Chili con Carne",
  "description": "A thick, beef-based stew featuring tender cubes of meat in a rich sauce made from reconstituted whole chilies and aromatic spices without beans or tomatoes.",
  "category": "Dinner",
  "cuisine": "American",
  "difficulty": "Intermediate",
  "tags": [
    "Beef",
    "Slow-Cooked",
    "High-Protein",
    "Southwestern"
  ],
  "meta": {
    "active_time": "PT20M",
    "passive_time": "PT1H40M",
    "total_time": "PT2H",
    "overnight_required": false,
    "yields": "4 servings",
    "yield_count": 4,
    "serving_size_g": 300
  },
  "dietary": {
    "flags": [
      "Gluten-Free",
      "Dairy-Free",
      "Egg-Free",
      "Nut-Free",
      "Peanut-Free",
      "Soy-Free"
    ],
    "not_suitable_for": []
  },
  "storage": {
    "refrigerator": {
      "notes": "Flavor improves after 24 hours.",
      "duration": "P4D"
    },
    "freezer": {
      "notes": "Thaw overnight in refrigerator before reheating.",
      "duration": "P3M"
    },
    "reheating": "Heat in a saucepan over medium-low heat, adding a splash of water if too thick.",
    "does_not_keep": false
  },
  "equipment": [
    {
      "name": "Blender",
      "required": true,
      "alternative": "Food processor or mortar and pestle"
    },
    {
      "name": "Heavy skillet",
      "required": true,
      "alternative": "Dutch oven or heavy-bottomed pot"
    },
    {
      "name": "Mixing bowl",
      "required": true,
      "alternative": null
    }
  ],
  "ingredients": [
    {
      "group_name": "Chili Base",
      "items": [
        {
          "name": "red chilies",
          "quantity": 6,
          "unit": null,
          "preparation": "dried",
          "notes": "about 30g",
          "substitutions": [],
          "ingredient_id": "3c3f97d4-c951-43fd-865c-88fa8b445739",
          "nutrition_source": "USDA FoodData Central"
        },
        {
          "name": "stewing beef",
          "quantity": 910,
          "unit": "g",
          "preparation": "cut into 1.3cm (1/2 inch) cubes",
          "notes": null,
          "substitutions": [],
          "ingredient_id": "09f2eef4-739a-4fca-8b63-97d697257990",
          "nutrition_source": "USDA FoodData Central"
        },
        {
          "name": "olive oil",
          "quantity": 15,
          "unit": "ml",
          "preparation": null,
          "notes": null,
          "substitutions": [],
          "ingredient_id": "e9f370c4-07c8-4d8d-8a9f-0edea38db44c",
          "nutrition_source": "USDA FoodData Central"
        },
        {
          "name": "bay leaves",
          "quantity": 2,
          "unit": null,
          "preparation": null,
          "notes": null,
          "substitutions": [],
          "ingredient_id": "eab2ef3a-7a0e-4188-b746-645b795ada1e",
          "nutrition_source": "USDA FoodData Central"
        }
      ]
    },
    {
      "group_name": "Flavor Paste",
      "items": [
        {
          "name": "garlic",
          "quantity": 2,
          "unit": null,
          "preparation": "peeled",
          "notes": "about 6g",
          "substitutions": [],
          "ingredient_id": "30109e1e-d8e8-4f76-a6f4-82ac5b071fde",
          "nutrition_source": "USDA FoodData Central"
        },
        {
          "name": "cumin",
          "quantity": 7,
          "unit": "g",
          "preparation": null,
          "notes": null,
          "substitutions": [],
          "ingredient_id": "b9c9e3cb-61b7-4bbc-87c0-7858d42d7935",
          "nutrition_source": "USDA FoodData Central"
        },
        {
          "name": "oregano",
          "quantity": 3,
          "unit": "g",
          "preparation": null,
          "notes": null,
          "substitutions": [],
          "ingredient_id": "687f54eb-e811-4e5e-ac2e-e2735458480c",
          "nutrition_source": "USDA FoodData Central"
        },
        {
          "name": "paprika",
          "quantity": 14,
          "unit": "g",
          "preparation": null,
          "notes": null,
          "substitutions": [],
          "ingredient_id": "f4c3bdd7-6528-40d2-84b3-a6325df15e8e",
          "nutrition_source": "USDA FoodData Central"
        },
        {
          "name": "sugar",
          "quantity": 4,
          "unit": "g",
          "preparation": null,
          "notes": null,
          "substitutions": [],
          "ingredient_id": "8ae7f905-b311-4f45-9527-5e3840369506",
          "nutrition_source": "USDA FoodData Central"
        },
        {
          "name": "salt",
          "quantity": null,
          "unit": null,
          "preparation": null,
          "notes": "to taste",
          "substitutions": [],
          "ingredient_id": "2631739c-2de4-4389-a6e3-ed3d06d0406f",
          "nutrition_source": "USDA FoodData Central"
        },
        {
          "name": "black pepper",
          "quantity": null,
          "unit": null,
          "preparation": null,
          "notes": "to taste",
          "substitutions": [],
          "ingredient_id": "c25dc1c9-4ea7-403c-976e-ab1d06578b7a",
          "nutrition_source": "USDA FoodData Central"
        }
      ]
    }
  ],
  "instructions": [
    {
      "step_number": 1,
      "phase": "prep",
      "text": "Tear the dried chilies into strips and place them in a bowl. Cover with 240ml (1 cup) of boiling water and soak for 30 minutes.",
      "structured": {
        "action": "SOAK",
        "temperature": null,
        "duration": "PT30M",
        "doneness_cues": null
      },
      "tips": []
    },
    {
      "step_number": 2,
      "phase": "prep",
      "text": "Drain the chilies and set them aside. Reserve the soaking liquid for the cooking process.",
      "structured": {
        "action": "DRAIN",
        "temperature": null,
        "duration": null,
        "doneness_cues": null
      },
      "tips": []
    },
    {
      "step_number": 3,
      "phase": "cook",
      "text": "Heat olive oil in a heavy skillet over medium-high heat. Brown the beef cubes on all sides until a crust forms.",
      "structured": {
        "action": "SEAR",
        "temperature": null,
        "duration": null,
        "doneness_cues": {
          "visual": "Beef is deeply browned on all sides",
          "tactile": null
        }
      },
      "tips": []
    },
    {
      "step_number": 4,
      "phase": "cook",
      "text": "Pour the reserved chili soaking liquid into the skillet. Add bay leaves and bring the liquid to a boil.",
      "structured": {
        "action": "BOIL",
        "temperature": null,
        "duration": null,
        "doneness_cues": null
      },
      "tips": []
    },
    {
      "step_number": 5,
      "phase": "cook",
      "text": "Reduce the heat to low, cover the skillet, and simmer for 1 hour.",
      "structured": {
        "action": "SIMMER",
        "temperature": {
          "celsius": 90,
          "fahrenheit": 194
        },
        "duration": "PT1H",
        "doneness_cues": null
      },
      "tips": []
    },
    {
      "step_number": 6,
      "phase": "prep",
      "text": "Combine the soaked chilies, garlic, cumin, oregano, paprika, sugar, salt, and pepper in a blender. Puree until smooth, adding a small amount of fresh water if the mixture is too thick.",
      "structured": {
        "action": "PUREE",
        "temperature": null,
        "duration": null,
        "doneness_cues": null
      },
      "tips": []
    },
    {
      "step_number": 7,
      "phase": "cook",
      "text": "Stir the chili puree into the skillet with the beef. Cover and continue to simmer for 30 minutes.",
      "structured": {
        "action": "SIMMER",
        "temperature": null,
        "duration": "PT30M",
        "doneness_cues": {
          "visual": null,
          "tactile": "Beef cubes are fork-tender"
        }
      },
      "tips": []
    },
    {
      "step_number": 8,
      "phase": "finish",
      "text": "Remove and discard the bay leaves. Taste and add more salt or pepper if needed before serving.",
      "structured": {
        "action": "SERVE",
        "temperature": null,
        "duration": null,
        "doneness_cues": null
      },
      "tips": []
    }
  ],
  "troubleshooting": [
    {
      "symptom": "Beef is tough or chewy",
      "likely_cause": "The meat has not simmered long enough to break down connective tissue.",
      "prevention": "Ensure the liquid is at a very low simmer and the lid is tightly sealed.",
      "fix": "Continue simmering in 15-minute increments until tender."
    },
    {
      "symptom": "Chili is too watery",
      "likely_cause": "Too much water added during blending or insufficient reduction.",
      "prevention": "Add water to the blender only 15ml at a time.",
      "fix": "Simmer uncovered for the final 15 minutes to evaporate excess moisture."
    }
  ],
  "chef_notes": [
    "For the deepest chili flavor, use a variety of dried chilies like ancho, guajillo, and pasilla. Toasting them briefly before soaking can enhance their aroma.",
    "Don't overcrowd the skillet when browning the beef; sear in batches if necessary to ensure a good crust, which adds significant flavor to the final dish.",
    "The simmering time is crucial for tenderizing the beef. Low and slow is key; the meat should be easily pierced with a fork.",
    "The consistency of the chili can be adjusted by the amount of soaking liquid you use and the final simmering time. If it's too thick, add a splash of water or beef broth; if too thin, simmer uncovered for a bit longer."
  ],
  "cultural_context": "Texas Chili, or Chili con Carne, is a hearty stew deeply rooted in Texan culinary tradition. Its origins trace back to the mid-19th century, with early versions featuring simple ingredients like dried beef, chilies, and spices, cooked by cowboys and ranchers. The absence of beans and tomatoes is a defining characteristic, distinguishing it from other regional chili variations and emphasizing its pure, meat-and-chili flavor profile.",
  "nutrition": {
    "per_serving": {
      "calories": 569.02,
      "protein_g": 44.14,
      "carbohydrates_g": 5.59,
      "fat_g": 41.99,
      "saturated_fat_g": 16.48,
      "trans_fat_g": 2.39,
      "monounsaturated_fat_g": 20.66,
      "polyunsaturated_fat_g": 2.29,
      "fiber_g": 1.97,
      "sugar_g": 1.84,
      "sodium_mg": 350.75,
      "cholesterol_mg": 154.7,
      "potassium_mg": 903.3,
      "calcium_mg": 74.24,
      "iron_mg": 7.16,
      "magnesium_mg": 60.57,
      "phosphorus_mg": 434.12,
      "zinc_mg": 16.82,
      "vitamin_a_mcg": 101.01,
      "vitamin_c_mg": 11.51,
      "vitamin_d_mcg": 0.23,
      "vitamin_e_mg": 2.15,
      "vitamin_k_mcg": 14.73,
      "vitamin_b6_mg": 0.97,
      "vitamin_b12_mcg": 6.14,
      "thiamin_mg": 0.19,
      "riboflavin_mg": 0.38,
      "niacin_mg": 10.47,
      "folate_mcg": 12.53,
      "water_g": 154.87,
      "alcohol_g": null,
      "caffeine_mg": null
    },
    "sources": [
      "USDA FoodData Central"
    ]
  }
}

That exact shape, for catalog and generated recipes.

Get your free API key

No card required.

What are you building?

Add the food layer your product needs without becoming a food-data company.

Meal planning apps
Ship recipe search, dietary filtering, and shopping lists without normalizing recipe text yourself.
Nutrition & fitness products
Add macros and micronutrients without stitching together a separate nutrition pipeline.
AI assistants & agents
Give agents reliable recipe tools through MCP and generation, with the same schema every time.

One integration, not a data pipeline

Catalog and generated recipes share the same 80+ structured fields, so your team builds one production integration.

32 tracked nutrients per serving
  • Calories, macros, 13 vitamins & minerals
  • Backed by USDA FoodData Central at ingredient level
  • Nullable fields explicit, never silently omitted
Grouped ingredients with source traceability
  • Quantity, unit, prep, substitutions — per item
  • Linked ingredient UUID
  • USDA nutrition source on every number
Structured steps with doneness cues
  • Machine-readable action verbs (SEAR, SIMMER)
  • °C and °F, ISO 8601 durations
  • Visual and tactile doneness cues
Dietary flags, timing, and storage
  • Allergen warnings, explicit not-suitable-for flags
  • Active, passive, total time as ISO 8601
  • Fridge and freezer durations, reheating guidance

POST /api/v1/generate returns this exact same schema.

Model Context Protocol
The same recipe layer, available through MCP
Let Claude and other MCP clients search, filter, and generate recipes without building a separate agent integration.

Pricing

Prototype free. Upgrade when you launch commercially.

Evaluation
$0/mo
Evaluate the complete schema and build your first integration.
  • 50 requests/day
  • 50 unique recipes/month
  • 1 generations/month
  • No card required
Developer
$29/mo
Launch a commercial product with practical caching rights.
  • 500 requests/day
  • 250 unique recipes/month
  • Commercial use
  • 24-hour caching
ProductionPopular
$99/mo
Run a growing product with more volume, caching, and support.
  • 2,000 requests/day
  • 1,000 unique recipes/month
  • 7-day caching
  • Email support
Building a production food platform?
Scale and Enterprise add persistent application caching, higher limits, priority support, and custom data or licensing terms. Tell us what you are shipping and we will map the right setup.

How billing works

  1. 01

    Discovery is free

    Search, filter, and browse never consume credits.

  2. 02

    Full detail uses one credit

    One complete recipe object = one request against your daily allowance.

  3. 03

    Unique recipes have a monthly cap

    Re-fetching a recipe you've already pulled never counts twice.

  4. 04

    Generation is metered separately

    POST /api/v1/generate has its own daily and monthly allowances.

Caching by tier: none during evaluation · 24h on Developer · 7-day on Production · persistent on Scale.

Compare every plan feature → · Need custom limits? Contact us for a tailored plan.

Guides & comparisons

Build the food product, not the data pipeline.

Start with the complete production schema, 100 free requests a day, and access to the full recipe catalog. Upgrade when your product needs commercial caching, more volume, or dedicated support.