spoonacular API

The spoonacular Nutrition, Recipe, and Food API allows you to access over thousands of recipes, thousands of ingredients, 800,000 food products, over 100,000 menu items, and restaurants. Our food ontology and semantic recipe search engine makes it possible to search for recipes using natural language queries, such as "gluten free brownies without sugar" or "low fat vegan cupcakes." You can automatically calculate the nutritional information for any recipe, analyze recipe costs, visualize ingredient lists, find recipes for what's in your fridge, find recipes based on special diets, nutritional requirements, or favorite ingredients, classify recipes into types and cuisines, convert ingredient amounts, or even compute an entire meal plan. With our powerful API, you can create many kinds of food and especially nutrition apps.

Special diets/dietary requirements currently available include: vegan, vegetarian, pescetarian, gluten free, grain free, dairy free, high protein, whole 30, low sodium, low carb, Paleo, ketogenic, FODMAP, and Primal.

EndpointDescription
 GET /mealplanner/{username}/templates/{id}Get Meal Plan Template Get information about a meal plan template.
 POST /mealplanner/{username}/templatesAdd Meal Plan Template Add a meal plan template for a user.
 DELETE /mealplanner/{username}/day/{date}Clear Meal Plan Day Delete all planned items from the user's meal plan for a specific day.
 DELETE /mealplanner/{username}/items/{id}Delete from Meal Plan Delete an item from the user's meal plan.
 DELETE /mealplanner/{username}/shopping-list/items/{id}Delete from Shopping List Delete an item from the current shopping list of the user.
 DELETE /mealplanner/{username}/templates/{id}Delete Meal Plan Template Delete a meal plan template for a user.
 GET /food/converseTalk 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…
 GET /food/converse/suggestConversation Suggests This endpoint returns suggestions for things the user can say or ask the chatbot.
 GET /food/customFoods/searchSearch Custom Foods Search custom foods in a user's account.
 GET /food/images/analyzeImage Analysis by URL Analyze a food image. The API tries to classify the image, guess the nutrition, and find a matching recipes.
 GET /food/images/classifyImage Classification by URL Classify a food image.
 GET /food/ingredients/{id}/amountCompute Ingredient Amount Compute the amount you need of a certain ingredient for a certain nutritional goal. For example, how much pineapple do you have to eat to get 10 grams of protein?
 GET /food/ingredients/{id}/informationGet Ingredient Information Use an ingredient id to get all available information about an ingredient, such as its image and supermarket aisle.
 GET /food/ingredients/{id}/substitutesGet Ingredient Substitutes by ID Search for substitutes for a given ingredient.
 GET /food/ingredients/autocompleteAutocomplete Ingredient Search Autocomplete the entry of an ingredient.
 GET /food/ingredients/searchIngredient Search Search for simple whole foods (e.g. fruits, vegetables, nuts, grains, meat, fish, dairy etc.).
 GET /food/ingredients/substitutesGet Ingredient Substitutes Search for substitutes for a given ingredient.
 GET /food/jokes/randomRandom Food Joke Get a random joke that is related to food. Caution: this is an endpoint for adults!
 GET /food/menuItems/{id}Get Menu Item Information Use a menu item id to get all available information about a menu item, such as nutrition.
 GET /food/menuItems/{id}/nutritionLabelMenu Item Nutrition Label Widget Visualize a menu item's nutritional label information as HTML including CSS.
 GET /food/menuItems/{id}/nutritionLabel.pngMenu Item Nutrition Label Image Visualize a menu item's nutritional label information as an image.
 GET /food/menuItems/{id}/nutritionWidgetMenu Item Nutrition by ID Widget Visualize a menu item's nutritional information as HTML including CSS.
 GET /food/menuItems/{id}/nutritionWidget.pngMenu Item Nutrition by ID Image Visualize a menu item's nutritional information as HTML including CSS.
 GET /food/menuItems/searchSearch 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 /food/menuItems/suggestAutocomplete 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 /food/products/{id}Get Product Information Use a product id to get full information about a product, such as ingredients, nutrition, etc. The nutritional information is per serving.
 GET /food/products/{id}/nutritionLabelProduct Nutrition Label Widget Get a product's nutrition label as an HTML widget.
 GET /food/products/{id}/nutritionLabel.pngProduct Nutrition Label Image Get a product's nutrition label as an image.
 GET /food/products/{id}/nutritionWidgetProduct Nutrition by ID Widget Visualize a product's nutritional information as HTML including CSS.
 GET /food/products/{id}/nutritionWidget.pngProduct Nutrition by ID Image Visualize a product's nutritional information as an image.
 GET /food/products/searchSearch Grocery Products Search packaged food products, such as frozen pizza or Greek yogurt.
 GET /food/products/suggestAutocomplete Product Search Generate suggestions for grocery products based on a (partial) query. The matches will be found by looking in the title only.
 GET /food/products/upc/{upc}Search Grocery Products by UPC Get information about a packaged food using its UPC.
 GET /food/products/upc/{upc}/comparableGet Comparable Products Find comparable products to the given one.
 GET /food/restaurants/searchSearch Restaurants Search through thousands of restaurants (in North America) by location, cuisine, budget, and more.
 GET /food/searchSearch All Food Search all food content with one call. That includes recipes, grocery products, menu items, simple foods (ingredients), and food videos.
 GET /food/site/searchSearch 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…
 GET /food/trivia/randomRandom Food Trivia Returns random food trivia.
 GET /food/videos/searchSearch Food Videos Find recipe and other food related videos.
 GET /food/wine/descriptionWine Description Get a simple description of a certain wine, e.g. "malbec", "riesling", or "merlot".
 GET /food/wine/dishesDish Pairing for Wine Find a dish that goes well with a given wine.
 GET /food/wine/pairingWine 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 /food/wine/recommendationWine Recommendation Get a specific wine recommendation (concrete product) for a given wine type, e.g. "merlot".
 GET /mealplanner/{username}/shopping-listGet Shopping List Get the current shopping list for the given user.
 GET /mealplanner/{username}/templatesGet Meal Plan Templates Get meal plan templates from user or public ones.
 GET /mealplanner/{username}/week/{start-date}Get Meal Plan Week Retrieve a meal planned week for the given user. The username must be a spoonacular user and the hash must the the user's hash that can be found in his/her account.
 GET /mealplanner/generateGenerate Meal Plan Generate a meal plan with three meals per day (breakfast, lunch, and dinner).
 GET /recipes/{id}/analyzedInstructionsGet Analyzed Recipe Instructions Get an analyzed breakdown of a recipe's instructions. Each step is enriched with the ingredients and equipment required.
 GET /recipes/{id}/cardCreate Recipe Card Generate a recipe card for a recipe.
 GET /recipes/{id}/equipmentWidgetEquipment by ID Widget Visualize a recipe's equipment list.
 GET /recipes/{id}/equipmentWidget.jsonEquipment by ID Get a recipe's equipment list.
 GET /recipes/{id}/equipmentWidget.pngEquipment by ID Image Visualize a recipe's equipment list as an image.
 GET /recipes/{id}/informationGet Recipe Information Use a recipe id to get full information about a recipe, such as ingredients, nutrition, diet and allergen information, etc.
 GET /recipes/{id}/ingredientWidgetIngredients by ID Widget Visualize a recipe's ingredient list.
 GET /recipes/{id}/ingredientWidget.jsonIngredients by ID Get a recipe's ingredient list.
 GET /recipes/{id}/ingredientWidget.pngIngredients by ID Image Visualize a recipe's ingredient list.
 GET /recipes/{id}/nutritionLabelRecipe Nutrition Label Widget Get a recipe's nutrition label as an HTML widget.
 GET /recipes/{id}/nutritionLabel.pngRecipe Nutrition Label Image Get a recipe's nutrition label as an image.
 GET /recipes/{id}/nutritionWidgetRecipe Nutrition by ID Widget Visualize a recipe's nutritional information as HTML including CSS.
 GET /recipes/{id}/nutritionWidget.jsonNutrition by ID Get a recipe's nutrition data.
 GET /recipes/{id}/nutritionWidget.pngRecipe Nutrition by ID Image Visualize a recipe's nutritional information as an image.
 GET /recipes/{id}/priceBreakdownWidgetPrice Breakdown by ID Widget Visualize a recipe's price breakdown.
 GET /recipes/{id}/priceBreakdownWidget.jsonPrice Breakdown by ID Get a recipe's price breakdown data.
 GET /recipes/{id}/priceBreakdownWidget.pngPrice Breakdown by ID Image Visualize a recipe's price breakdown.
 GET /recipes/{id}/similarGet Similar Recipes Find recipes which are similar to the given one.
 GET /recipes/{id}/summarySummarize Recipe Automatically generate a short description that summarizes key information about the recipe.
 GET /recipes/{id}/tasteWidgetRecipe Taste by ID Widget Get a recipe's taste. The tastes supported are sweet, salty, sour, bitter, savory, and fatty.
 GET /recipes/{id}/tasteWidget.jsonTaste by ID Get a recipe's taste. The tastes supported are sweet, salty, sour, bitter, savory, and fatty.
 GET /recipes/{id}/tasteWidget.pngRecipe Taste by ID Image Get a recipe's taste as an image. The tastes supported are sweet, salty, sour, bitter, savory, and fatty.
 GET /recipes/autocompleteAutocomplete Recipe Search Autocomplete a partial input to suggest possible recipe names.
 GET /recipes/complexSearchSearch Recipes 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 /recipes/convertConvert Amounts Convert amounts like "2 cups of flour to grams".
 GET /recipes/extractExtract Recipe from Website This endpoint lets you extract recipe data such as title, ingredients, and instructions from any properly formatted Website.
 GET /recipes/findByIngredientsSearch Recipes by Ingredients Ever wondered what recipes you can cook with the ingredients you have in your fridge or pantry? This endpoint lets you find recipes that either maximize the usage of…
 GET /recipes/findByNutrientsSearch 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…
 GET /recipes/guessNutritionGuess Nutrition by Dish Name Estimate the macronutrients of a dish based on its title.
 GET /recipes/informationBulkGet 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 /recipes/queries/analyzeAnalyze a Recipe Search Query Parse a recipe search query to find out its intention.
 GET /recipes/quickAnswerQuick Answer Answer a nutrition related natural language question.
 GET /recipes/randomGet Random Recipes Find random (popular) recipes. If you need to filter recipes by diet, nutrition etc. you might want to consider using the complex recipe search endpoint and set the sort request…
 POST /food/detectDetect 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…
 POST /food/ingredients/glycemicLoadCompute Glycemic Load Retrieve the glycemic index for a list of ingredients and compute the individual and total glycemic load.
 POST /food/ingredients/mapMap Ingredients to Grocery Products Map a set of ingredients to products you can buy in the grocery store.
 POST /food/products/classifyClassify 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 /food/products/classifyBatchClassify Grocery Product Bulk Provide a set of product jsons, get back classified products.
 POST /mealplanner/{username}/itemsAdd to Meal Plan Add an item to the user's meal plan.
 POST /mealplanner/{username}/shopping-list/{start-date}/{end-date}Generate Shopping List Generate the shopping list for a user from the meal planner in a given time frame.
 POST /mealplanner/{username}/shopping-list/itemsAdd to Shopping List Add an item to the current shopping list of a user.
 POST /recipes/analyzeAnalyze Recipe This endpoint allows you to send raw recipe information, such as title, servings, and ingredients, to then see what we compute (badges, diets, nutrition, and more). This is useful if…
 POST /recipes/analyzeInstructionsAnalyze Recipe Instructions This endpoint allows you to break down instructions into atomic steps. Furthermore, each step will contain the ingredients and equipment required. Additionally, all…
 POST /recipes/cuisineClassify Cuisine Classify the recipe's cuisine.
 POST /recipes/parseIngredientsParse Ingredients Extract an ingredient from plain text.
 POST /recipes/visualizeEquipmentEquipment Widget Visualize the equipment used to make a recipe.
 POST /recipes/visualizeIngredientsIngredients Widget Visualize ingredients of a recipe. You can play around with that endpoint!
 POST /recipes/visualizeNutritionRecipe Nutrition Widget Visualize a recipe's nutritional information as HTML including CSS.
 POST /recipes/visualizePriceEstimatorPrice Breakdown Widget Visualize the price breakdown of a recipe.
 POST /recipes/visualizeRecipeCreate Recipe Card Generate a recipe card for a recipe.
 POST /recipes/visualizeTasteRecipe Taste Widget Visualize a recipe's taste information as HTML including CSS. You can play around with that endpoint!
 POST /users/connectConnect User In order to call user-specific endpoints, you need to connect your app's users to spoonacular users.