Recipe Equipment Widget

Learn how to fetch interactive Spoonacular widgets that display the equipment data for recipes.

We can use the Spoonacular API to fetch Spoonacular’s widgets that display the recipes’ equipment data in an interactive way. To do so, we can use the following endpoints based on our use case:

  • Recipe equipment widget
  • Recipe equipment by ID widget

We can use one of the following recipe IDs for any code widgets in this lesson that require them:

Recipe IDs

Recipe Name

ID

Classic Fruit Salad

639600

Tex-Mex Burger

663050

Baked Sirloin Steak

633790

Vegan Chana Masala Curry

1096306

Belgian Hot Chocolate

634818

The recipe equipment widget endpoint

The recipe equipment widget endpoint fetches a widget that displays the equipment data for a recipe in an interactive way. The recipe equipment widget endpoint has a cost of 11 quota point. This endpoint utilizes the GET method and uses the following URL:

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

Here are the request parameters we can use with the recipe equipment widget endpoint:

Request Parameters

Parameter

Type

Category

Description

instructions

String

Required

The instructions of a recipe. We need to pass this parameter in the request body rather than as a query or path parameter.

view

String

Optional

The option on how to view the equipment. We can choose the view to be either list or grid. We need to pass this parameter in the request body rather than as a query or path parameter.

defaultCss

Boolean

Optional

The option, if set to true, adds the default CSS to the response. The default value of this parameter is true. We need to pass this parameter in the request body rather than as a query or path parameter.

showBacklink

Boolean

Optional

The option, if set to true, shows a backlink to Spoonacular, and there’s no quota cost. The default value of this parameter is true. We need to pass this parameter in the request body rather than as a query or path parameter.

Let’s see how to call the API endpoint. Click the “Run” button to execute the code.

Press + to interact
// Define endpoint URL here
const endpointUrl = new URL(`https://api.spoonacular.com/recipes/visualizeEquipment`);
// Define API key here
const apiKey = '{{API_KEY}}';
// Define Header Parameters here
const headerParameters = {
'x-api-key': apiKey,
'accept': 'text/html',
'content-type': 'application/x-www-form-urlencoded',
};
// Define Body Parameters here
const bodyParameters = {
instructions: 'Preheat oven. Cut banana with a knife and put in a blender.',
view: 'list',
defaultCss: true,
}
// Converting body parameters as form data
const bodyFormData = new URLSearchParams();
for (key in bodyParameters) {
bodyFormData.append(key, bodyParameters[key])
}
// Setting API call options
const endpointOptions = {
method: 'POST',
headers: headerParameters,
body: bodyFormData,
};
// Function to make API call
async function recipeEquipmentWidget(url, options) {
try {
// Using the fetch method to make an API call to Spoonacular
const response = await fetch(url, options);
// Custom function for printing the API response
printResponse(response);
} catch (error) {
// Custom function for printing the error message
printError(error);
}
}
// Calling function to make API call
recipeEquipmentWidget(endpointUrl, endpointOptions);

Take a look at the following explanation of the code above:

  • Line 2: We use the endpoint URL /recipes/visualizeEquipment to fetch the Spoonacular widget that displays the equipment data for a recipe in an interactive way.

  • Line 5: We assign the API key here to the apiKey variable.

  • Lines 8–12: We define the header parameters for the API call. We can modify or add parameters using the headerParameters variable.

    • Line 9: We pass the apiKey variable to the x-api-key header parameter.

    • Line 10: We need to set the accept header parameter to text/html.

    • Line 11: We need to set the content-type header parameter to application/x-www-form-urlencoded.

  • Lines 15–19: We define the body parameters for the API call. We can modify or add parameters using the bodyParameters variable.

The recipe equipment by ID widget endpoint

The recipe equipment by ID widget endpoint takes in the ID of a recipe as a path parameter and fetches a widget that displays the equipment data for a recipe in an interactive way. The recipe equipment by ID widget endpoint has a cost of 11quota point. This endpoint utilizes the GET method and uses the following URL:

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

Here are the request parameters we can use with the recipe equipment by ID widget endpoint:

Request Parameters

Parameter

Type

Category

Description

id

Number

Required

The identifier of the recipe for which we’re fetching the equipment widget.

defaultCss

Boolean

Optional

The option, if set to true, adds the default CSS to the response. The default value of this parameter is true.

Let’s see how to call the API endpoint. Click the “Run” button to execute the code. Please provide the value for RECIPE_ID.

Press + to interact
// Define the ID of any recipe here
const id = '{{RECIPE_ID}}';
// Define endpoint URL here
const endpointUrl = new URL(`https://api.spoonacular.com/recipes/${id}/equipmentWidget`);
// Define Header Parameters here
const headerParameters = {
'x-api-key': apiKey,
'accept': 'text/html',
};
// Define Query Parameters here
const queryParameters = new URLSearchParams({
defaultCss: true,
});
// Setting API call options
const endpointOptions = {
method: 'GET',
headers: headerParameters,
};
// Attaching query parameters to the endpoint URL
endpointUrl.search = queryParameters;
// Calling function to make API call
recipeEquipmentWidget(endpointUrl, endpointOptions);

Take a look at the following explanation of the code above:

  • Line 2: We set and store the ID of a recipe for which we want to fetch the equipment widget.

  • Line 5: We use the endpoint URL /recipes/{id}/equipmentWidget to fetch the Spoonacular widget that displays the equipment data for the recipe in an interactive way.

  • Lines 8–11: We define the header parameters for the API call. We can modify or add parameters using the headerParameters variable.

    • Line 10: We need to set the accept header parameter to text/html.

  • Lines 14–16: We define the query parameters for the API call. We can modify or add parameters using the queryParameters variable.