Spoonacular API
Food & DrinkIntroduction to Spoonacular API
Spoonacular is a comprehensive database of food-related information that can be accessed through a RESTful API. The API provides developers with a variety of endpoint options that enable them to retrieve information about food recipes, ingredients, and nutrition.
This blog post will cover some of the most popular Spoonacular API endpoints and include example code in JavaScript.
How to Use the Spoonacular API
Before being able to utilize the Spoonacular API, you'll need to sign up for a free account at https://spoonacular.com/food-api. Once you are registered and logged in, you can generate a free API key to use the endpoints by following the instructions under the API Dashboard page.
Once you have your API key, you can make requests to the Spoonacular API from within your JavaScript code using the axios
package or fetch
method.
Example: Get Random Recipes
One of the most popular endpoints in the Spoonacular API is the 'Get Random Recipes' endpoint. This endpoint allows you to retrieve random recipes that can be used in a variety of ways.
const axios = require("axios");
const api_key = "your-api-key-here";
const url = `https://api.spoonacular.com/recipes/random?apiKey=${api_key}&number=5`;
axios.get(url).then((response) => {
const recipes = response.data.recipes;
recipes.forEach((recipe) => {
console.log(recipe.title);
});
});
Example: Get Recipe Information
The Get Recipe Information endpoint allows you to retrieve detailed information about a specific recipe. You can find information about the recipe, including its ingredients, instructions, and nutrition analysis.
const axios = require("axios");
const api_key = "your-api-key-here";
const recipe_id = 716429;
const url = `https://api.spoonacular.com/recipes/${recipe_id}/information?apiKey=${api_key}&includeNutrition=true`;
axios.get(url).then((response) => {
const recipe = response.data;
console.log(`Recipe Title: ${recipe.title}`);
console.log(`Recipe Servings: ${recipe.servings}`);
console.log("Ingredients:");
recipe.extendedIngredients.map((ing) => {
console.log(`${ing.original}`);
});
console.log("Instructions:");
recipe.analyzedInstructions[0].steps.map((step) => {
console.log(`${step.step}`);
});
console.log("Nutrition Information:");
console.log(`Calories: ${recipe.nutrition.nutrients[0].amount}kcal`);
console.log(`Carbohydrates: ${recipe.nutrition.nutrients[1].amount}g`);
console.log(`Protein: ${recipe.nutrition.nutrients[8].amount}g`);
console.log(`Fat: ${recipe.nutrition.nutrients[5].amount}g`);
console.log(`Saturated Fat: ${recipe.nutrition.nutrients[7].amount}g`);
});
Example: Search Recipes
The Search Recipes endpoint allows you to search for recipes based on a specific set of criteria, including ingredients, cuisine, diet restrictions, and more.
const axios = require("axios");
const api_key = "your-api-key-here";
const query = "pasta";
const cuisine = "Italian";
const url = `https://api.spoonacular.com/recipes/complexSearch?apiKey=${api_key}&query=${query}&cuisine=${cuisine}`;
axios.get(url).then((response) => {
const recipes = response.data.results;
recipes.map((recipe) => {
console.log(`${recipe.title}`);
});
});
Conclusion
In this blog post, we explored some of the essential Spoonacular API endpoints, including getting random recipes, recipe information, and searching for recipes. With these examples, you can integrate the Spoonacular API into your project and retrieve the food-related information you need.
To learn more about other endpoints' capabilities, Spoonacular API Documentation on its official website is the best guide to read.