Documentation

Here you have detailed documentation of all available API functions. To get started, you can make the sample request for each endpoint, download an SDK, or run the examples in Postman.

Search Recipes

Our recipe API includes over 360,000 recipes as well as an open source recipe database. Consider using the "Search Recipes Complex" endpoint for much more flexibility.

GET
https://api.spoonacular.com/recipes/search

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
query string burger The (natural language) recipe search query.
cuisine string italian The cuisine(s) of the recipes. One or more comma separated. See a full list of supported cuisines.
diet string vegetarian The diet for which the recipes must be suitable. See a full list of supported diets.
excludeIngredients string eggs A comma-separated list of ingredients or ingredient types that the recipes must not contain.
intolerances string gluten A comma-separated list of intolerances. All recipes returned must not contain ingredients that are not suitable for people with the intolerances entered. See a full list of supported intolerances. Please note: due to the automatic nature of the recipe analysis, the API cannot be 100% accurate in all cases. Please advise your users to seek professional help with medical issues.
offset number 0 The number of results to skip (between 0 and 900).
number number 10 The number of results to return (between 1 and 100).
limitLicense boolean true Whether the recipes should have an open license that allows display with proper attribution.
instructionsRequired boolean true Whether the recipes must have instructions.
Example Request and Response
{
    "offset": 0,
    "number": 2,
    "results": [
        {
            "id": 633508,
            "image": "Baked-Cheese-Manicotti-633508.jpg",
            "imageUrls": [
                "Baked-Cheese-Manicotti-633508.jpg"
            ],
            "readyInMinutes": 45,
            "servings": 6,
            "title": "Baked Cheese Manicotti"
        },
        {
            "id": 634873,
            "image": "Best-Baked-Macaroni-and-Cheese-634873.jpg",
            "imageUrls": [
                "Best-Baked-Macaroni-and-Cheese-634873.jpg"
            ],
            "readyInMinutes": 45,
            "servings": 12,
            "title": "Best Baked Macaroni and Cheese"
        }
    ],
    "totalResults": 719
}

Quotas

Calling this endpoint requires
1 point
and
0.01 points
per recipe returned. Learn more about quotas.

Search Recipes by Ingredients

Find recipes that use as many of the given ingredients as possible and require as few additional ingredients as possible. This is a "what's in your fridge" API endpoint.

GET
https://api.spoonacular.com/recipes/findByIngredients

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
ingredients string apples,flour,sugar A comma-separated list of ingredients that the recipes should contain.
number number 10 The maximum number of recipes to return (between 1 and 100). Defaults to 10.
limitLicense boolean true Whether the recipes should have an open license that allows display with proper attribution.
ranking number 1 Whether to maximize used ingredients (1) or minimize missing ingredients (2) first.
ignorePantry boolean true Whether to ignore typical pantry items, such as water, salt, flour, etc.
Example Request and Response
[
    {
        "id": 73420,
        "image": "https://spoonacular.com/recipeImages/73420-312x231.jpg",
        "imageType": "jpg",
        "likes": 0,
        "missedIngredientCount": 3,
        "missedIngredients": [
            {
                "aisle": "Baking",
                "amount": 1.0,
                "id": 18371,
                "image": "https://spoonacular.com/cdn/ingredients_100x100/white-powder.jpg",
                "metaInformation": [],
                "name": "baking powder",
                "original": "1 tsp baking powder",
                "originalName": "baking powder",
                "originalString": "1 tsp baking powder",
                "unit": "tsp",
                "unitLong": "teaspoon",
                "unitShort": "tsp"
            },
            {
                "aisle": "Spices and Seasonings",
                "amount": 1.0,
                "id": 2010,
                "image": "https://spoonacular.com/cdn/ingredients_100x100/cinnamon.jpg",
                "metaInformation": [],
                "name": "cinnamon",
                "original": "1 tsp cinnamon",
                "originalName": "cinnamon",
                "originalString": "1 tsp cinnamon",
                "unit": "tsp",
                "unitLong": "teaspoon",
                "unitShort": "tsp"
            },
            {
                "aisle": "Milk, Eggs, Other Dairy",
                "amount": 1.0,
                "id": 1123,
                "image": "https://spoonacular.com/cdn/ingredients_100x100/egg.png",
                "metaInformation": [],
                "name": "egg",
                "original": "1 egg",
                "originalName": "egg",
                "originalString": "1 egg",
                "unit": "",
                "unitLong": "",
                "unitShort": ""
            }
        ],
        "title": "Apple Or Peach Strudel",
        "unusedIngredients": [],
        "usedIngredientCount": 1,
        "usedIngredients": [
            {
                "aisle": "Produce",
                "amount": 6.0,
                "id": 9003,
                "image": "https://spoonacular.com/cdn/ingredients_100x100/apple.jpg",
                "metaInformation": [],
                "name": "apples",
                "original": "6 large baking apples",
                "originalName": "baking apples",
                "originalString": "6 large baking apples",
                "unit": "large",
                "unitLong": "larges",
                "unitShort": "large"
            }
        ]
    },
    {
        "id": 632660,
        "image": "https://spoonacular.com/recipeImages/632660-312x231.jpg",
        "imageType": "jpg",
        "likes": 3,
        "missedIngredientCount": 4,
        "missedIngredients": [
            {
                "aisle": "Milk, Eggs, Other Dairy",
                "amount": 1.5,
                "extendedName": "unsalted butter",
                "id": 1001,
                "image": "https://spoonacular.com/cdn/ingredients_100x100/butter-sliced.jpg",
                "metaInformation": [
                    "unsalted",
                    "cold"
                ],
                "name": "butter",
                "original": "1 1/2 sticks cold unsalted butter cold unsalted butter<",
                "originalName": "cold unsalted butter cold unsalted butter<",
                "originalString": "1 1/2 sticks cold unsalted butter cold unsalted butter<",
                "unit": "sticks",
                "unitLong": "sticks",
                "unitShort": "sticks"
            },
            {
                "aisle": "Produce",
                "amount": 4.0,
                "id": 1079003,
                "image": "https://spoonacular.com/cdn/ingredients_100x100/red-delicious-apples.png",
                "metaInformation": [
                    "red",
                    " such as golden delicious, peeled, cored and cut into 1/4-inch-thick slices "
                ],
                "name": "red apples",
                "original": "4 larges red apples, such as Golden Delicious, peeled, cored and cut into 1/4-inch-thick slices",
                "originalName": "s red apples, such as Golden Delicious, peeled, cored and cut into 1/4-inch-thick slices",
                "originalString": "4 larges red apples, such as Golden Delicious, peeled, cored and cut into 1/4-inch-thick slices",
                "unit": "large",
                "unitLong": "larges",
                "unitShort": "large"
            },
            {
                "aisle": "Spices and Seasonings",
                "amount": 2.0,
                "id": 2010,
                "image": "https://spoonacular.com/cdn/ingredients_100x100/cinnamon.jpg",
                "metaInformation": [],
                "name": "cinnamon",
                "original": "2 teaspoons cinnamon",
                "originalName": "cinnamon",
                "originalString": "2 teaspoons cinnamon",
                "unit": "teaspoons",
                "unitLong": "teaspoons",
                "unitShort": "tsp"
            },
            {
                "aisle": "Nut butters, Jams, and Honey",
                "amount": 2.0,
                "id": 19719,
                "image": "https://spoonacular.com/cdn/ingredients_100x100/apricot-jam.jpg",
                "metaInformation": [
                    "melted"
                ],
                "name": "apricot preserves",
                "original": "2 tablespoons apricot preserves, melted and strained",
                "originalName": "apricot preserves, melted and strained",
                "originalString": "2 tablespoons apricot preserves, melted and strained",
                "unit": "tablespoons",
                "unitLong": "tablespoons",
                "unitShort": "Tbsp"
            }
        ],
        "title": "Apricot Glazed Apple Tart",
        "unusedIngredients": [
            {
                "aisle": "Produce",
                "amount": 1.0,
                "id": 9003,
                "image": "https://spoonacular.com/cdn/ingredients_100x100/apple.jpg",
                "metaInformation": [],
                "name": "apples",
                "original": "apples",
                "originalName": "apples",
                "originalString": "apples",
                "unit": "serving",
                "unitLong": "serving",
                "unitShort": "serving"
            }
        ],
        "usedIngredientCount": 0,
        "usedIngredients": []
    }
]

Quotas

Calling this endpoint requires
1 point
and
0.01 points
per recipe returned. Learn more about quotas.

Search Recipes by Nutrients

Find a set of recipes that adhere to the given nutritional limits. You may set limits for macronutrients (calories, protein, fat, and carbohydrate) and/or many micronutrients.

GET
https://api.spoonacular.com/recipes/findByNutrients

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
minCarbs number 10 The minimum amount of carbohydrates in grams the recipe must have.
maxCarbs number 100 The maximum amount of carbohydrates in grams the recipe can have.
minProtein number 10 The minimum amount of protein in grams the recipe must have.
maxProtein number 100 The maximum amount of protein in grams the recipe can have.
minCalories number 50 The minimum amount of calories the recipe must have.
maxCalories number 800 The maximum amount of calories the recipe can have.
minFat number 1 The minimum amount of fat in grams the recipe must have.
maxFat number 100 The maximum amount of fat in grams the recipe can have.
minAlcohol number 0 The minimum amount of alcohol in grams the recipe must have.
maxAlcohol number 100 The maximum amount of alcohol in grams the recipe can have.
minCaffeine number 0 The minimum amount of caffeine in milligrams the recipe must have.
maxCaffeine number 100 The maximum amount of caffeine in milligrams the recipe can have.
minCopper number 0 The minimum amount of copper in milligrams the recipe must have.
maxCopper number 100 The maximum amount of copper in milligrams the recipe can have.
minCalcium number 0 The minimum amount of calcium in milligrams the recipe must have.
maxCalcium number 100 The maximum amount of calcium in milligrams the recipe can have.
minCholine number 0 The minimum amount of choline in milligrams the recipe must have.
maxCholine number 100 The maximum amount of choline in milligrams the recipe can have.
minCholesterol number 0 The minimum amount of cholesterol in milligrams the recipe must have.
maxCholesterol number 100 The maximum amount of cholesterol in milligrams the recipe can have.
minFluoride number 0 The minimum amount of fluoride in milligrams the recipe must have.
maxFluoride number 100 The maximum amount of fluoride in milligrams the recipe can have.
minSaturatedFat number 0 The minimum amount of saturated fat in grams the recipe must have.
maxSaturatedFat number 100 The maximum amount of saturated fat in grams the recipe can have.
minVitaminA number 0 The minimum amount of Vitamin A in IU the recipe must have.
maxVitaminA number 100 The maximum amount of Vitamin A in IU the recipe can have.
minVitaminC number 0 The minimum amount of Vitamin C in milligrams the recipe must have.
maxVitaminC number 100 The maximum amount of Vitamin C in milligrams the recipe can have.
minVitaminD number 0 The minimum amount of Vitamin D in micrograms the recipe must have.
maxVitaminD number 100 The maximum amount of Vitamin D in micrograms the recipe can have.
minVitaminE number 0 The minimum amount of Vitamin E in milligrams the recipe must have.
maxVitaminE number 100 The maximum amount of Vitamin E in milligrams the recipe can have.
minVitaminK number 0 The minimum amount of Vitamin K in micrograms the recipe must have.
maxVitaminK number 100 The maximum amount of Vitamin K in micrograms the recipe can have.
minVitaminB1 number 0 The minimum amount of Vitamin B1 in milligrams the recipe must have.
maxVitaminB1 number 100 The maximum amount of Vitamin B1 in milligrams the recipe can have.
minVitaminB2 number 0 The minimum amount of Vitamin B2 in milligrams the recipe must have.
maxVitaminB2 number 100 The maximum amount of Vitamin B2 in milligrams the recipe can have.
minVitaminB5 number 0 The minimum amount of Vitamin B5 in milligrams the recipe must have.
maxVitaminB5 number 100 The maximum amount of Vitamin B5 in milligrams the recipe can have.
minVitaminB3 number 0 The minimum amount of Vitamin B3 in milligrams the recipe must have.
maxVitaminB3 number 100 The maximum amount of Vitamin B3 in milligrams the recipe can have.
minVitaminB6 number 0 The minimum amount of Vitamin B6 in milligrams the recipe must have.
maxVitaminB6 number 100 The maximum amount of Vitamin B6 in milligrams the recipe can have.
minVitaminB12 number 0 The minimum amount of Vitamin B12 in micrograms the recipe must have.
maxVitaminB12 number 100 The maximum amount of Vitamin B12 in micrograms the recipe can have.
minFiber number 0 The minimum amount of fiber in grams the recipe must have.
maxFiber number 100 The maximum amount of fiber in grams the recipe can have.
minFolate number 0 The minimum amount of folate in grams the recipe must have.
maxFolate number 100 The maximum amount of folate in grams the recipe can have.
minFolicAcid number 0 The minimum amount of folic acid in grams the recipe must have.
maxFolicAcid number 100 The maximum amount of folic acid in grams the recipe can have.
minIodine number 0 The minimum amount of iodine in grams the recipe must have.
maxIodine number 100 The maximum amount of iodine in grams the recipe can have.
minIron number 0 The minimum amount of iron in milligrams the recipe must have.
maxIron number 100 The maximum amount of iron in milligrams the recipe can have.
minMagnesium number 0 The minimum amount of magnesium in milligrams the recipe must have.
maxMagnesium number 100 The maximum amount of magnesium in milligrams the recipe can have.
minManganese number 0 The minimum amount of manganese in milligrams the recipe must have.
maxManganese number 100 The maximum amount of manganese in milligrams the recipe can have.
minPhosphorus number 0 The minimum amount of phosphorus in milligrams the recipe must have.
maxPhosphorus number 100 The maximum amount of phosphorus in milligrams the recipe can have.
minPotassium number 0 The minimum amount of potassium in milligrams the recipe must have.
maxPotassium number 100 The maximum amount of potassium in milligrams the recipe can have.
minSelenium number 0 The minimum amount of selenium in grams the recipe must have.
maxSelenium number 100 The maximum amount of selenium in grams the recipe can have.
minSodium number 0 The minimum amount of sodium in milligrams the recipe must have.
maxSodium number 100 The maximum amount of sodium in milligrams the recipe can have.
minSugar number 0 The minimum amount of sugar in grams the recipe must have.
maxSugar number 100 The maximum amount of sugar in grams the recipe can have.
minZinc number 0 The minimum amount of zinc in milligrams the recipe must have.
maxZinc number 100 The maximum amount of zinc in milligrams the recipe can have.
offset number 0 The offset number for paging (between 0 and 990).
number number 10 The number of expected results (between 1 and 100).
random boolean false If true, every request will give you a random set of recipes within the requested limits.
limitLicense boolean true Whether the recipes should have an open license that allows display with proper attribution.
Example Request and Response
[
    {
        "calories": 210,
        "carbs": "43g",
        "fat": "3g",
        "id": 90629,
        "image": "https://spoonacular.com/recipeImages/90629-312x231.jpg",
        "imageType": "jpg",
        "protein": "1g",
        "title": "Baked Apples in White Wine"
    },
    {
        "calories": 226,
        "carbs": "33g",
        "fat": "10g",
        "id": 284420,
        "image": "https://spoonacular.com/recipeImages/284420-312x231.jpg",
        "imageType": "jpg",
        "protein": "2g",
        "title": "Chocolate Silk Pie with Marshmallow Meringue"
    }
]

