Based on your feedback, we've added new parameters to our most popular endpoints. Start using them today to add new functionality to your site/app:
Search Recipes endpoint:
Get Random Recipes endpoint:
Get Recipe Information endpoint:
Get Product Information endpoint:
Our images are now hosted on Cloudflare R2, so you can expect faster loading times 🥳 While the old image links will still work, we encourage you to review our updated documentation and make the switch.
Speaking of speed: we have made some improvements to our infrastructure as well as our search algorithms, so you should experience faster search performance too - as much as 50% faster!
If you are working with the spoonacular meal planner, then you may have encountered our Custom Foods feature, which makes it possible to add anything you want to your meal plan and provide custom nutritional information as well. Now you can add custom foods to your user accounts with the Add Custom Foods endpoint.
If you use our Search Grocery Products by UPC endpoint, you will be excited to learn we have expanded our coverage from 1 million to over 3 million UPCs! We hope this will be a big improvement for all users building meal planning and food tracking apps.
We also made some changes to our server infrastructure. You should experience better performance and fewer latencies.
You will also find a couple new parameters:
We are happy to be featured among companies like Dropbox and Spotify in NodePit's featured products.
You can search NodePit for KNIME nodes and workflows for all your projects, or you can tap into our nodes here.
With our new Search Restaurants endpoint (in partnership with MealMe), you can search through thousands of restaurants (in North America) by location, cuisine, budget, and more.
In the response, you will get valuable data, such as the address, opening hours, whether they deliver, and more.
By your request, the diet parameter in Search Recipes now supports AND and OR logic. Provide a list of diets separated by a comma for AND (gluten free,vegetarian) and provide a list separated by a pipe for OR (vegan|vegetarian).
We have added a GET endpoint to generate a recipe card.
ingredientId is now returned in the Classify Grocery Product response
You can now use "x-api-key" in your header instead of "apiKey" in the URL
Our responses now include the number of points you have left as "X-API-Quota-Left". See our quotas page for more information.
the Nutrition by ID endpoint now provides richer data, including a full macro- and micronutrient breakdown, flavonoid content, and more. With these exciting changes comes the following deprecation notice:
The structure of the response for Nutrition by ID has changed significantly, please check the new response in the docs. Calories, carbs, fat, protein, bad, good will be removed in their previous form on June 30, 2023!
It might be scary to know how many calories or how much sugar is in your favorite Halloween treats, but we decided to add an endpoint that will generate a nutrition label for recipes, grocery products, and menu items anyway!
Simply send the relevant ID in your request and receive an HTML response back containing a label like what is shown on the left.
If HTML widgets are not working for you, you can now get all our widgets—ingredient list, equipment list, price breakdown, nutrition chart or nutrition label, and more—returned from the API as images as well. Just search our documentation for "widget image" to see all the new endpoints.
If you like our recipe taste endpoint, you might be glad to learn that you can now use the parameter "includeTaste" with the endpoints Analyze Recipe and Extract Recipe from Website.
We have also expanded our popular meal planning API endpoints. You can now use our API to create meal plans without using our meal planner on spoonacular.com.
Our new addProductInformation and addMenuItemInformation parameters allow you to get the full product/menu item data right from the search results, making it unnecessary to query the API again for more detailed information.
Flavonoids are compounds found in many fruit and vegetables that have numerous health benefits. Now when you use the API get the nutritional information of individual ingredients and full recipes, you will be shown the flavonoid content as well.
"nutrition": { "flavanoids": [ { "name": "Catechin", "amount": 3.56, "unit": "mg" }, { "name": "Epigallocatechin", "amount": 19.0, "unit": "mg" }, { "name": "Epicatechin", "amount": 5.03, "unit": "mg" }, { "name": "Gallocatechin", "amount": 2.95, "unit": "mg" } ... ], }
Data can be dry. A creative and explanatory visual can add the flavor you need. Our newest widget lets you Visualize Recipe Taste by ID:
You can also generate this widget by sending an ingredient list.
Prefer just cold hard facts? Get the pure data here. Feel free to play with the code available on our GitHub (https://github.com/ddsky/spoonacular-widgets) too.
We have taken some of our existing technology and applied it to new endpoints to better suit your use cases.
Ever wonder how much of a certain food you would have to eat to get a certain amout of vitamins, fiber, protein, etc.? Our new Compute Ingredient Amount endpoint can answer these questions for you. Simply provide the ingredient ID, the target nutrient, and the amount of this nutrient you want to reach. The API will do the rest.
This new endpoint allows you to send raw recipe information, such as title, servings, and ingredients, to then see what we compute (badges, diets, nutrition, and all the tasty morsels you expect from our API!) This is useful if you have your own recipe data and want to enrich it with our semantic analysis.
This new endpoint is like giving our existing ingredient search growth hormones. Now you can find ingredients while setting macronutrient filters and sorting if you need more control than our existing autocomplete ingredient search offers.
You can now get recipe cards by their id and don't have to send all the data yourself if the recipe is part of the spoonacular recipe database.
Need to add broccoli to your shopping list, but don't need to make a full meal plan? No problem! Our new Compute Shopping List endpoint will return a shopping list if you send a list of ingredients. 1 head of broccoli, 1 bag broccoli slaw, 1 can cream of broccoli soup? You do you.
We now have glycemic index and glycemic load data for many ingredients and can compute the total glycemic load for multiple ingredients or a recipe. Check out the dedicated endpoint or just find the data that is now added to the "nutrition" object called "properties", e.g.
"nutrition": { "properties": [ { "title": "Glycemic Index", "amount": 13.92, "unit": "" }, { "title": "Glycemic Load", "amount": 8.92, "unit": "" } ], }
We have updated all the widget endpoints for visualizing recipe nutrition, equipment, price breakdown, and ingredients and you can use the "play" button in the docs to preview the widgets.
Furthermore, you can find fully working example code that you can copy to your projects which we host on GitHub here: https://github.com/ddsky/spoonacular-widgets
In our last release, we introduced our new meal planning API and we were surprised how many of you adopted it so quickly! From the feedback we received we added and improved a couple endpoints:
In our last release, we introduced our new meal planning API and we were surprised how many of you adopted it so quickly! From the feedback we received we added and improved a couple endpoints:
We receive a lot of requests from users who want to build their own meal planning tools. To help you achieve this, we have added 11 new endpoints to our API, including Add/Delete from Meal Plan, Get Meal Plan Week, Generate Shopping List, and other highly requested endpoints.
These endpoints are closely connected to our meal planner on spoonacular.com. You can find out more here: https://spoonacular.com/food-api/docs#Working-with-the-Meal-Planner
We have been working on a new set of functionalities that allow you to classify food pictures! Our model is trained on over 15,000 images in 50 classes with a focus on dishes that you can get in a restaurant, such as burgers, fish and chips, and lasagna. To train our model, we picked professional photographs and pictures taken by actual restaurant visitors - see how different these two categories are?
How good is our model? After extensive training and evaluation we reached just above 90% accuracy. We also researched other classifiers and studied how well Google, Microsoft, IBM, and other companies focused on image classification work on our dataset. Here's the comparison if you're interested: https://spoonacular.com/food-api/docs#Image-Classification
We have been working on the speed of the recipe search. The new Complex Recipe Search endpoint is now five times faster.
You can now also sort recipes by a large list of criteria, such as by any macro- or micronutrient, cooking time, price, meta-score, or just random.
The nutritional information for each recipe now also contains the weight per serving:
"weightPerServing": { "amount": 269, "unit": "g" }
Additionally, the nutritional information also includes net carbs, which is defined in the API as total carbohydrates minus the fiber content.
When requesting meta-information from the autocomplete ingredient endpoint, you can now also request a list of possible units for any given ingredient.
For example, if your app allows users to enter ingredients, you might want to let them enter 3 slices of apple instead of just 1 oz of apple. The possible units tell you whether the API recognizes the unit (e.g. slices) and can compute the nutrition correctly. The API does not know "slices" for, say, peanuts, so it is beneficial to let your user only pick units that can be understood.
Information about grocery products now contains all the nutritional information we have for a product, not just macronutrients. Additionally, we added a description of the product if available and attempt to guess the supermarket aisle where you would expect to find the product.
We have published a list of the top 1,000 ingredients used in recipes and their spoonacular ingredient ids here.
All our SDKs have been recompiled, so make sure you update your SDK if you are using an older one.