Quotas

Calling this endpoint requires
1 point
and
0.01 points
per recipe returned. Learn more about quotas.

Search Recipes Complex

Search through hundreds of thousands of recipes using advanced filtering and ranking. NOTE: This method combines searching by query, by ingredients, and by nutrients into one endpoint.

GET
https://api.spoonacular.com/recipes/complexSearch

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
query string pasta The (natural language) recipe search query.
cuisine string italian The cuisine(s) of the recipes. One or more, comma separated (will be interpreted as 'OR'). See a full list of supported cuisines.
excludeCuisine string greek The cuisine(s) the recipes must not match. One or more, comma separated (will be interpreted as 'AND'). See a full list of supported cuisines.
diet string vegetarian The diet for which the recipes must be suitable. See a full list of supported diets.
intolerances string gluten A comma-separated list of intolerances. All recipes returned must not contain ingredients that are not suitable for people with the intolerances entered. See a full list of supported intolerances.
equipment string pan The equipment required. Multiple values will be interpreted as 'or'. For example, value could be "blender, frying pan, bowl".
includeIngredients string tomato,cheese A comma-separated list of ingredients that should/must be used in the recipes.
excludeIngredients string eggs A comma-separated list of ingredients or ingredient types that the recipes must not contain.
type string main course The type of recipe. See a full list of supported meal types.
instructionsRequired boolean true Whether the recipes must have instructions.
fillIngredients boolean false Add information about the used and missing ingredients in each recipe.
addRecipeInformation boolean false If set to true, you get more information about the recipes returned. This saves you from needing to call to get recipe information.
author string coffeebean The username of the recipe author.
tags string myCustomTag User defined tags that have to match.
titleMatch string Crock Pot Enter text that must be found in the title of the recipes.
maxReadyTime number 20 The maximum time in minutes it should take to prepare and cook the recipe.
sort string calories The strategy to sort recipes by. See a full list of supported sorting options.
sortDirection string asc The direction in which to sort. Must be either 'asc' (ascending) or 'desc' (descending).
minCarbs number 10 The minimum amount of carbohydrates in grams the recipe must have.
maxCarbs number 100 The maximum amount of carbohydrates in grams the recipe can have.
minProtein number 10 The minimum amount of protein in grams the recipe must have.
maxProtein number 100 The maximum amount of protein in grams the recipe can have.
minCalories number 50 The minimum amount of calories the recipe must have.
maxCalories number 800 The maximum amount of calories the recipe can have.
minFat number 1 The minimum amount of fat in grams the recipe must have.
maxFat number 100 The maximum amount of fat in grams the recipe can have.
minAlcohol number 0 The minimum amount of alcohol in grams the recipe must have.
maxAlcohol number 100 The maximum amount of alcohol in grams the recipe can have.
minCaffeine number 0 The minimum amount of caffeine in milligrams the recipe must have.
maxCaffeine number 100 The maximum amount of caffeine in milligrams the recipe can have.
minCopper number 0 The minimum amount of copper in milligrams the recipe must have.
maxCopper number 100 The maximum amount of copper in milligrams the recipe can have.
minCalcium number 0 The minimum amount of calcium in milligrams the recipe must have.
maxCalcium number 100 The maximum amount of calcium in milligrams the recipe can have.
minCholine number 0 The minimum amount of choline in milligrams the recipe must have.
maxCholine number 100 The maximum amount of choline in milligrams the recipe can have.
minCholesterol number 0 The minimum amount of cholesterol in milligrams the recipe must have.
maxCholesterol number 100 The maximum amount of cholesterol in milligrams the recipe can have.
minFluoride number 0 The minimum amount of fluoride in milligrams the recipe must have.
maxFluoride number 100 The maximum amount of fluoride in milligrams the recipe can have.
minSaturatedFat number 0 The minimum amount of saturated fat in grams the recipe must have.
maxSaturatedFat number 100 The maximum amount of saturated fat in grams the recipe can have.
minVitaminA number 0 The minimum amount of Vitamin A in IU the recipe must have.
maxVitaminA number 100 The maximum amount of Vitamin A in IU the recipe can have.
minVitaminC number 0 The minimum amount of Vitamin C milligrams the recipe must have.
maxVitaminC number 100 The maximum amount of Vitamin C in milligrams the recipe can have.
minVitaminD number 0 The minimum amount of Vitamin D in micrograms the recipe must have.
maxVitaminD number 100 The maximum amount of Vitamin D in micrograms the recipe can have.
minVitaminE number 0 The minimum amount of Vitamin E in milligrams the recipe must have.
maxVitaminE number 100 The maximum amount of Vitamin E in milligrams the recipe can have.
minVitaminK number 0 The minimum amount of Vitamin K in micrograms the recipe must have.
maxVitaminK number 100 The maximum amount of Vitamin K in micrograms the recipe can have.
minVitaminB1 number 0 The minimum amount of Vitamin B1 in milligrams the recipe must have.
maxVitaminB1 number 100 The maximum amount of Vitamin B1 in milligrams the recipe can have.
minVitaminB2 number 0 The minimum amount of Vitamin B2 in milligrams the recipe must have.
maxVitaminB2 number 100 The maximum amount of Vitamin B2 in milligrams the recipe can have.
minVitaminB5 number 0 The minimum amount of Vitamin B5 in milligrams the recipe must have.
maxVitaminB5 number 100 The maximum amount of Vitamin B5 in milligrams the recipe can have.
minVitaminB3 number 0 The minimum amount of Vitamin B3 in milligrams the recipe must have.
maxVitaminB3 number 100 The maximum amount of Vitamin B3 in milligrams the recipe can have.
minVitaminB6 number 0 The minimum amount of Vitamin B6 in milligrams the recipe must have.
maxVitaminB6 number 100 The maximum amount of Vitamin B6 in milligrams the recipe can have.
minVitaminB12 number 0 The minimum amount of Vitamin B12 in micrograms the recipe must have.
maxVitaminB12 number 100 The maximum amount of Vitamin B12 in micrograms the recipe can have.
minFiber number 0 The minimum amount of fiber in grams the recipe must have.
maxFiber number 100 The maximum amount of fiber in grams the recipe can have.
minFolate number 0 The minimum amount of folate in grams the recipe must have.
maxFolate number 100 The maximum amount of folate in grams the recipe can have.
minFolicAcid number 0 The minimum amount of folic acid in grams the recipe must have.
maxFolicAcid number 100 The maximum amount of folic acid in grams the recipe can have.
minIodine number 0 The minimum amount of iodine in grams the recipe must have.
maxIodine number 100 The maximum amount of iodine in grams the recipe can have.
minIron number 0 The minimum amount of iron in milligrams the recipe must have.
maxIron number 100 The maximum amount of iron in milligrams the recipe can have.
minMagnesium number 0 The minimum amount of magnesium in milligrams the recipe must have.
maxMagnesium number 100 The maximum amount of magnesium in milligrams the recipe can have.
minManganese number 0 The minimum amount of manganese in milligrams the recipe must have.
maxManganese number 100 The maximum amount of manganese in milligrams the recipe can have.
minPhosphorus number 0 The minimum amount of phosphorus in milligrams the recipe must have.
maxPhosphorus number 100 The maximum amount of phosphorus in milligrams the recipe can have.
minPotassium number 0 The minimum amount of potassium in milligrams the recipe must have.
maxPotassium number 100 The maximum amount of potassium in milligrams the recipe can have.
minSelenium number 0 The minimum amount of selenium in grams the recipe must have.
maxSelenium number 100 The maximum amount of selenium in grams the recipe can have.
minSodium number 0 The minimum amount of sodium in milligrams the recipe must have.
maxSodium number 100 The maximum amount of sodium in milligrams the recipe can have.
minSugar number 0 The minimum amount of sugar in grams the recipe must have.
maxSugar number 100 The maximum amount of sugar in grams the recipe can have.
minZinc number 0 The minimum amount of zinc in milligrams the recipe must have.
maxZinc number 100 The maximum amount of zinc in milligrams the recipe can have.
offset number 0 The offset number for paging (between 0 and 990).
number number 5 The number of expected results (between 1 and 10).
limitLicense boolean true Whether the recipes should have an open license that allows display with proper attribution.
Example Request and Response
{
    "offset": 0,
    "number": 2,
    "results": [
        {
            "id": 716429,
            "calories": 584,
            "carbs": "84g",
            "fat": "20g",
            "image": "https://spoonacular.com/recipeImages/716429-312x231.jpg",
            "imageType": "jpg",
            "protein": "19g",
            "title": "Pasta with Garlic, Scallions, Cauliflower & Breadcrumbs"
        },
        {
            "id": 715538,
            "calories": 521,
            "carbs": "69g",
            "fat": "10g",
            "image": "https://spoonacular.com/recipeImages/715538-312x231.jpg",
            "imageType": "jpg",
            "protein": "35g",
            "title": "What to make for dinner tonight?? Bruschetta Style Pork & Pasta"
        }
    ],
    "totalResults": 86
}

Quotas

Calling this endpoint requires
1 point
and
0.01 points
per result returned. Since this endpoint combines the capabilities of four different endpoints into one, additional points may be required depending on the parameters you set. If fillIngredients is set to true,
0.5 points
will be added. If a nutrient filter is set,
1 point
will be added. If addRecipeInformation is set to true,
0.5 points
will be added. Learn more about quotas.

Get Recipe Information

Use a recipe id to get full information about a recipe, such as ingredients, nutrition, diet and allergen information, etc.

GET
https://api.spoonacular.com/recipes/{id}/information

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
id number 716429 The id of the recipe.
includeNutrition boolean false Include nutrition data in the recipe information. Nutrition data is per serving. If you want the nutrition data for the entire recipe, just multiply by the number of servings.
Example Request and Response
{
    "id": 716429,
    "title": "Pasta with Garlic, Scallions, Cauliflower & Breadcrumbs",
    "image": "https://spoonacular.com/recipeImages/716429-556x370.jpg",
    "imageType": "jpg",
    "servings": 2,
    "readyInMinutes": 45,
    "license": "CC BY-SA 3.0",
    "sourceName": "Full Belly Sisters",
    "sourceUrl": "http://fullbellysisters.blogspot.com/2012/06/pasta-with-garlic-scallions-cauliflower.html",
    "spoonacularSourceUrl": "https://spoonacular.com/pasta-with-garlic-scallions-cauliflower-breadcrumbs-716429",
    "aggregateLikes": 209,
    "healthScore": 19.0,
    "spoonacularScore": 83.0,
    "pricePerServing": 163.15,
    "analyzedInstructions": [],
    "cheap": false,
    "creditsText": "Full Belly Sisters",
    "cuisines": [],
    "dairyFree": false,
    "diets": [],
    "gaps": "no",
    "glutenFree": false,
    "instructions": "",
    "ketogenic": false,
    "lowFodmap": false,
    "occasions": [],
    "sustainable": false,
    "vegan": false,
    "vegetarian": false,
    "veryHealthy": false,
    "veryPopular": false,
    "whole30": false,
    "weightWatcherSmartPoints": 17,
    "dishTypes": [
        "lunch",
        "main course",
        "main dish",
        "dinner"
    ],
    "extendedIngredients": [
        {
            "aisle": "Milk, Eggs, Other Dairy",
            "amount": 1.0,
            "consitency": "solid",
            "id": 1001,
            "image": "butter-sliced.jpg",
            "measures": {
                "metric": {
                    "amount": 1.0,
                    "unitLong": "Tbsp",
                    "unitShort": "Tbsp"
                },
                "us": {
                    "amount": 1.0,
                    "unitLong": "Tbsp",
                    "unitShort": "Tbsp"
                }
            },
            "meta": [],
            "metaInformation": [],
            "name": "butter",
            "original": "1 tbsp butter",
            "originalName": "butter",
            "originalString": "1 tbsp butter",
            "unit": "tbsp"
        },
        {
            "aisle": "Produce",
            "amount": 2.0,
            "consitency": "solid",
            "id": 10011135,
            "image": "cauliflower.jpg",
            "measures": {
                "metric": {
                    "amount": 473.176,
                    "unitLong": "milliliters",
                    "unitShort": "ml"
                },
                "us": {
                    "amount": 2.0,
                    "unitLong": "cups",
                    "unitShort": "cups"
                }
            },
            "meta": [
                "frozen",
                "thawed",
                "cut into bite-sized pieces"
            ],
            "metaInformation": [
                "frozen",
                "thawed",
                "cut into bite-sized pieces"
            ],
            "name": "cauliflower florets",
            "original": "about 2 cups frozen cauliflower florets, thawed, cut into bite-sized pieces",
            "originalName": "about frozen cauliflower florets, thawed, cut into bite-sized pieces",
            "originalString": "about 2 cups frozen cauliflower florets, thawed, cut into bite-sized pieces",
            "unit": "cups"
        },
        {
            "aisle": "Cheese",
            "amount": 2.0,
            "consitency": "solid",
            "id": 1041009,
            "image": "cheddar-cheese.png",
            "measures": {
                "metric": {
                    "amount": 2.0,
                    "unitLong": "Tbsps",
                    "unitShort": "Tbsps"
                },
                "us": {
                    "amount": 2.0,
                    "unitLong": "Tbsps",
                    "unitShort": "Tbsps"
                }
            },
            "meta": [
                "grated",
                "(I used romano)"
            ],
            "metaInformation": [
                "grated",
                "(I used romano)"
            ],
            "name": "cheese",
            "original": "2 tbsp grated cheese (I used romano)",
            "originalName": "grated cheese (I used romano)",
            "originalString": "2 tbsp grated cheese (I used romano)",
            "unit": "tbsp"
        },
        {
            "aisle": "Oil, Vinegar, Salad Dressing",
            "amount": 1.0,
            "consitency": "liquid",
            "id": 1034053,
            "image": "olive-oil.jpg",
            "measures": {
                "metric": {
                    "amount": 1.0,
                    "unitLong": "Tbsp",
                    "unitShort": "Tbsp"
                },
                "us": {
                    "amount": 1.0,
                    "unitLong": "Tbsp",
                    "unitShort": "Tbsp"
                }
            },
            "meta": [],
            "metaInformation": [],
            "name": "extra virgin olive oil",
            "original": "1-2 tbsp extra virgin olive oil",
            "originalName": "extra virgin olive oil",
            "originalString": "1-2 tbsp extra virgin olive oil",
            "unit": "tbsp"
        },
        {
            "aisle": "Produce",
            "amount": 5.0,
            "consitency": "solid",
            "id": 11215,
            "image": "garlic.jpg",
            "measures": {
                "metric": {
                    "amount": 5.0,
                    "unitLong": "cloves",
                    "unitShort": "cloves"
                },
                "us": {
                    "amount": 5.0,
                    "unitLong": "cloves",
                    "unitShort": "cloves"
                }
            },
            "meta": [],
            "metaInformation": [],
            "name": "garlic",
            "original": "5-6 cloves garlic",
            "originalName": "garlic",
            "originalString": "5-6 cloves garlic",
            "unit": "cloves"
        },
        {
            "aisle": "Pasta and Rice",
            "amount": 6.0,
            "consitency": "solid",
            "id": 20420,
            "image": "fusilli.jpg",
            "measures": {
                "metric": {
                    "amount": 170.097,
                    "unitLong": "grams",
                    "unitShort": "g"
                },
                "us": {
                    "amount": 6.0,
                    "unitLong": "ounces",
                    "unitShort": "oz"
                }
            },
            "meta": [
                "(I used linguine)"
            ],
            "metaInformation": [
                "(I used linguine)"
            ],
            "name": "pasta",
            "original": "6-8 ounces pasta (I used linguine)",
            "originalName": "pasta (I used linguine)",
            "originalString": "6-8 ounces pasta (I used linguine)",
            "unit": "ounces"
        },
        {
            "aisle": "Spices and Seasonings",
            "amount": 2.0,
            "consitency": "solid",
            "id": 1032009,
            "image": "red-pepper-flakes.jpg",
            "measures": {
                "metric": {
                    "amount": 2.0,
                    "unitLong": "pinches",
                    "unitShort": "pinches"
                },
                "us": {
                    "amount": 2.0,
                    "unitLong": "pinches",
                    "unitShort": "pinches"
                }
            },
            "meta": [
                "red"
            ],
            "metaInformation": [
                "red"
            ],
            "name": "red pepper flakes",
            "original": "couple of pinches red pepper flakes, optional",
            "originalName": "couple of red pepper flakes, optional",
            "originalString": "couple of pinches red pepper flakes, optional",
            "unit": "pinches"
        },
        {
            "aisle": "Spices and Seasonings",
            "amount": 2.0,
            "consitency": "solid",
            "id": 1102047,
            "image": "salt-and-pepper.jpg",
            "measures": {
                "metric": {
                    "amount": 2.0,
                    "unitLong": "servings",
                    "unitShort": "servings"
                },
                "us": {
                    "amount": 2.0,
                    "unitLong": "servings",
                    "unitShort": "servings"
                }
            },
            "meta": [
                "to taste"
            ],
            "metaInformation": [
                "to taste"
            ],
            "name": "salt and pepper",
            "original": "salt and pepper, to taste",
            "originalName": "salt and pepper, to taste",
            "originalString": "salt and pepper, to taste",
            "unit": "servings"
        },
        {
            "aisle": "Produce",
            "amount": 3.0,
            "consitency": "solid",
            "id": 11291,
            "image": "spring-onions.jpg",
            "measures": {
                "metric": {
                    "amount": 3.0,
                    "unitLong": "",
                    "unitShort": ""
                },
                "us": {
                    "amount": 3.0,
                    "unitLong": "",
                    "unitShort": ""
                }
            },
            "meta": [
                "white",
                "green",
                "separated",
                "chopped"
            ],
            "metaInformation": [
                "white",
                "green",
                "separated",
                "chopped"
            ],
            "name": "scallions",
            "original": "3 scallions, chopped, white and green parts separated",
            "originalName": "scallions, chopped, white and green parts separated",
            "originalString": "3 scallions, chopped, white and green parts separated",
            "unit": ""
        },
        {
            "aisle": "Alcoholic Beverages",
            "amount": 2.0,
            "consitency": "liquid",
            "id": 14106,
            "image": "white-wine.jpg",
            "measures": {
                "metric": {
                    "amount": 2.0,
                    "unitLong": "Tbsps",
                    "unitShort": "Tbsps"
                },
                "us": {
                    "amount": 2.0,
                    "unitLong": "Tbsps",
                    "unitShort": "Tbsps"
                }
            },
            "meta": [
                "white"
            ],
            "metaInformation": [
                "white"
            ],
            "name": "white wine",
            "original": "2-3 tbsp white wine",
            "originalName": "white wine",
            "originalString": "2-3 tbsp white wine",
            "unit": "tbsp"
        },
        {
            "aisle": "Pasta and Rice",
            "amount": 0.25,
            "consitency": "solid",
            "id": 99025,
            "image": "breadcrumbs.jpg",
            "measures": {
                "metric": {
                    "amount": 59.147,
                    "unitLong": "milliliters",
                    "unitShort": "ml"
                },
                "us": {
                    "amount": 0.25,
                    "unitLong": "cups",
                    "unitShort": "cups"
                }
            },
            "meta": [
                "whole wheat",
                "(I used panko)"
            ],
            "metaInformation": [
                "whole wheat",
                "(I used panko)"
            ],
            "name": "whole wheat bread crumbs",
            "original": "1/4 cup whole wheat bread crumbs (I used panko)",
            "originalName": "whole wheat bread crumbs (I used panko)",
            "originalString": "1/4 cup whole wheat bread crumbs (I used panko)",
            "unit": "cup"
        }
    ],
    "winePairing": {
        "pairedWines": [],
        "pairingText": "No one wine will suit every pasta dish. Pasta in a tomato-based sauce will usually work well with a medium-bodied red, such as a montepulciano or chianti. Pasta with seafood or pesto will fare better with a light-bodied white, such as a pinot grigio. Cheese-heavy pasta can pair well with red or white - you might try a sangiovese wine for hard cheeses and a chardonnay for soft cheeses. We may be able to make a better recommendation if you ask again with a specific pasta dish.",
        "productMatches": []
    }
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Recipe Information Bulk

Get information about multiple recipes at once. This is equivalent to calling the Get Recipe Information endpoint multiple times, but faster.

GET
https://api.spoonacular.com/recipes/informationBulk

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
ids string 715538,716429 A comma-separated list of recipe ids.
includeNutrition boolean false Include nutrition data to the recipe information. Nutrition data is per serving. If you want the nutrition data for the entire recipe, just multiply by the number of servings.
Example Request and Response
[
    {/* recipe data as in Get Recipe Information endpoint */},
    {/* recipe data as in Get Recipe Information endpoint */}
]

Quotas

Calling this endpoint requires
1 point
per recipe returned. Learn more about quotas.

Get Similar Recipes

Find recipes which are similar to the given one.

GET
https://api.spoonacular.com/recipes/{id}/similar

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
id number 715538 The id of the source recipe for which similar recipes should be found.
number number 1 The number of random recipes to be returned (between 1 and 100).
Example Request and Response
[
    {
        "id": 209128,
        "title": "Dinner Tonight: Grilled Romesco-Style Pork",
        "image": "Dinner-Tonight--Grilled-Romesco-Style-Pork-209128.jpg",
        "imageUrls": [
            "Dinner-Tonight--Grilled-Romesco-Style-Pork-209128.jpg"
        ],
        "readyInMinutes": 45,
        "servings": 4
    },
    {
        "id": 31868,
        "title": "Dinner Tonight: Chickpea Bruschetta",
        "image": "dinner_tonight_chickpea_bruschetta-31868.jpg",
        "imageUrls": [
            "dinner_tonight_chickpea_bruschetta-31868.jpg",
            "dinner-tonight-chickpea-bruschetta-2-31868.jpg"
        ],
        "readyInMinutes": 45,
        "servings": 2
    }
]

Quotas

Calling this endpoint requires
1 point
and
0.01 points
per recipe returned. Learn more about quotas.

Get Random Recipes

Find random (popular) recipes.

GET
https://api.spoonacular.com/recipes/random

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
limitLicense boolean true Whether the recipes should have an open license that allows display with proper attribution.
tags string vegetarian, dessert The tags (can be diets, meal types, cuisines, or intolerances) that the recipe must have.
number number 1 The number of random recipes to be returned (between 1 and 100).
Example Request and Response
{
    "recipes":[
        {/* recipe data as in Get Recipe Information endpoint */}
    ]
}

Quotas

Calling this endpoint requires
1 point
and
0.01 points
per recipe returned. Learn more about quotas.

Autocomplete Recipe Search

Autocomplete a partial input to suggest possible recipe names.

GET
https://api.spoonacular.com/recipes/autocomplete

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
query string burger The query to be autocompleted.
number number 10 The number of results to return (between 1 and 25).
Example Request and Response
[
    {
        id: 296687,
        title: "chicken"
    },
    {
        id: 42569,
        title: "chicken bbq"
    },

    {
        id: 83890,
        title: "chicken blt"
    },
    {
        id: 737543,
        title: "chicken pie"
    }
]

Quotas

Calling this endpoint requires
0.1 points
. Learn more about quotas.

Get Recipe Equipment by ID

Get a recipe's equipment list.

GET
https://api.spoonacular.com/recipes/{id}/equipmentWidget.json

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
id number 1003464 The recipe id.
Example Request and Response
{
    "equipment": [
        {
            "image": "pie-pan.png",
            "name": "pie form"
        },
        {
            "image": "bowl.jpg",
            "name": "bowl"
        },
        {
            "image": "oven.jpg",
            "name": "oven"
        },
        {
            "image": "pan.png",
            "name": "frying pan"
        }
    ]
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Recipe Price Breakdown by ID

Get a recipe's price breakdown data.

GET
https://api.spoonacular.com/recipes/{id}/priceBreakdownWidget.json

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
id number 1003464 The recipe id.
Example Request and Response
{
    "ingredients": [
        {
            "amount": {
                "metric": {
                    "unit": "g",
                    "value": 222.0
                },
                "us": {
                    "unit": "cups",
                    "value": 1.5
                }
            },
            "image": "blueberries.jpg",
            "name": "blueberries",
            "price": 174.43
        },
        {
            "amount": {
                "metric": {
                    "unit": "",
                    "value": 1.0
                },
                "us": {
                    "unit": "",
                    "value": 1.0
                }
            },
            "image": "egg-white.jpg",
            "name": "egg white",
            "price": 18.21
        },
        {
            "amount": {
                "metric": {
                    "unit": "Tbsps",
                    "value": 2.0
                },
                "us": {
                    "unit": "Tbsps",
                    "value": 2.0
                }
            },
            "image": "flour.png",
            "name": "flour",
            "price": 2.0
        },
        {
            "amount": {
                "metric": {
                    "unit": "g",
                    "value": 150.0
                },
                "us": {
                    "unit": "cup",
                    "value": 0.75
                }
            },
            "image": "sugar-in-bowl.png",
            "name": "granulated sugar",
            "price": 20.67
        },
        {
            "amount": {
                "metric": {
                    "unit": "tsp",
                    "value": 1.0
                },
                "us": {
                    "unit": "tsp",
                    "value": 1.0
                }
            },
            "image": "lemon-juice.jpg",
            "name": "fresh lemon juice",
            "price": 3.39
        },
        {
            "amount": {
                "metric": {
                    "unit": "pinch",
                    "value": 1.0
                },
                "us": {
                    "unit": "pinch",
                    "value": 1.0
                }
            },
            "image": "ground-nutmeg.jpg",
            "name": "nutmeg",
            "price": 7.39
        },
        {
            "amount": {
                "metric": {
                    "unit": "",
                    "value": 2.0
                },
                "us": {
                    "unit": "",
                    "value": 2.0
                }
            },
            "image": "pie-crust.jpg",
            "name": "pie dough round",
            "price": 364.29
        },
        {
            "amount": {
                "metric": {
                    "unit": "Tbsps",
                    "value": 2.0
                },
                "us": {
                    "unit": "Tbsps",
                    "value": 2.0
                }
            },
            "image": "tapioca-pearls.png",
            "name": "quick cooking tapioca",
            "price": 50.89
        },
        {
            "amount": {
                "metric": {
                    "unit": "g",
                    "value": 305.0
                },
                "us": {
                    "unit": "cups",
                    "value": 2.5
                }
            },
            "image": "rhubarb.jpg",
            "name": "trimmed rhubarb",
            "price": 185.18
        },
        {
            "amount": {
                "metric": {
                    "unit": "Tbsps",
                    "value": 0.5
                },
                "us": {
                    "unit": "Tbsps",
                    "value": 0.5
                }
            },
            "image": "butter-sliced.jpg",
            "name": "unsalted butter",
            "price": 6.0
        }
    ],
    "totalCost": 832.45,
    "totalCostPerServing": 104.06
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Recipe Ingredients by ID

Get a recipe's ingredient list.

GET
https://api.spoonacular.com/recipes/{id}/ingredientWidget.json

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
id number 1003464 The recipe id.
Example Request and Response
{
    "ingredients": [
        {
            "amount": {
                "metric": {
                    "unit": "g",
                    "value": 222.0
                },
                "us": {
                    "unit": "cups",
                    "value": 1.5
                }
            },
            "image": "blueberries.jpg",
            "name": "blueberries"
        },
        {
            "amount": {
                "metric": {
                    "unit": "",
                    "value": 1.0
                },
                "us": {
                    "unit": "",
                    "value": 1.0
                }
            },
            "image": "egg-white.jpg",
            "name": "egg white"
        },
        {
            "amount": {
                "metric": {
                    "unit": "Tbsps",
                    "value": 2.0
                },
                "us": {
                    "unit": "Tbsps",
                    "value": 2.0
                }
            },
            "image": "flour.png",
            "name": "flour"
        },
        {
            "amount": {
                "metric": {
                    "unit": "g",
                    "value": 150.0
                },
                "us": {
                    "unit": "cup",
                    "value": 0.75
                }
            },
            "image": "sugar-in-bowl.png",
            "name": "granulated sugar"
        },
        {
            "amount": {
                "metric": {
                    "unit": "tsp",
                    "value": 1.0
                },
                "us": {
                    "unit": "tsp",
                    "value": 1.0
                }
            },
            "image": "lemon-juice.jpg",
            "name": "fresh lemon juice"
        },
        {
            "amount": {
                "metric": {
                    "unit": "pinch",
                    "value": 1.0
                },
                "us": {
                    "unit": "pinch",
                    "value": 1.0
                }
            },
            "image": "ground-nutmeg.jpg",
            "name": "nutmeg"
        },
        {
            "amount": {
                "metric": {
                    "unit": "",
                    "value": 2.0
                },
                "us": {
                    "unit": "",
                    "value": 2.0
                }
            },
            "image": "pie-crust.jpg",
            "name": "pie dough round"
        },
        {
            "amount": {
                "metric": {
                    "unit": "Tbsps",
                    "value": 2.0
                },
                "us": {
                    "unit": "Tbsps",
                    "value": 2.0
                }
            },
            "image": "tapioca-pearls.png",
            "name": "quick cooking tapioca"
        },
        {
            "amount": {
                "metric": {
                    "unit": "g",
                    "value": 305.0
                },
                "us": {
                    "unit": "cups",
                    "value": 2.5
                }
            },
            "image": "rhubarb.jpg",
            "name": "trimmed rhubarb"
        },
        {
            "amount": {
                "metric": {
                    "unit": "tsps",
                    "value": 0.333
                },
                "us": {
                    "unit": "tsps",
                    "value": 0.333
                }
            },
            "image": "salt.jpg",
            "name": "salt"
        },
        {
            "amount": {
                "metric": {
                    "unit": "Tbsps",
                    "value": 0.5
                },
                "us": {
                    "unit": "Tbsps",
                    "value": 0.5
                }
            },
            "image": "butter-sliced.jpg",
            "name": "unsalted butter"
        }
    ]
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Recipe Nutrition Widget by ID

Get a recipe's nutrition widget data.

GET
https://api.spoonacular.com/recipes/{id}/nutritionWidget.json

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
id number 1003464 The recipe id.
Example Request and Response
{
	"calories": "316",
    "carbs": "49g",
    "fat": "12g",
    "protein": "3g",
    "bad": [
        {
            "amount": "316",
            "indented": false,
            "percentOfDailyNeeds": 15.84,
            "title": "Calories"
        },
        {
            "amount": "12g",
            "indented": false,
            "percentOfDailyNeeds": 18.51,
            "title": "Fat"
        },
        {
            "amount": "3g",
            "indented": true,
            "percentOfDailyNeeds": 24.88,
            "title": "Saturated Fat"
        },
        {
            "amount": "49g",
            "indented": false,
            "percentOfDailyNeeds": 16.44,
            "title": "Carbohydrates"
        },
        {
            "amount": "21g",
            "indented": true,
            "percentOfDailyNeeds": 24.42,
            "title": "Sugar"
        },
        {
            "amount": "1mg",
            "indented": false,
            "percentOfDailyNeeds": 0.63,
            "title": "Cholesterol"
        },
        {
            "amount": "279mg",
            "indented": false,
            "percentOfDailyNeeds": 12.13,
            "title": "Sodium"
        }
    ],
    "good": [
        {
            "amount": "3g",
            "indented": false,
            "percentOfDailyNeeds": 7.57,
            "title": "Protein"
        },
        {
            "amount": "19\u00b5g",
            "indented": false,
            "percentOfDailyNeeds": 18.76,
            "title": "Vitamin K"
        },
        {
            "amount": "0.37mg",
            "indented": false,
            "percentOfDailyNeeds": 18.69,
            "title": "Manganese"
        },
        {
            "amount": "0.15mg",
            "indented": false,
            "percentOfDailyNeeds": 10.02,
            "title": "Vitamin B1"
        },
        {
            "amount": "2g",
            "indented": false,
            "percentOfDailyNeeds": 9.97,
            "title": "Fiber"
        },
        {
            "amount": "37\u00b5g",
            "indented": false,
            "percentOfDailyNeeds": 9.48,
            "title": "Folate"
        },
        {
            "amount": "1mg",
            "indented": false,
            "percentOfDailyNeeds": 7.62,
            "title": "Iron"
        },
        {
            "amount": "1mg",
            "indented": false,
            "percentOfDailyNeeds": 7.48,
            "title": "Vitamin B3"
        },
        {
            "amount": "0.12mg",
            "indented": false,
            "percentOfDailyNeeds": 7.34,
            "title": "Vitamin B2"
        },
        {
            "amount": "5mg",
            "indented": false,
            "percentOfDailyNeeds": 7.26,
            "title": "Vitamin C"
        },
        {
            "amount": "4\u00b5g",
            "indented": false,
            "percentOfDailyNeeds": 6.26,
            "title": "Selenium"
        },
        {
            "amount": "182mg",
            "indented": false,
            "percentOfDailyNeeds": 5.21,
            "title": "Potassium"
        },
        {
            "amount": "43mg",
            "indented": false,
            "percentOfDailyNeeds": 4.38,
            "title": "Calcium"
        },
        {
            "amount": "42mg",
            "indented": false,
            "percentOfDailyNeeds": 4.24,
            "title": "Phosphorus"
        },
        {
            "amount": "13mg",
            "indented": false,
            "percentOfDailyNeeds": 3.43,
            "title": "Magnesium"
        },
        {
            "amount": "0.48mg",
            "indented": false,
            "percentOfDailyNeeds": 3.19,
            "title": "Vitamin E"
        },
        {
            "amount": "0.06mg",
            "indented": false,
            "percentOfDailyNeeds": 3.11,
            "title": "Copper"
        },
        {
            "amount": "0.26mg",
            "indented": false,
            "percentOfDailyNeeds": 2.56,
            "title": "Vitamin B5"
        },
        {
            "amount": "0.05mg",
            "indented": false,
            "percentOfDailyNeeds": 2.32,
            "title": "Vitamin B6"
        },
        {
            "amount": "0.29mg",
            "indented": false,
            "percentOfDailyNeeds": 1.96,
            "title": "Zinc"
        },
        {
            "amount": "76IU",
            "indented": false,
            "percentOfDailyNeeds": 1.53,
            "title": "Vitamin A"
        }
    ]    
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Analyzed Recipe Instructions

Get an analyzed breakdown of a recipe's instructions. Each step is enriched with the ingredients and equipment required.

GET
https://api.spoonacular.com/recipes/{id}/analyzedInstructions

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
id number 324694 The recipe id.
stepBreakdown boolean true Whether to break down the recipe steps even more.
Example Request and Response
[
    {
        "name": "",
        "steps": [
            {
                "equipment": [
                    {
                        "id": 404784,
                        "image": "oven.jpg",
                        "name": "oven",
                        "temperature": {
                            "number": 200.0,
                            "unit": "Fahrenheit"
                        }
                    }
                ],
                "ingredients": [],
                "number": 1,
                "step": "Preheat the oven to 200 degrees F."
            },
            {
                "equipment": [
                    {
                        "id": 404661,
                        "image": "whisk.png",
                        "name": "whisk"
                    },
                    {
                        "id": 404783,
                        "image": "bowl.jpg",
                        "name": "bowl"
                    }
                ],
                "ingredients": [
                    {
                        "id": 19334,
                        "image": "light-brown-sugar.jpg",
                        "name": "light brown sugar"
                    },
                    {
                        "id": 19335,
                        "image": "sugar-in-bowl.png",
                        "name": "granulated sugar"
                    },
                    {
                        "id": 18371,
                        "image": "white-powder.jpg",
                        "name": "baking powder"
                    },
                    {
                        "id": 18372,
                        "image": "white-powder.jpg",
                        "name": "baking soda"
                    },
                    {
                        "id": 12142,
                        "image": "pecans.jpg",
                        "name": "pecans"
                    },
                    {
                        "id": 20081,
                        "image": "flour.png",
                        "name": "all purpose flour"
                    },
                    {
                        "id": 2047,
                        "image": "salt.jpg",
                        "name": "salt"
                    }
                ],
                "number": 2,
                "step": "Whisk together the flour, pecans, granulated sugar, light brown sugar, baking powder, baking soda, and salt in a medium bowl."
            },
            {
                "equipment": [
                    {
                        "id": 404661,
                        "image": "whisk.png",
                        "name": "whisk"
                    },
                    {
                        "id": 404783,
                        "image": "bowl.jpg",
                        "name": "bowl"
                    }
                ],
                "ingredients": [
                    {
                        "id": 2050,
                        "image": "vanilla-extract.jpg",
                        "name": "vanilla extract"
                    },
                    {
                        "id": 93622,
                        "image": "vanilla.jpg",
                        "name": "vanilla bean"
                    },
                    {
                        "id": 1230,
                        "image": "buttermilk.jpg",
                        "name": "buttermilk"
                    },
                    {
                        "id": 1123,
                        "image": "egg.png",
                        "name": "egg"
                    }
                ],
                "number": 3,
                "step": "Whisk together the eggs, buttermilk, butter and vanilla extract and vanilla bean in a small bowl."
            },
            {
                "equipment": [],
                "ingredients": [
                    {
                        "id": 1123,
                        "image": "egg.png",
                        "name": "egg"
                    }
                ],
                "number": 4,
                "step": "Add the egg mixture to the dry mixture and gently mix to combine. Do not overmix."
            },
            {
                "equipment": [],
                "ingredients": [],
                "length": {
                    "number": 15,
                    "unit": "minutes"
                },
                "number": 5,
                "step": "Let the batter sit at room temperature for at least 15 minutes and up to 30 minutes before using."
            },
            {
                "equipment": [
                    {
                        "id": 404779,
                        "image": "griddle.jpg",
                        "name": "griddle"
                    },
                    {
                        "id": 404645,
                        "image": "pan.png",
                        "name": "frying pan"
                    }
                ],
                "ingredients": [],
                "length": {
                    "number": 3,
                    "unit": "minutes"
                },
                "number": 6,
                "step": "Heat a cast iron or nonstick griddle pan over medium heat and brush with melted butter. Once the butter begins to sizzle, use 2 tablespoons of the batter for each pancake and cook until the bubbles appear on the surface and the bottom is golden brown, about 2 minutes, flip over and cook until the bottom is golden brown, 1 to 2 minutes longer."
            },
            {
                "equipment": [
                    {
                        "id": 404784,
                        "image": "oven.jpg",
                        "name": "oven",
                        "temperature": {
                            "number": 200.0,
                            "unit": "Fahrenheit"
                        }
                    }
                ],
                "ingredients": [],
                "number": 7,
                "step": "Transfer the pancakes to a platter and keep warm in a 200 degree F oven."
            },
            {
                "equipment": [],
                "ingredients": [
                    {
                        "id": 10014037,
                        "image": "bourbon.png",
                        "name": "bourbon"
                    }
                ],
                "number": 8,
                "step": "Serve 6 pancakes per person, top each with some of the bourbon butter."
            },
            {
                "equipment": [],
                "ingredients": [
                    {
                        "id": 19336,
                        "image": "powdered-sugar.jpg",
                        "name": "powdered sugar"
                    },
                    {
                        "id": 19911,
                        "image": "maple-syrup.png",
                        "name": "maple syrup"
                    }
                ],
                "number": 9,
                "step": "Drizzle with warm maple syrup and dust with confectioners' sugar."
            },
            {
                "equipment": [],
                "ingredients": [
                    {
                        "id": 12142,
                        "image": "pecans.jpg",
                        "name": "pecans"
                    }
                ],
                "number": 10,
                "step": "Garnish with fresh mint sprigs and more toasted pecans, if desired."
            }
        ]
    },
    {
        "name": "Bourbon Molasses Butter",
        "steps": [
            {
                "equipment": [
                    {
                        "id": 404669,
                        "image": "sauce-pan.jpg",
                        "name": "sauce pan"
                    }
                ],
                "ingredients": [
                    {
                        "id": 10014037,
                        "image": "bourbon.png",
                        "name": "bourbon"
                    },
                    {
                        "id": 19335,
                        "image": "sugar-in-bowl.png",
                        "name": "sugar"
                    }
                ],
                "number": 1,
                "step": "Combine the bourbon and sugar in a small saucepan and cook over high heat until reduced to 3 tablespoons, remove and let cool."
            },
            {
                "equipment": [
                    {
                        "id": 404771,
                        "image": "food-processor.png",
                        "name": "food processor"
                    }
                ],
                "ingredients": [
                    {
                        "id": 19304,
                        "image": "molasses.jpg",
                        "name": "molasses"
                    },
                    {
                        "id": 10014037,
                        "image": "bourbon.png",
                        "name": "bourbon"
                    },
                    {
                        "id": 2047,
                        "image": "salt.jpg",
                        "name": "salt"
                    }
                ],
                "number": 2,
                "step": "Put the butter, molasses, salt and cooled bourbon mixture in a food processor and process until smooth."
            },
            {
                "equipment": [
                    {
                        "id": 404730,
                        "image": "plastic-wrap.jpg",
                        "name": "plastic wrap"
                    },
                    {
                        "id": 404783,
                        "image": "bowl.jpg",
                        "name": "bowl"
                    }
                ],
                "ingredients": [],
                "number": 3,
                "step": "Scrape into a bowl, cover with plastic wrap and refrigerate for at least 1 hour to allow the flavors to meld."
            },
            {
                "equipment": [],
                "ingredients": [],
                "length": {
                    "number": 30,
                    "unit": "minutes"
                },
                "number": 4,
                "step": "Remove from the refrigerator about 30 minutes before using to soften."
            }
        ]
    }
]

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Extract Recipe from Website

This endpoint lets you extract recipe data such as title, ingredients, and instructions from any properly formatted Website.

GET
https://api.spoonacular.com/recipes/extract

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
url string https://foodista.com/recipe/ZHK4KPB6/chocolate-crinkle-cookies The URL of the recipe page.
forceExtraction boolean true If true, the extraction will be triggered whether we already know the recipe or not. Use this only if information is missing as this operation is slower.
Example Request and Response
{/* recipe data as in Get Recipe Information endpoint */}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Visualize Recipe Ingredients by ID

Visualize a recipe's ingredient list.

GET
https://api.spoonacular.com/recipes/{id}/ingredientWidget

Headers

Request Headers:

  • Accept: text/html

Response Headers:

  • Content-Type: text/html

Parameters

Name Type Example Description
id number 1082038 The recipe id.
defaultCss boolean true Whether the default CSS should be added to the response.
Example Request and Response
/* HTML response */

The API response will be HTML and could look like this, for example:


Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Visualize Recipe Equipment by ID

Visualize a recipe's equipment list.

GET
https://api.spoonacular.com/recipes/{id}/equipmentWidget

Headers

Request Headers:

  • Accept: text/html

Response Headers:

  • Content-Type: text/html

Parameters

Name Type Example Description
id number 44860 The recipe id.
defaultCss boolean true Whether the default CSS should be added to the response.
Example Request and Response
/* HTML response */

The API response will be HTML and could look like this, for example:


Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Visualize Recipe Price Breakdown by ID

Visualize a recipe's price breakdown.

GET
https://api.spoonacular.com/recipes/{id}/priceBreakdownWidget

Headers

Request Headers:

  • Accept: text/html

Response Headers:

  • Content-Type: text/html

Parameters

Name Type Example Description
id number 1082038 The recipe id.
defaultCss boolean true Whether the default CSS should be added to the response.
Example Request and Response
/* HTML response */

The API response will be HTML and and could look like this, for example:


Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Visualize Recipe Nutrition

Visualize a recipe's nutritional information as HTML including CSS

POST
https://api.spoonacular.com/recipes/visualizeNutrition

Headers

Request Headers:

  • Accept: text/html
  • Content-Type: application/x-www-form-urlencoded

Response Headers:

  • Content-Type: text/html

Parameters

Name Type Example Description
ingredientList string 3 oz flour The ingredient list of the recipe, one ingredient per line.
servings number 2 The number of servings.
defaultCss boolean true Whether the default CSS should be added to the response.
showBacklink boolean true Whether to show a backlink to spoonacular. If set false, this call counts against your quota.
Example Request and Response
/* HTML response */

The API response will be HTML and and could look like this, for example:


Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Visualize Price Breakdown

Visualize the price breakdown of a recipe.

POST
https://api.spoonacular.com/recipes/visualizePriceEstimator

Headers

Request Headers:

  • Accept: text/html
  • Content-Type: application/x-www-form-urlencoded

Response Headers:

  • Content-Type: text/html

Parameters

Name Type Example Description
ingredientList string 3 oz flour The ingredient list of the recipe, one ingredient per line.
servings number 2 The number of servings.
mode number 1 The mode in which the widget should be delivered. 1 = separate views (compact), 2 = all in one view (full).
defaultCss boolean true Whether the default CSS should be added to the response.
showBacklink boolean true Whether to show a backlink to spoonacular. If set false, this call counts against your quota.
Example Request and Response
/* HTML response */

The API response will be HTML and could look like this, for example::


Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Visualize Equipment

Visualize the equipment used to make a recipe.

POST
https://api.spoonacular.com/recipes/visualizeEquipment

Headers

Request Headers:

  • Accept: text/html
  • Content-Type: application/x-www-form-urlencoded

Response Headers:

  • Content-Type: text/html

Parameters

Name Type Example Description
ingredientList string 3 oz flour The ingredient list of the recipe, one ingredient per line.
servings number 2 The number of servings.
view string grid How to visualize the equipment, either "grid" or "list".
defaultCss boolean true Whether the default CSS should be added to the response.
showBacklink boolean true Whether to show a backlink to spoonacular. If set false, this call counts against your quota.
Example Request and Response
/* HTML response */

The API response will be HTML and could look like this, for example:


Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Summarize Recipe

Automatically generate a short description that summarizes key information about the recipe.

GET
https://api.spoonacular.com/recipes/{id}/summary

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
id number 4632 The recipe id.
Example Request and Response
{
    "id": 4632,
    "summary": "The recipe Soy-and-Ginger-Glazed Salmon with Udon Noodles can be made in approximately 1 hour and 35 minutes. One portion of this dish contains about 48g of protein, 17g of fat, and a total of 552 calories. This recipe serves 4. For $5.91 per serving, this recipe covers 47% of your daily requirements of vitamins and minerals. It works well as a main course. 1 person has tried and liked this recipe. It is brought to you by Food and Wine. If you have fresh ginger, udon noodles, salmon fillets, and a few other ingredients on hand, you can make it. It is a good option if you're following a dairy free and pescatarian diet. All things considered, we decided this recipe deserves a spoonacular score of 92%. This score is great. If you like this recipe, take a look at these similar recipes: Salmon With Soy-ginger Noodles, Ginger-Soy Salmon With Soba Noodles, and Soy & ginger salmon with soba noodles.",
    "title": "Soy-and-Ginger-Glazed Salmon with Udon Noodles"
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Create Recipe Card

Generate a recipe card for a recipe.

POST
https://api.spoonacular.com/recipes/visualizeRecipe

Headers

Request Headers:

  • Content-Type: multipart/form-data

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
title string My recipe The title of the recipe.
image binary The binary image of the recipe as jpg.
ingredients string 2 cups of green beans The ingredient list of the recipe, one ingredient per line (separate lines with \n).
instructions string cook the beans The instructions to make the recipe. One step per line (separate lines with \n).
readyInMinutes number 60 The number of minutes it takes to get the recipe on the table.
servings number 2 The number of servings the recipe makes.
mask string ellipseMask The mask to put over the recipe image ("ellipseMask", "diamondMask", "starMask", "heartMask", "potMask", "fishMask").
backgroundImage string background1 The background image ("none","background1", or "background2").
author string Anna Banana The author of the recipe.
backgroundColor string #ffffff The background color for the recipe card as a hex-string.
fontColor string #333333 The font color for the recipe card as a hex-string.
source string spoonacular.com The source of the recipe.
Example Request and Response
{
    "url": "https://spoonacular.com/url-to-generated-recipe-card.jpg",
}

The API response will contain a link to the generated image. It could look like this for example:


Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Analyze Recipe Instructions

Extract ingredients and equipment from the recipe's instructions.

POST
https://api.spoonacular.com/recipes/analyzeInstructions

Headers

Request Headers:

  • Content-Type: application/x-www-form-urlencoded

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
instructions string Put the garlic in a pan and then add the onion. The instructions to be analyzed.
Example Request and Response
{
    "equipment": [
        {
            "id": 404645,
            "name": "frying pan"
        }
    ],
    "ingredients": [
        {
            "id": 11215,
            "name": "garlic"
        },
        {
            "id": 11282,
            "name": "onion"
        }
    ]
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Classify Cuisine

Classify the recipe's cuisine.

POST
https://api.spoonacular.com/recipes/cuisine

Headers

Request Headers:

  • Content-Type: application/x-www-form-urlencoded

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
title string Pork roast with green beans The title of the recipe.
ingredientList string 3 oz pork shoulder The ingredient list of the recipe, one ingredient per line (separate lines with \n).
Example Request and Response
{
    "cuisine": "Mediterranean",
    "cuisines": [
        "Mediterranean",
        "European",
        "Italian"
    ],
    "confidence": 0.0
}

Quotas

Calling this endpoint requires
0.1 points
. Learn more about quotas.

Analyze a Recipe Search Query

Parse a recipe search query to find out its intention.

GET
https://api.spoonacular.com/recipes/queries/analyze

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
q string salmon with fusilli and no nuts The recipe search query.
Example Request and Response
{
    "dishes": [
        {
            "image": "https://spoonacular.com/cdn/ingredients_100x100/salmon.png",
            "name": "salmon"
        }
    ],
    "ingredients": [
        {
            "image": "fusilli.jpg",
            "include": true,
            "name": "fusilli"
        },
        {
            "image": "nuts-mixed.jpg",
            "include": false,
            "name": "nuts mixed"
        }
    ],
    "cuisines": [],
    "modifiers": []
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Convert Amounts

Convert amounts like "2 cups of flour to grams".

GET
https://api.spoonacular.com/recipes/convert

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
ingredientName string flour The ingredient which you want to convert.
sourceAmount number 2.5 The amount from which you want to convert, e.g. the 2.5 in "2.5 cups of flour to grams".
sourceUnit string cups The unit from which you want to convert, e.g. the grams in "2.5 cups of flour to grams". You can also use "piece", e.g. "3.4 oz tomatoes to piece"
targetUnit string grams The unit to which you want to convert, e.g. the grams in "2.5 cups of flour to grams". You can also use "piece", e.g. "3.4 oz tomatoes to piece"
Example Request and Response
{
    "sourceAmount": 2.5,
    "sourceUnit": "cups",
    "targetAmount": 312.5,
    "targetUnit": "grams",
    "answer": "2.5 cups flour translates to 312.5 grams."
}

Quotas

Calling this endpoint requires
0.1 points
. Learn more about quotas.

Parse Ingredients

Extract an ingredient from plain text.

POST
https://api.spoonacular.com/recipes/parseIngredients

Headers

Request Headers:

  • Content-Type: application/x-www-form-urlencoded

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
ingredientList string 3 oz pork shoulder The ingredient list of the recipe, one ingredient per line.
servings number 2 The number of servings that you can make from the ingredients.
includeNutrition boolean false Whether nutrition data should be added to correctly parsed ingredients.
Example Request and Response
[
    {
        "id": 10072,
        "name": "pork shoulder",
        "amount": 3.0,
        "unit": "oz",
        "unitLong": "ounces",
        "unitShort": "oz",
        "image": "pork-shoulder.png",
        "original": "3 oz pork shoulder",
        "originalName": "pork shoulder",
        "aisle": "Meat",
        "consistency": "solid",
        "estimatedCost": {
            "unit": "US Cents",
            "value": 31.01
        },
        "meta": [],
        "shoppingListUnits": [
            "ounces",
            "pounds"
        ]
    }
]

Quotas

Calling this endpoint requires
1 point
per parsed ingredient. Learn more about quotas.

Autocomplete Ingredient Search

Autocomplete the entry of an ingredient.

GET
https://api.spoonacular.com/food/ingredients/autocomplete

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
query string appl The partial or full ingredient name.
number number 10 The number of results to return (between 1 and 100).
metaInformation boolean false Whether to return more meta information about the ingredients.
intolerances boolean egg A comma-separated list of intolerances. All recipes returned must not contain ingredients that are not suitable for people with the intolerances entered. See a full list of supported intolerances.
Example Request and Response
[
    {
        "image": "apple.jpg",
        "name": "apple"
    },
    {
        "image": "applesauce.png",
        "name": "applesauce"
    },
    {
        "image": "apple-juice.jpg",
        "name": "apple juice"
    },
    {
        "image": "apple-cider.jpg",
        "name": "apple cider"
    },
    {
        "image": "apple-jelly.jpg",
        "name": "apple jelly"
    }
]

Quotas

Calling this endpoint requires
0.1 points
. Learn more about quotas.

Get Ingredient Substitutes

Search for substitutes for a given ingredient.

GET
https://api.spoonacular.com/food/ingredients/substitutes

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
ingredientName string butter The name of the ingredient you want to replace.
Example Request and Response
{
    "ingredient": "butter",
    "substitutes": [
        "1 cup = 7/8 cup shortening and 1/2 tsp salt",
        "1 cup = 7/8 cup vegetable oil + 1/2 tsp salt",
        "1/2 cup = 1/4 cup buttermilk + 1/4 cup unsweetened applesauce",
        "1 cup = 1 cup margarine"
    ],
    "message": "Found 4 substitutes for the ingredient."
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Ingredient Substitutes by ID

Search for substitutes for a given ingredient.

GET
https://api.spoonacular.com/food/ingredients/{id}/substitutes

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
id number 1001 The id of the ingredient you want substitutes for.
Example Request and Response
{
    "ingredient": "butter",
    "substitutes": [
        "1 cup = 7/8 cup shortening and 1/2 tsp salt",
        "1 cup = 7/8 cup vegetable oil + 1/2 tsp salt",
        "1/2 cup = 1/4 cup buttermilk + 1/4 cup unsweetened applesauce",
        "1 cup = 1 cup margarine"
    ],
    "message": "Found 4 substitutes for the ingredient."
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Visualize Ingredients

Visualize ingredients of a recipe.

POST
https://api.spoonacular.com/recipes/visualizeIngredients

Headers

Request Headers:

  • Accept: text/html
  • Content-Type: application/x-www-form-urlencoded

Response Headers:

  • Content-Type: text/html

Parameters

Name Type Example Description
ingredientList string 3 oz flour The ingredient list of the recipe, one ingredient per line.
servings number 2 The number of servings.
measure string metric The original system of measurement, either "metric" or "us".
view string grid How to visualize the ingredients, either "grid" or "list".
defaultCss boolean true Whether the default CSS should be added to the response.
showBacklink boolean true Whether to show a backlink to spoonacular. If set false, this call counts against your quota.
Example Request and Response
/* HTML response */

The API response will be HTML and could look like this, for example:


Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Product Information

Use a product id to get full information about a product, such as ingredients, nutrition, etc.

GET
https://api.spoonacular.com/food/products/{id}

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
id number 22347 The id of the packaged food.
Example Request and Response
{
    "id": 22347,
    "title": "SNICKERS Minis Size Chocolate Candy Bars Variety Mix 10.5-oz. Bag",
    "breadcrumbs": [
        "bars"
    ],
    "images": [
        "https://spoonacular.com/productImages/22347-312x231.jpg",
        "https://spoonacular.com/productImages/22347-636x393.jpg",
        "https://spoonacular.com/productImages/22347-90x90.jpg"
    ],
    "badges": [
        "msg_free",
        "no_artificial_colors",
        "no_artificial_flavors",
        "no_artificial_ingredients",
        "gluten_free"
    ],
    "important_badges": [
        "no_artificial_flavors",
        "no_artificial_colors",
        "no_artificial_ingredients",
        "gluten_free",
        "msg_free"
    ],
    "ingredientCount": 32.0,
    "generatedText": null,
    "ingredientList": "Snickers Brand Almond Bar: Milk Chocolate (Sugar, Cocoa Butter, Chocolate, Skim Milk, Lactose, Milkfat, Soy Lecithin, Artificial Flavor), Corn Syrup, Almonds, Sugar, Milkfat, Skim Milk, Less than 2% - Lactose, Salt, Hydrogenated Palm Kernel Oil and/or Palm Oil, Egg Whites, Chocolate, Artificial Flavor. Snickers Brand: Milk Chocolate (Sugar, Cocoa Butter, Chocolate, Skim Milk, Lactose, Milkfat, Soy Lecithin, Artificial Flavor), Peanuts, Corn Syrup, Sugar, Milkfat, Skim Milk, Partially Hydrogenated Soybean Oil, Lactose, Salt, Egg Whites, Chocolate, Artificial Flavor. Snickers Brand Peanut Butter Squared Bars: Milk Chocolate (Sugar, Cocoa Butter, Chocolate, Skim Milk, Lactose, Milkfat, Soy Lecithin, Artificial Flavor), Peanut Butter (Peanuts, Partially Hydrogenated Soybean Oil), Peanuts, Sugar, Corn Syrup, Vegetable Oil (Hydrogenated Palm Kernel Oil, Palm Oil, Rapeseed Oil and Cottonseed Oil and/or Partially Hydrogenated Palm Kernel Oil), Lactose, Corn Syrup Solids, Invert Sugar, Less than 2% - Glycerin, Dextrose, Skim Milk, Salt, Calcium Carbonate, Partially Hydrogenated Soybean Oil, Egg Whites, Artificial Flavor, TBHQ to Maintain Freshness",
    "ingredients": [
        {
            "description": null,
            "name": "emulsifier",
            "safety_level": null
        },
        {
            "description": null,
            "name": "added sugar",
            "safety_level": null
        },
        {
            "description": null,
            "name": "sweetener",
            "safety_level": null
        },
        {
            "description": null,
            "name": "cooking fat",
            "safety_level": null
        },
        {
            "description": null,
            "name": "cooking oil",
            "safety_level": null
        },
        {
            "description": null,
            "name": "lecithin",
            "safety_level": null
        },
        {
            "description": null,
            "name": "yeast",
            "safety_level": null
        },
        {
            "description": null,
            "name": "menu item type",
            "safety_level": null
        },
        {
            "description": null,
            "name": "nuts",
            "safety_level": null
        },
        {
            "description": null,
            "name": "partially hydrogenated vegetable oil",
            "safety_level": "low"
        },
        {
            "description": "Unlike partially hydrogenated oils, fully hydrogenated oils do not contain trans fat and thus are currently considered safer.",
            "name": "hydrogenated vegetable oil",
            "safety_level": "high"
        },
        {
            "description": null,
            "name": "calcium",
            "safety_level": null
        },
        {
            "description": null,
            "name": "nut butter",
            "safety_level": null
        },
        {
            "description": null,
            "name": "legumes",
            "safety_level": null
        },
        {
            "description": null,
            "name": "refined sweetener",
            "safety_level": null
        },
        {
            "description": null,
            "name": "non food item",
            "safety_level": null
        },
        {
            "description": null,
            "name": "tree nuts",
            "safety_level": null
        },
        {
            "description": null,
            "name": "chocolate",
            "safety_level": null
        },
        {
            "description": null,
            "name": "sugar",
            "safety_level": null
        },
        {
            "description": null,
            "name": "snack",
            "safety_level": null
        },
        {
            "description": null,
            "name": "corn syrup",
            "safety_level": null
        },
        {
            "description": null,
            "name": "drink",
            "safety_level": null
        },
        {
            "description": null,
            "name": "milk",
            "safety_level": null
        },
        {
            "description": null,
            "name": "spread",
            "safety_level": null
        },
        {
            "description": null,
            "name": "vegetable oil",
            "safety_level": null
        },
        {
            "description": null,
            "name": "yeast nutrient",
            "safety_level": null
        },
        {
            "description": null,
            "name": "palm kernel oil",
            "safety_level": null
        },
        {
            "description": null,
            "name": "artificial ingredient",
            "safety_level": null
        },
        {
            "description": null,
            "name": "stabilizer",
            "safety_level": null
        },
        {
            "description": null,
            "name": "additive",
            "safety_level": null
        },
        {
            "description": null,
            "name": "nutrient",
            "safety_level": null
        },
        {
            "description": null,
            "name": "soybean oil",
            "safety_level": null
        },
        {
            "description": null,
            "name": "supplement",
            "safety_level": null
        },
        {
            "description": null,
            "name": "mineral",
            "safety_level": null
        },
        {
            "description": null,
            "name": "artificial flavor",
            "safety_level": "medium"
        },
        {
            "description": null,
            "name": "skim milk",
            "safety_level": null
        },
        {
            "description": null,
            "name": "peanuts",
            "safety_level": null
        },
        {
            "description": null,
            "name": "corn syrup solids",
            "safety_level": "medium"
        },
        {
            "description": "Unlike partially hydrogenated oils, fully hydrogenated oils do not contain trans fat and thus are currently considered safer.",
            "name": "hydrogenated palm kernel oil",
            "safety_level": "high"
        },
        {
            "description": null,
            "name": "cottonseed oil",
            "safety_level": null
        },
        {
            "description": null,
            "name": "milkfat",
            "safety_level": "high"
        },
        {
            "description": null,
            "name": "lactose",
            "safety_level": null
        },
        {
            "description": null,
            "name": "corn syrup",
            "safety_level": null
        },
        {
            "description": null,
            "name": "cocoa butter",
            "safety_level": "high"
        },
        {
            "description": null,
            "name": "tbhq to maintain freshness",
            "safety_level": null
        },
        {
            "description": null,
            "name": "peanut butter",
            "safety_level": null
        },
        {
            "description": null,
            "name": "egg whites",
            "safety_level": null
        },
        {
            "description": null,
            "name": "sugar",
            "safety_level": null
        },
        {
            "description": null,
            "name": "milk chocolate",
            "safety_level": null
        },
        {
            "description": null,
            "name": "palm oil",
            "safety_level": null
        },
        {
            "description": null,
            "name": "artificial flavor.snickers\u00e2\u00ae brand peanut butter squared bars",
            "safety_level": null
        },
        {
            "description": null,
            "name": "salt",
            "safety_level": null
        },
        {
            "description": null,
            "name": "almonds",
            "safety_level": null
        },
        {
            "description": null,
            "name": "skim milk less than 2% - lactose",
            "safety_level": null
        },
        {
            "description": null,
            "name": "vegetable oil",
            "safety_level": null
        },
        {
            "description": null,
            "name": "less than 2% - glycerin",
            "safety_level": null
        },
        {
            "description": null,
            "name": "dextrose",
            "safety_level": "high"
        },
        {
            "description": "Soy lecithin is not a concern for most people allergic to soy.",
            "name": "soy lecithin",
            "safety_level": "high"
        },
        {
            "description": null,
            "name": "invert sugar",
            "safety_level": "high"
        },
        {
            "description": null,
            "name": "chocolate",
            "safety_level": null
        },
        {
            "description": null,
            "name": "rapeseed oil",
            "safety_level": null
        },
        {
            "description": null,
            "name": "partially hydrogenated soybean oil",
            "safety_level": "low"
        },
        {
            "description": null,
            "name": "calcium carbonate",
            "safety_level": "high"
        },
        {
            "description": null,
            "name": "partially hydrogenated palm kernel oil",
            "safety_level": "low"
        },
        {
            "description": null,
            "name": "artificial flavor.snickers brand",
            "safety_level": null
        },
        {
            "description": null,
            "name": "snickers brand almond bar",
            "safety_level": null
        }
    ],
    "likes": 0.0,
    "number_of_servings": null,
    "nutrition": {
        "calories": 180.0,
        "carbs": "25g",
        "fat": "8g",
        "protein": "2g"
    },
    "price": 324.0,
    "serving_size": "4.0 pieces (38 g)",
    "spoonacular_score": 0.0
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Search Grocery Products

Search packaged food products, such as frozen pizza or Greek yogurt.

GET
https://api.spoonacular.com/food/products/search

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
query string greek yogurt The search query.
minCalories number 50 The minimum amount of calories the product must have.
maxCalories number 800 The maximum amount of calories the product can have.
minCarbs number 10 The minimum amount of carbohydrates in grams the product must have.
maxCarbs number 100 The maximum amount of carbohydrates in grams the product can have.
minProtein number 10 The minimum amount of protein in grams the product must have.
maxProtein number 100 The maximum amount of protein in grams the product can have.
minFat number 1 The minimum amount of fat in grams the product must have.
maxFat number 100 The maximum amount of fat in grams the product can have.
offset number 0 The offset number for paging (between 0 and 990).
number number 10 The number of expected results (between 1 and 100).
Example Request and Response
{
    "products": [
        {
            "id": 192386,
            "title": "Pizza Buddy: Frozen Pizza Dough, 16 Oz",
            "image": "https://spoonacular.com/productImages/192386-312x231.jpg",
            "imageType": "jpg"
        },
        {
            "id": 27693,
            "title": "Uno Pizza",
            "image": "https://spoonacular.com/productImages/27693-312x231.jpg",
            "imageType": "jpg"
        }
    ],
    "totalProducts": 1258,
    "type": "product",
    "offset": 0,
    "number": 2
}

Quotas

Calling this endpoint requires
1 point
and
0.01 points
per product returned. Learn more about quotas.

Search Grocery Products by UPC

Get information about a packaged food using its UPC.

GET
https://api.spoonacular.com/food/products/upc/{upc}

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
upc number 041631000564 The product's UPC.
Example Request and Response
{
    "id": 30004,
    "title": "Swan Flour",
    "badges": [
        "egg_free",
        "wheat_free",
        "grain_free",
        "peanut_free",
        "primal",
        "vegetarian",
        "nut_free",
        "vegan",
        "pescetarian",
        "dairy_free",
        "paleo",
        "gluten_free"
    ],
    "important_badges": [
        "gluten_free",
        "paleo",
        "primal",
        "wheat_free",
        "grain_free"
    ],
    "breadcrumbs": [
        "flour",
    ],
    "generatedText": "Swan Flour: This product is an awesome fit if you are searching for a healthy flour. This product has 1 ingredient (in our experience: the fewer ingredients, the better!) This product contains no ingredients that some research suggests you should avoid. One serving of this product provides 30 calories, 0g grams of fat, 0g grams of protein, and 8g grams of carbs.",
    "images": [
        "https://spoonacular.com/productImages/30004-312x231.jpg",
        "https://spoonacular.com/productImages/30004-636x393.jpg",
        "https://spoonacular.com/productImages/30004-90x90.jpg"
    ],
    "ingredientCount": null,
    "ingredientList": "Potato Starch",
    "ingredients": [
        {
            "description": null,
            "name": "",
            "safety_level": null
        },
        {
            "description": null,
            "name": "starch",
            "safety_level": null
        },
        {
            "description": null,
            "name": "potato starch",
            "safety_level": null
        }
    ],
    "likes": 0.0,
    "number_of_servings": 34.0,
    "nutrition": {
        "calories": 30.0,
        "carbs": "8g",
        "fat": "0g",
        "protein": "0g"
    },
    "price": 0.0,
    "serving_size": "1.0 tbsp (10 g)",
    "spoonacular_score": 99.0
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Comparable Products

Find comparable products to the given one.

GET
https://api.spoonacular.com/food/products/upc/{upc}/comparable

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
upc number 033698816271 The UPC of the product for which you want to find comparable products.
Example Request and Response
{
    "comparableProducts": {
        "calories": [],
        "likes": [],
        "price": [],
        "protein": [
            {
                "difference": 3,
                "id": 11797,
                "image": "https://webknox.com/productImages/11797.jpg",
                "title": "Casa Visco Capers"
            },
            {
                "difference": 1,
                "id": 90962,
                "image": "https://webknox.com/productImages/90962.jpg",
                "title": "Colavita Capers"
            },
            {
                "difference": 1,
                "id": 88139,
                "image": "https://webknox.com/productImages/88139.jpg",
                "title": "Mezzetta Capers"
            },
            {
                "difference": 1,
                "id": 152832,
                "image": "https://webknox.com/productImages/152832.jpg",
                "title": "Victoria Imported Capers"
            }
        ],
        "spoonacular_score": [
            {
                "difference": 7,
                "id": 125354,
                "image": "https://webknox.com/productImages/125354.jpg",
                "title": "DeLallo Capers"
            },
            {
                "difference": 7,
                "id": 118361,
                "image": "https://webknox.com/productImages/118361.jpg",
                "title": "Haddon House Non Pareil Capers"
            },
            {
                "difference": 7,
                "id": 113686,
                "image": "https://webknox.com/productImages/113686.jpg",
                "title": "Dell Alpe Capers"
            },
            {
                "difference": 7,
                "id": 112078,
                "image": "https://webknox.com/productImages/112078.jpg",
                "title": "Paesana Imported Capers"
            }
        ],
        "sugar": []
    }
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Autocomplete Product Search

Generate suggestions for grocery products based on a (partial) query. The matches will be found by looking in the title only.

GET
https://api.spoonacular.com/food/products/suggest

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
query string chicke The (partial) search query.
number number 10 The number of results to return (between 1 and 25).
Example Request and Response
{
    "results": [
        {
            "id": 208698,
            "title": "buddig premium deli chicken breast - rotisserie flavored"
        },
        {
            "id": 41291,
            "title": "tyson all natural chicken breasts tenderloins"
        }
    ]
}

Quotas

Calling this endpoint requires
0.1 points
. Learn more about quotas.

Visualize Product Nutrition by ID

Visualize a product's nutritional information as HTML including CSS.

GET
https://api.spoonacular.com/food/products/{id}/nutritionWidget

Headers

Request Headers:

  • Accept: text/html

Response Headers:

  • Content-Type: text/html

Parameters

Name Type Example Description
id number 7657 The id of the product.
defaultCss boolean true Whether the default CSS should be added to the response.
Example Request and Response
/* HTML response */

The API response will be HTML and could look like this, for example:


Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Visualize Recipe Nutrition by ID

Visualize a recipe's nutritional information as HTML including CSS.

GET
https://api.spoonacular.com/recipes/{id}/nutritionWidget

Headers

Request Headers:

  • Accept: text/html

Response Headers:

  • Content-Type: text/html

Parameters

Name Type Example Description
id number 1082038 The recipe id.
defaultCss boolean true Whether the default CSS should be added to the response.
Example Request and Response
/* HTML response */

The API response will be HTML and could look like this, for example:


Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Classify Grocery Product

This endpoint allows you to match a packaged food to a basic category, e.g. a specific brand of milk to the category milk.

POST
https://api.spoonacular.com/food/products/classify

Headers

Request Headers:

  • Content-Type: application/json

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
(post body) string { "title": "Kroger Vitamin A & D Reduced Fat 2% Milk", "upc": "", "plu_code": "" } A json object containing the product title.
locale string en_US The display name of the returned category, supported is en_US (for American English) and en_GB (for British English).
Example Request and Response
{
    "cleanTitle": "Kroger Vitamin A & D Reduced Fat 2% Milk",
    "image": "https://spoonacular.com/cdn/ingredients_100x100/milk.png",
    "category": "2 percent milk",
    "breadcrumbs": [
        "2 percent milk",
        "milk",
        "drink",
        "ingredient"
    ],
    "usdaCode": 1174
}

Quotas

Calling this endpoint requires
0.1 points
. Learn more about quotas.

Classify Grocery Product Bulk

Provide a set of product jsons, get back classified products.

POST
https://api.spoonacular.com/food/products/classifyBatch

Headers

Request Headers:

  • Content-Type: application/json

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
(post body) string [{ "title": "Kroger Vitamin A & D Reduced Fat 2% Milk", "upc": "", "plu_code": "" }] A json array containing objects, each with the product title.
locale string en_US The display name of the returned category, supported is en_US (for American English) and en_GB (for British English).
Example Request and Response
[
        { /* see classify grocery product result */ }
]

Quotas

Calling this endpoint requires
0.1 points
per classified product. Learn more about quotas.

Map Ingredients to Grocery Products

Map a set of ingredients to products you can buy in the grocery store.

POST
https://api.spoonacular.com/food/ingredients/map

Headers

Request Headers:

  • Content-Type: application/json

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
(post body) string { "ingredients": ["eggs","bacon"], "servings": 2, } Input for grocery product mapping.
Example Request and Response
[
    {
        "original": "eggs",
        "originalName": "eggs",
        "ingredientImage": "egg.png",
        "metaInformation": [
            "egg"
        ],
        "products": [
            {
                "id": 209945,
                "title": "Crystal Farms Eggs - Fresh Accents Peeled Hard Cooked 2 ct Packs",
                "upc": "075925889498"
            },
            {
                "id": 214723,
                "title": "Organic Valley Eggs - Organic Medium Brown",
                "upc": "093966811100"
            },
            {
                "id": 183228,
                "title": "Eggland's Best Grade A Eggs Jumbo - 12 CT",
                "upc": "715141328615"
            }
        ]
    },
    {
        "ingredientImage": "raw-bacon.png",
        "metaInformation": [
            "bacon"
        ],
        "original": "bacon",
        "originalName": "bacon",
        "products": [
            {
                "id": 159164,
                "title": "Wright Bacon - Naturally Hickory Smoked",
                "upc": "079621461552"
            },
            {
                "id": 87924,
                "title": "Sugardale Bacon",
                "upc": "073890006025"
            },
            {
                "id": 213315,
                "title": "John Morrell Bacon - Applewood Smoked",
                "upc": "070100060877"
            },
            {
                "id": 94585,
                "title": "Hormel Black Label Bacon Thick Cut",
                "upc": "037600153041"
            }          
        ]
    }
]

Quotas

Calling this endpoint requires
1 point
per mapped ingredient. Learn more about quotas.

Guess Nutrition by Dish Name

Estimate the macronutrients of a dish based on its title.

GET
https://api.spoonacular.com/recipes/guessNutrition

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
title string Spaghetti Aglio et Olio The title of the dish.
Example Request and Response
{
    "calories": {
        "confidenceRange95Percent": {
            "max": 574.07,
            "min": 389.92
        },
        "standardDeviation": 148.55,
        "unit": "calories",
        "value": 428.0
    },
    "carbs": {
        "confidenceRange95Percent": {
            "max": 78.19,
            "min": 55.54
        },
        "standardDeviation": 18.27,
        "unit": "g",
        "value": 65.0
    },
    "fat": {
        "confidenceRange95Percent": {
            "max": 19.2,
            "min": 12.27
        },
        "standardDeviation": 5.59,
        "unit": "g",
        "value": 16.0
    },
    "protein": {
        "confidenceRange95Percent": {
            "max": 29.31,
            "min": 8.12
        },
        "standardDeviation": 17.09,
        "unit": "g",
        "value": 13.0
    },
    "recipesUsed": 10
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Autocomplete Menu Item Search

Generate suggestions for menu items based on a (partial) query. The matches will be found by looking in the title only.

GET
https://api.spoonacular.com/food/menuItems/suggest

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
query string chicke The (partial) search query.
number number 10 The number of results to return (between 1 and 25).
Example Request and Response
{
    "results": [
        {
            "id": 253419,
            "title": "pei wei asian diner thai chicken lettuce wraps"
        },
        {
            "id": 380722,
            "title": "camille's chicken caesar salad includes 2 oz. caesar dressing"
        }
    ]
}

Quotas

Calling this endpoint requires
0.1 points
. Learn more about quotas.

Search Menu Items

Search over 115,000 menu items from over 800 fast food and chain restaurants. For example, McDonald's Big Mac or Starbucks Mocha.

GET
https://api.spoonacular.com/food/menuItems/search

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
query string snickers The search query.
minCalories number 50 The minimum amount of calories the menu item must have.
maxCalories number 800 The maximum amount of calories the menu item can have.
minCarbs number 10 The minimum amount of carbohydrates in grams the menu item must have.
maxCarbs number 100 The maximum amount of carbohydrates in grams the menu item can have.
minProtein number 10 The minimum amount of protein in grams the menu item must have.
maxProtein number 100 The maximum amount of protein in grams the menu item can have.
minFat number 1 The minimum amount of fat in grams the menu item must have.
maxFat number 100 The maximum amount of fat in grams the menu item can have.
offset number 0 The offset number for paging (between 0 and 990).
number number 100 The number of expected results (between 1 and 10).
Example Request and Response
{
    "menuItems": [
        {
            "id": 419357,
            "title": "Burger Sliders",
            "restaurantChain": "Hooters",
            "image": "https://images.spoonacular.com/file/wximages/419357-312x231.png",
            "imageType": "png",
            "readableServingSize": null,
            "servingSize": null
        },
        {
            "id": 424571,
            "title": "Bacon King Burger",
            "restaurantChain": "Burger King",
            "image": "https://images.spoonacular.com/file/wximages/424571-312x231.png",
            "imageType": "png",
            "readableServingSize": null,
            "servingSize": null
        }
    ],
    "totalMenuItems": 6749,
    "type": "menuItem",
    "offset": 0,
    "number": 2,
}

Quotas

Calling this endpoint requires
1 point
and
0.01 points
per menu item returned. Learn more about quotas.

Visualize Menu Item Nutrition by ID

Visualize a menu item's nutritional information as HTML including CSS.

GET
https://api.spoonacular.com/food/menuItems/{id}/nutritionWidget

Headers

Request Headers:

  • Accept: text/html

Response Headers:

  • Content-Type: text/html

Parameters

Name Type Example Description
id number 1003464 The menu item id.
defaultCss boolean true Whether the default CSS should be added to the response.
Example Request and Response
/* HTML response */

The API response will be HTML and could look like this, for example:


Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Menu Item Information

Use a menu item id to get all available information about a menu item, such as nutrition.

GET
https://api.spoonacular.com/food/menuItems/{id}

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
id number 424571 The menu item id.
Example Request and Response
{
    "id": 424571,
    "title": "Bacon King Burger",
    "restaurantChain": "Burger King",
    "nutrition": {
        "calories": 1040.0,
        "carbs": "48g",
        "fat": "69g",
        "protein": "57g"
    },
    "badges": [],
    "breadcrumbs": [
        "burger",
        "main course",
        "food product category"
    ],
    "generatedText": null,
    "imageType": "png",
    "images": [
        "https://images.spoonacular.com/file/wximages/424571-90x90.png",
        "https://images.spoonacular.com/file/wximages/424571-312x231.png",
        "https://images.spoonacular.com/file/wximages/424571-636x393.png"
    ],
    "likes": 0.0,
    "numberOfServings": null,
    "price": null,
    "readableServingSize": null,
    "servingSize": null,
    "spoonacularScore": null
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Generate Meal Plan

Generate a meal plan with three meals per day (breakfast, lunch, and dinner).

GET
https://api.spoonacular.com/recipes/mealplans/generate

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
timeFrame string day Either for one "day" or an entire "week".
targetCalories number 2000 What is the caloric target for one day? The meal plan generator will try to get as close as possible to that goal.
diet string vegetarian Enter a diet that the meal plan has to adhere to. See a full list of supported diets.
exclude string shellfish, olives A comma-separated list of allergens or ingredients that must be excluded.
Example Request and Response
{
    "meals": [
        {
            "id": 655219,
            "title": "Peanut Butter And Chocolate Oatmeal",
            "image": "Peanut-Butter-And-Chocolate-Oatmeal-655219.jpg",
            "imageUrls": [
                "Peanut-Butter-And-Chocolate-Oatmeal-655219.jpg"
            ],
            "readyInMinutes": 45,
            "servings": 1
        },
        {
            "id": 649931,
            "title": "Lentil Salad With Vegetables",
            "image": "Lentil-Salad-With-Vegetables-649931.jpg",
            "imageUrls": [
                "Lentil-Salad-With-Vegetables-649931.jpg"
            ],
            "readyInMinutes": 45,
            "servings": 4
        },
        {
            "id": 632854,
            "title": "Asian Noodles",
            "image": "Asian-Noodles-632854.jpg",
            "imageUrls": [
                "Asian-Noodles-632854.jpg"
            ],
            "readyInMinutes": 45,
            "servings": 4
        }
    ],
    "nutrients": {
        "calories": 1735.81,
        "carbohydrates": 235.17,
        "fat": 69.22,
        "protein": 55.43
    }
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Dish Pairing for Wine

Find a dish that goes well with a given wine.

GET
https://api.spoonacular.com/food/wine/dishes

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
wine string malbec The type of wine that should be paired, e.g. "merlot", "riesling", or "malbec".
Example Request and Response
{
    "pairings": [
        "stew",
        "steak",
        "chili",
        "burger"
    ],
    "text": "Malbec is a dry red wine which is bold and full bodied. It goes especially well with round steak, tri tip steak, steak, boneless pork chops, and pizza burger."
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Wine Pairing

Find a wine that goes well with a food. Food can be a dish name ("steak"), an ingredient name ("salmon"), or a cuisine ("italian").

GET
https://api.spoonacular.com/food/wine/pairing

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
food string steak The food to get a pairing for. This can be a dish ("steak"), an ingredient ("salmon"), or a cuisine ("italian").
maxPrice number 50 The maximum price for the specific wine recommendation in USD.
Example Request and Response
{
    "pairedWines": [
        "merlot",
        "cabernet sauvignon",
        "pinot noir"
    ],
    "pairingText": "Merlot, Cabernet Sauvignon, and Pinot Noir are my top picks for Steak. After all, beef and red wine are a classic combination. Generally, leaner steaks go well with light or medium-bodied reds, such as pinot noir or merlot, while fattier steaks can handle a bold red, such as cabernet sauvingnon. The Sterling Vineyards Merlot with a 5 out of 5 star rating seems like a good match. It costs about 29 dollars per bottle.",
    "productMatches": [
        {
            "id": 428278,
            "title": "Sterling Vineyards Merlot",
            "averageRating": 1.0,
            "description": null,
            "imageUrl": "https://spoonacular.com/productImages/428278-312x231.jpg",
            "link": "https://www.amazon.com/2014-Sterling-Vineyards-Valley-Merlot/dp/B071FP8NPG?tag=spoonacular-20",
            "price": "$28.99",
            "ratingCount": 1.0,
            "score": 0.75
        }
    ]
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Wine Description

Get a simple description of a certain wine, e.g. "malbec", "riesling", or "merlot".

GET
https://api.spoonacular.com/food/wine/description

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
wine string merlot The name of the wine that should be paired, e.g. "merlot", "riesling", or "malbec".
Example Request and Response
{
    "wineDescription": "Merlot is a dry red wine which is smooth and medium bodied."
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Wine Recommendation

Get a specific wine recommendation (concrete product) for a given wine type, e.g. "merlot".

GET
https://api.spoonacular.com/food/wine/recommendation

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
wine string merlot The type of wine to get a specific product recommendation for.
maxPrice number 50 The maximum price for the specific wine recommendation in USD.
minRating number 0.7 The minimum rating of the recommended wine between 0 and 1. For example, 0.8 equals 4 out of 5 stars.
number number 3 The number of wine recommendations expected (between 1 and 100).
Example Request and Response
{
    "recommendedWines": [
        {
            "id": 447938,
            "title": "Rombauer Merlot",
            "averageRating": 0.96,
            "description": "Enticing and lively red color; beautifully aromatic with black cherry and ripe plum. On the palate a purity of blackcurrant, cedar and mint flavors blend together seamlessly. Soft and supple, this wine has a medium-bodied mouth-feel with plush tannins that integrate with the generous finish.Our favorite pairings for this wine include chicken parmesan, cedar-planked salmon over wild rice, and mushroom pizza.",
            "imageUrl": "https://spoonacular.com/productImages/447938-312x231.jpg",
            "link": "https://click.linksynergy.com/deeplink?id=*QCiIS6t4gA&mid=2025&murl=https%3A%2F%2Fwww.wine.com%2Fproduct%2Frombauer-merlot-2008%2F116883",
            "price": "$25.59",
            "ratingCount": 5.0,
            "score": 0.8975
        },
        {
            "id": 430475,
            "title": "NV The Big Kahuna Merlot",
            "averageRating": 0.9,
            "description": "A ripe and rounded Merlot with notes of plum, blackberry, and hint of spice.",
            "imageUrl": "https://spoonacular.com/productImages/430475-312x231.jpg",
            "link": "https://www.amazon.com/Big-Kahuna-Merlot-Red-Wine/dp/B01F5XPTUW?tag=spoonacular-20",
            "price": "$6.99",
            "ratingCount": 4.0,
            "score": 0.823076923076923
        }
    ],
    "totalFound": 21
}

Quotas

Calling this endpoint requires
1 point
and
0.01 points
per wine returned. Learn more about quotas.

Quick Answer

Answer a nutrition related natural language question.

GET
https://api.spoonacular.com/recipes/quickAnswer

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
q string How much vitamin c is in 2 apples? The nutrition related question.
Example Request and Response
{
    "answer": "There are 16.74 mg of Vitamin C in 2 apples. This covers about 20% of your daily needs of Vitamin C.",
    "image": "https://spoonacular.com/cdn/ingredients_100x100/apple.jpg"
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Detect Food in Text

Take any text and find all mentions of food contained within it. This task is also called Named Entity Recognition (NER). In this case, the entities are foods. Either dishes, such as pizza or cheeseburger, or ingredients, such as cucumber or almonds.

POST
https://api.spoonacular.com/food/detect

Headers

Request Headers:

  • Content-Type: application/x-www-form-urlencoded

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
text string I like to eat delicious tacos. The only thing better is a cheeseburger with cheddar. But then again, pizza with pepperoni, mushrooms, and tomatoes is so good too! The text in which food items, such as dish names and ingredients, should be detected in.
Example Request and Response
{
    "annotations": [
        {
            "annotation": "cheeseburger",
            "image": "https://spoonacular.com/menuItemImages/cheeseburger.jpg",
            "tag": "dish"
        },
        {
            "annotation": "mushrooms",
            "image": "https://spoonacular.com/cdn/ingredients_100x100/mushrooms.png",
            "tag": "ingredient"
        },
        {
            "annotation": "pepperoni",
            "image": "https://spoonacular.com/cdn/ingredients_100x100/pepperoni.png",
            "tag": "ingredient"
        },
        {
            "annotation": "tomatoes",
            "image": "https://spoonacular.com/cdn/ingredients_100x100/tomato.png",
            "tag": "ingredient"
        },
        {
            "annotation": "cheddar",
            "image": "https://spoonacular.com/cdn/ingredients_100x100/cheddar-cheese.png",
            "tag": "ingredient"
        },
        {
            "annotation": "tacos",
            "image": "https://spoonacular.com/menuItemImages/taco-isolated.jpg",
            "tag": "dish"
        },
        {
            "annotation": "pizza",
            "image": "https://spoonacular.com/menuItemImages/cheese-pizza.png",
            "tag": "dish"
        }
    ]
}

Interactive Demo

Change the text in the box and press "Detect". The detected dishes will be displayed in red and the detected ingredients in purple.

Detect

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Search Site Content

Search spoonacular's site content. You'll be able to find everything that you could also find using the search suggestions on spoonacular.com. This is a suggest API so you can send partial strings as queries.

GET
https://api.spoonacular.com/food/site/search

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
query string past The query to search for. You can also use partial queries such as "spagh" to already find spaghetti recipes, articles, grocery products, and other content.
Example Request and Response
{
    "Articles": [
        {
            "dataPoints": [],
            "image": "https://spoonacular.com/application/frontend/images/academy/vietnamese-cuisine.jpg",
            "link": "https://spoonacular.com/academy/vietnamese",
            "name": "Traditional Vietnamese Recipes"
        },
        {
            "dataPoints": [],
            "image": "https://spoonacular.com/application/frontend/images/academy/thai-cuisine.jpg",
            "link": "https://spoonacular.com/academy/thai",
            "name": "Authentic Thai Recipes"
        },
        {
            "dataPoints": [],
            "image": "https://spoonacular.com/application/frontend/images/academy/korean-food.jpg",
            "link": "https://spoonacular.com/academy/korean",
            "name": "Typical Korean Recipes"
        }
    ],
    "Grocery Products": [
        {
            "dataPoints": [
                {
                    "key": "Calories",
                    "value": "30 Calories"
                },
                {
                    "key": "Protein",
                    "value": "2g Protein"
                },
                {
                    "key": "Fat",
                    "value": "0.0g Total Fat"
                },
                {
                    "key": "Carbs",
                    "value": "6g Carbs"
                }
            ],
            "image": "https://spoonacular.com/productImages/218909-312x231.jpg",
            "link": "https://spoonacular.com/products/vine-ripe-tomato-paste-218909",
            "name": "Vine-ripe Tomato Paste"
        },
        {
            "dataPoints": [
                {
                    "key": "Calories",
                    "value": "30 Calories"
                },
                {
                    "key": "Protein",
                    "value": "2g Protein"
                },
                {
                    "key": "Fat",
                    "value": "0.0g Total Fat"
                },
                {
                    "key": "Carbs",
                    "value": "6g Carbs"
                }
            ],
            "image": "https://spoonacular.com/productImages/178883-312x231.jpg",
            "link": "https://spoonacular.com/products/contadina-tomato-paste-178883",
            "name": "Contadina Tomato Paste"
        },
        {
            "dataPoints": [
                {
                    "key": "Calories",
                    "value": "30 Calories"
                },
                {
                    "key": "Protein",
                    "value": "2g Protein"
                },
                {
                    "key": "Fat",
                    "value": "0.0g Total Fat"
                },
                {
                    "key": "Carbs",
                    "value": "6g Carbs"
                }
            ],
            "image": "https://spoonacular.com/productImages/137031-312x231.jpg",
            "link": "https://spoonacular.com/products/cento-tomato-paste-137031",
            "name": "Cento Tomato Paste"
        }
    ],
    "Menu Items": [
        {
            "dataPoints": [
                {
                    "key": "Calories",
                    "value": "230 Calories"
                },
                {
                    "key": "Protein",
                    "value": "1g Protein"
                },
                {
                    "key": "Fat",
                    "value": "15g Total Fat"
                },
                {
                    "key": "Carbs",
                    "value": "23g Carbs"
                }
            ],
            "image": "https://spoonacular.com/menuItemImages/stir-fry.jpg",
            "link": "https://spoonacular.com/menu-items/thai-express-stir-fry-chilli-paste-401670",
            "name": "Thai Express Stir-Fry, Chilli Paste"
        }
    ],
    "Recipes": [
        {
            "dataPoints": [
                {
                    "key": "Cost",
                    "value": "$10.51 per serving"
                },
                {
                    "key": "Calories",
                    "value": "400 Calories"
                },
                {
                    "key": "Protein",
                    "value": "9g Protein"
                },
                {
                    "key": "Fat",
                    "value": "32g Total Fat"
                },
                {
                    "key": "Carbs",
                    "value": "26g Carbs"
                }
            ],
            "image": "https://webknox.com/recipeImages/224844-556x370.jpg",
            "link": "https://spoonacular.com/recipes/chermoula-paste-224844",
            "name": "Chermoula Paste"
        },
        {
            "dataPoints": [
                {
                    "key": "Cost",
                    "value": "$8.37 per serving"
                },
                {
                    "key": "Calories",
                    "value": "3560 Calories"
                },
                {
                    "key": "Protein",
                    "value": "119g Protein"
                },
                {
                    "key": "Fat",
                    "value": "319g Total Fat"
                },
                {
                    "key": "Carbs",
                    "value": "54g Carbs"
                }
            ],
            "image": "https://webknox.com/recipeImages/146847-556x370.jpg",
            "link": "https://spoonacular.com/recipes/lulu-paste-146847",
            "name": "Lulu Paste"
        },
        {
            "dataPoints": [
                {
                    "key": "Cost",
                    "value": "$6.68 per serving"
                },
                {
                    "key": "Calories",
                    "value": "990 Calories"
                },
                {
                    "key": "Protein",
                    "value": "53g Protein"
                },
                {
                    "key": "Fat",
                    "value": "86g Total Fat"
                },
                {
                    "key": "Carbs",
                    "value": "0.82g Carbs"
                }
            ],
            "image": "https://webknox.com/recipeImages/84670-556x370.jpg",
            "link": "https://spoonacular.com/recipes/steak-paste-84670",
            "name": "Steak Paste"
        }
    ]
}

Quotas

Calling this endpoint requires
0.1 points
. Learn more about quotas.

Search Food Videos

Find recipe and other food related videos.

GET
https://api.spoonacular.com/food/videos/search

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
query string chicken soup The search query.
type string main course The type of the recipes. See a full list of supported meal types.
cuisine string italian The cuisine(s) of the recipes. One or more, comma separated. See a full list of supported cuisines.
diet string vegetarian The diet for which the recipes must be suitable. See a full list of supported diets.
includeIngredients string tomato,cheese A comma-separated list of ingredients that the recipes should contain.
excludeIngredients string eggs A comma-separated list of ingredients or ingredient types that the recipes must not contain.
minLength number 0 Minimum video length in seconds.
maxLength number 999 Maximum video length in seconds.
offset number 0 The number of results to skip (between 0 and 900).
number number 10 The number of results to return (between 1 and 100).
Example Request and Response
{
    "videos": [
        {
            "title": "8 One-Pot Pastas",
            "length": 370,
            "rating": 0.985984219269103,
            "shortTitle": "8 One-Pot Pastas",
            "thumbnail": "https://i.ytimg.com/vi/YTZGPCCB2FU/mqdefault.jpg",
            "views": 550467,
            "youTubeId": "YTZGPCCB2FU"
        },
        {
            "title": "Macaroni salad - pasta salad recipes - healthy recipe channel - quick tasty recipe - cooking channel",
            "length": 333,
            "rating": 1.0,
            "shortTitle": "Macaroni salad",
            "thumbnail": "https://i.ytimg.com/vi/81bn4p8H3Kg/mqdefault.jpg",
            "views": 307,
            "youTubeId": "81bn4p8H3Kg"
        }
    ],
    "totalResults": 172
}

Quotas

Calling this endpoint requires
1 point
and
0.01 points
per video returned. Learn more about quotas.

Get a Random Food Joke

Get a random joke that is related to food. Caution: this is an endpoint for adults!

GET
https://api.spoonacular.com/food/jokes/random

Headers

Response Headers:

  • Content-Type: application/json
Example Request and Response
{
    "text": "Any salad can be a Caesar salad if you stab it enough."
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Random Food Trivia

Returns random food trivia.

GET
https://api.spoonacular.com/food/trivia/random

Headers

Response Headers:

  • Content-Type: application/json
Example Request and Response
{
    "text": "The red food-coloring carmine used in Skittles and other candies is made from boiled cochineal bugs, a type of beetle."
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Ingredient Information

Use an ingredient id to get all available information about an ingredient, such as its image and supermarket aisle.

GET
https://api.spoonacular.com/food/ingredients/{id}/information

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
id number 9266 The ingredient id.
amount number 150 The amount of this ingredient.
unit string grams The unit for the given amount.
Example Request and Response
{
    "id": 9266,
    "aisle": "Produce",
    "name": "pineapple",
    "image": "pineapple.jpg",
    "amount": 1.0,
    "consistency": "solid",
    "estimatedCost": {
        "unit": "US Cents",
        "value": 299.0
    },
    "meta": [],
    "original": null,
    "originalName": null,
    "shoppingListUnits": [
        "pieces"
    ],
    "unit": "",
    "unitLong": "",
    "unitShort": ""
}

Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Talk to Chatbot

This endpoint can be used to have a conversation about food with the spoonacular chatbot. Use the "Get Conversation Suggests" endpoint to show your user what he or she can say.

GET
https://api.spoonacular.com/food/converse

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
text string donut recipes The request / question / answer from the user to the chatbot.
contextId string 342938 An arbitrary globally unique id for your conversation. The conversation can contain states so you should pass your context id if you want the bot to be able to remember the conversation.
Example Request and Response
{
    "answerText": "Baby, if you were a fruit you'd be a fineapple.",
    "media": []
}

Learn more

See how you can write your own chatbot or test spoonacular's food chatbot.


Quotas

Calling this endpoint requires
1 point
. Learn more about quotas.

Get Conversation Suggests

This endpoint returns suggestions for things the user can say or ask the chatbot.

GET
https://api.spoonacular.com/food/converse/suggest

Headers

Response Headers:

  • Content-Type: application/json

Parameters

Name Type Example Description
query string tell A (partial) query from the user. The endpoint will return if it matches topics it can talk about.
number number 5 The number of suggestions to return (between 1 and 25).
Example Request and Response
{
    "suggests": {
        "_": [
            {
                "name": "Tell me something funny"
            },
            {
                "name": "Tell me a food fact"
            },
            {
                "name": "Tell me a joke"
            },
            {
                "name": "Tell me food trivia"
            },
            {
                "name": "Tell me a fact about food"
            }
        ]
    },
    "words": []
}

Quotas

Calling this endpoint requires
0.1 points
. Learn more about quotas.

List of Ingredients

If you need ingredient names in your application, you can download a list of the 1,000 most frequently used ingredients including their id so you can call the API for more information. You are allowed to cache this list on your end but it is advised to update it every once in a while due to possible ingredient id changes.

Download ingredient list

Show Images

Ingredients

Endpoints like the ingredient autosuggestion will only give you an image name. You have to build the full URL by adding the base path to the beginning. The base path for ingredient images is https://spoonacular.com/cdn/ingredients_{SIZE}/, where {SIZE} is one of the following:

  • 100x100
  • 250x250
  • 500x500

So for "apple.jpg" the full path for 100x100 is https://spoonacular.com/cdn/ingredients_100x100/apple.jpg

Cooking Equipment

The recipe instruction endpoint will give you information about the equipment used for cooking the dish. You will again only receive the image name for the equipment. You have to build the full URL by adding the base path to the beginning. The base path for equipment images is https://spoonacular.com/cdn/equipment_{SIZE}/, where {SIZE} is one of the following:

  • 100x100
  • 250x250
  • 500x500

So for "slow-cooker.jpg" the full path for 100x100 is https://spoonacular.com/cdn/ingredients_100x100/slow-cooker.jpg

Recipes

Recipe endpoints will almost always give you a recipe id {ID}. With that and the imageType {TYPE} you can build the complete image paths depending on your needs.

The base path for image URLs is https://spoonacular.com/recipeImages/. Once you know the recipe id {ID} and image type {TYPE}, you can complete that path to show an image. The complete path follows this pattern https://spoonacular.com/recipeImages/{ID}-{SIZE}.{TYPE}, where {SIZE} is one of the following:

  • 90x90
  • 240x150
  • 312x150
  • 312x231
  • 480x360
  • 556x370
  • 636x393

A complete image path might look like this: https://spoonacular.com/recipeImages/579247-556x370.jpg

Or this: https://spoonacular.com/recipeImages/579247-90x90.jpg

Grocery Products

Grocery product endpoints will almost always give you a product id {ID}. With that and the imageType {TYPE} you can build the complete image paths depending on your needs.

The base path for image URLs is https://spoonacular.com/productImages/. Once you know the product id {ID} and image type {TYPE}, you can complete that path to show an image. The complete path follows this pattern https://spoonacular.com/productImages/{ID}-{SIZE}.{TYPE}, where {SIZE} is one of the following:

  • 90x90
  • 312x231
  • 636x393

A complete image path might look like this: https://spoonacular.com/productImages/35507-636x393.jpg

Or this: https://spoonacular.com/productImages/35507-90x90.jpg

Menu Items

Menu item will almost always give you a menu item id {ID}. With that and the imageType {TYPE} you can build the complete image paths depending on your needs.

The base path for image URLs is https://images.spoonacular.com/file/wximages/. Once you know the menu item id {ID} and image type {TYPE}, you can complete that path to show an image. The complete path follows this pattern https://images.spoonacular.com/file/wximages/{ID}-{SIZE}.{TYPE}, where {SIZE} is one of the following:

  • 90x90
  • 312x231
  • 636x393

A complete image path might look like this: https://images.spoonacular.com/file/wximages/423186-636x393.png

Or this: https://images.spoonacular.com/file/wximages/423186-90x90.png

Intolerances

Every API endpoint asking for a intolerances parameter can be fed with any of these intolerances.

  • Dairy Free
  • Egg Free
  • Gluten Free
  • Grain Free
  • Peanut Free
  • Seafood Free
  • Sesame Free
  • Shellfish Free
  • Soy Free
  • Sulfite Free
  • Tree Nut Free
  • Wheat Free

Meal Types

Every API endpoint asking for a type parameter can be fed with any of these meal types.

  • main course
  • side dish
  • dessert
  • appetizer
  • salad
  • bread
  • breakfast
  • soup
  • beverage
  • sauce
  • marinade
  • fingerfood
  • snack
  • drink

Recipe Sorting Options

This is a list of possible values for the sort parameter of the complex recipe search endpoint.

  • (empty)
  • meta-score
  • popularity
  • healthiness
  • price
  • time
  • max-used-ingredients
  • min-missing-ingredients
  • alcohol
  • caffeine
  • copper
  • energy
  • calories
  • calcium
  • carbohydrates
  • carbs
  • choline
  • cholesterol
  • total-fat
  • fluoride
  • trans-fat
  • saturated-fat
  • mono-unsaturated-fat
  • poly-unsaturated-fat
  • fiber
  • folate
  • folic-acid
  • iodine
  • iron
  • magnesium
  • manganese
  • vitamin-b3
  • niacin
  • vitamin-b5
  • pantothenic-acid
  • phosphorus
  • potassium
  • protein
  • vitamin-b2
  • riboflavin
  • selenium
  • sodium
  • vitamin-b1
  • thiamin
  • vitamin-a
  • vitamin-b6
  • vitamin-b12
  • vitamin-c
  • vitamin-d
  • vitamin-e
  • vitamin-k
  • sugar
  • zinc

Cuisines

Every API endpoint asking for a cuisine parameter can be fed with any of these cuisines.

  • African
  • American
  • British
  • Cajun
  • Caribbean
  • Chinese
  • Eastern European
  • European
  • French
  • German
  • Greek
  • Indian
  • Irish
  • Italian
  • Japanese
  • Jewish
  • Korean
  • Latin American
  • Mediterranean
  • Mexican
  • Middle Eastern
  • Nordic
  • Southern
  • Spanish
  • Thai
  • Vietnamese

Diet Definitions

Every API endpoint asking for an diet parameter can be fed with any of these diets.

Gluten Free

Eliminating gluten means avoiding wheat, barley, rye, and other gluten-containing grains and foods made from them (or that may have been cross contaminated).

Ketogenic

The keto diet is based more on the ratio of fat, protein, and carbs in the diet rather than specific ingredients. Generally speaking, high fat, protein-rich foods are acceptable and high carbohydrate foods are not.

Vegetarian

No ingredients may contain meat or meat by-products, such as bones or gelatin.

Lacto-Vegetarian

All ingredients must be vegetarian and none of the ingredients can be or contain egg.

Ovo-Vegetarian

All ingredients must be vegetarian and none of the ingredients can be or contain dairy.

Vegan

No ingredients may contain meat or meat by-products, such as bones or gelatin, nor may they contain eggs, dairy, or honey.

Pescetarian

Everything is allowed except meat and meat by-products - some pescetarians eat eggs and dairy, some do not.

Paleo

Allowed ingredients include meat (especially grass fed), fish, eggs, vegetables, some oils (e.g. coconut and olive oil), and in smaller quantities, fruit, nuts, and sweet potatoes. We also allow honey and maple syrup (popular in Paleo desserts, but strict Paleo followers may disagree). Ingredients not allowed include legumes (e.g. beans and lentils), grains, dairy, refined sugar, and processed foods.

Primal

Very similar to Paleo, except dairy is allowed - think raw and full fat milk, butter, ghee, etc.

Whole30

Allowed ingredients include meat, fish/seafood, eggs, vegetables, fresh fruit, coconut oil, olive oil, small amounts of dried fruit and nuts/seeds. Ingredients not allowed include added sweeteners (natural and artificial, except small amounts of fruit juice), dairy (except clarified butter or ghee), alcohol, grains, legumes (except green beans, sugar snap peas, and snow peas), and food additives, such as carrageenan, MSG, and sulfites.

See also the comparison of popular diets

How to Write a Chatbot

Here is an easy way how to make a chatbot like the spoonacular chatbot with JavaScript in 10 minutes.

Quotas

Each API plan comes with a daily quota of points. Every API call you make costs a certain amount of points. Usually, every request is
1 point
and
0.01 points
per result returned, but there are many exceptions. At the bottom of each endpoint description you will find information about the number of points required for that endpoint.

When you are on the free plan and your daily quota is used up, the API will respond with the error code 402 and no more calls can be made until your quota resets.

You have complete control over your quota by looking at your console dashboard and checking the API response headers that appear with every answer from the API. These response headers are:

  • X-API-Quota-Request: The number of points used by the request.
  • X-API-Quota-Used: The number of points used in total today. This number resets to zero at midnight UTC (click here to compare to your local time zone).

Authentication

To use the API you need an API key. You can get a free one by simply signing up here.

Once you have your API key, you have to put it in the request URL for every request you make like so ?apiKey=YOUR-API-KEY.