Get a Recipe

This endpoint retrieves recipe information using the recipe identifier.

get
Get Recipe

https://api.studio.whisk.com/recipes/v1/get
You can append the following query parameters to the base URL to pull data of any particular recipe from Whisk Studio:
Request
Response
Request
Headers
Authentication
required
string
Server token to authorize the API usage. For more information, see Authentication.
Query Parameters
recipe_id
required
string
The recipe identifier. For example, 1072689e47689e34a859633309c5d17fec8.
fields
optional
array
Any additional recipe details to retrieve. You can choose one or more of these supported values: - EXTRA_RECIPE_FIELD_INVALID - EXTRA_RECIPE_FIELD_NORMALIZED_INGREDIENTS - EXTRA_RECIPE_FIELD_INSTRUCTIONS - EXTRA_RECIPE_FIELD_NUTRITION - EXTRA_RECIPE_FIELD_INGREDIENTS_LINKED_PRODUCTS - EXTRA_RECIPE_FIELD_AUTO_LABELS For performance reasons, we recommend using this parameter only when required.
integration_id
required
string
An identifier to indicate the integration type. See Integration API for more information.
Response
200: OK
This is how a successful response looks.
{
"recipe": {
"recipe": {
"id": "string",
"name": "string",
"description": "string",
"instructions": {
"steps": [
{
"text": "string",
"group": "string",
"images": [
{
"url": "string",
"responsive": {
"url": "string",
"width": 0,
"height": 0
}
}
],
"custom_labels": [
{
"name": "string",
"labels": [
{
"name": "string"
}
]
}
]
}
]
},
"images": [
{
"url": "string",
"responsive": {
"url": "string",
"width": 0,
"height": 0
}
}
],
"source": {
"name": "string",
"url": "string",
"display_name": "string",
"image": {
"url": "string",
"responsive": {
"url": "string",
"width": 0,
"height": 0
}
}
},
"servings": 0,
"durations": {
"cook_time": 0,
"prep_time": 0,
"total_time": 0
},
"ingredients": [
{
"text": "string",
"group": "string",
"linked_product": {
"id": "string",
"name": "string",
"images": [
{
"url": "string",
"responsive": {
"url": "string",
"width": 0,
"height": 0
}
}
],
"external_product_id": "string"
}
}
],
"normalized_ingredients": [
{
"text": "string",
"group": "string",
"linked_product": {
"id": "string",
"name": "string",
"images": [
{
"url": "string",
"responsive": {
"url": "string",
"width": 0,
"height": 0
}
}
],
"external_product_id": "string"
},
"analysis": [
{
"product": {
"canonical_name": "string",
"original_name": "string"
},
"category": {
"canonical_name": "string"
},
"brand": {
"canonical_name": "string"
},
"quantity": 0,
"unit": "string",
"multiplier": 0,
"comment": "string",
"image_url": "string"
}
],
"source_text": "string"
}
],
"nutrition": {
"status": "STATUS_INVALID",
"total": [
{
"label": "string",
"code": "NUTRITION_CODE_INVALID",
"value": 0,
"unit": "NUTRITION_UNIT_INVALID"
}
],
"coverage": 0,
"health_score": {
"value": 0,
"nutrients_influence": [
{
"code": "NUTRITION_CODE_INVALID",
"influence": 0,
"comment": "string"
}
]
},
"glycemic_index": {
"value": 0
},
"glycemic_load": {
"value": 0
}
},
"labels": {
"meal_type": [
{
"name": "string",
"display_name": "string"
}
],
"cuisine": [
{
"name": "string",
"display_name": "string"
}
],
"category": [
{
"name": "string",
"display_name": "string"
}
],
"technique": [
{
"name": "string",
"display_name": "string"
}
]
},
"author": {
"id": "string",
"name": "string",
"image": {
"url": "string",
"responsive": {
"url": "string",
"width": 0,
"height": 0
}
}
},
"language": "string",
"external_id": "string",
"updated_at_time": "string",
"created_at_time": "string",
"published_status": "RECIPE_PUBLISHED_STATUS_INVALID",
"custom_labels": [
{
"name": "string",
"labels": [
{
"name": "string"
}
]
}
]
}
}
}
400: Bad Request
This failed response appears when error codes are found in the endpoint query.
{
"error_code": "REAL_CODES_ARE_IN_ENDPOINT_DESCRIPTION",
"message": "Additional details about error are not static and can be changed"
}
401: Unauthorized
This failed response appears due to API authentication failure. The possible error codes that may appear are: auth.tokenNotFound , auth.tokenExpired, auth.tokenInvalid, auth.tokenRequired.
{
"code": "auth.tokenNotFound"
}
404: Not Found
This failed response appears when you try to read a deleted recipe.
{
"error_code": 0,
"message": "Recipe with id <recipe_id> has been deleted"
}
500: Internal Server Error
This failed response appears when something is not right on Whisk's end. Please send a message to help@whisk.com, and be sure to include both the Request and Response data. We’ll get back to you soon.
This is unexpected response, something is wrong on our side, please contact: help@whisk.com

Sample Request and Response

Curl Request
Response
Curl Request
curl -X GET "https://api.studio.whisk.com/recipes/v1/get?recipe_id=1072689e47689e34a859633309c5d17fec8&fields=EXTRA_RECIPE_FIELD_NORMALIZED_INGREDIENTS&fields=EXTRA_RECIPE_FIELD_INSTRUCTIONS&fields=EXTRA_RECIPE_FIELD_NUTRITION&fields=EXTRA_RECIPE_FIELD_INGREDIENTS_LINKED_PRODUCTS&fields=EXTRA_RECIPE_FIELD_AUTO_LABELS&integration_id=3a2b8cfd-27cd-4c81-ab79-e31e03e56c20"
-H "Accept: application/json"
-H "Authorization: Bearer <YOUR-API-ACCESS-KEY>"

Note: Whisk allows you to discover and understand its API capabilities on the Swagger interface with the ability to try out the API calls directly in your browser. You can call this endpoint here.

Response
{
"recipe": {
"recipe": {
"id": "1072689e47689e34a859633309c5d17fec8",
"name": "Grab-and-Go Breakfast Sandwich",
"description": "Skip the drive-thru. Your homemade breakfast sandwich, with cholesterol-free egg product, is better for you--and tastier!",
"instructions": {
"steps": [
{
"text": "Cook egg product in skillet sprayed with cooking spray on medium heat 3 min. or until set, stirring occasionally."
},
{
"text": "Fill muffin halves with egg product, Singles and bacon."
}
]
},
"images": [
...
],
"source": {
...
},
"servings": 1,
"durations": {
"prep_time": 10,
"total_time": 10
},
"ingredients": [
{
"text": "1/4 cup cholesterol-free egg product"
},
...
],
"normalized_ingredients": [
...
],
"nutrition": {
...
},
"labels": {
...
},
"author": {
"id": "10255a34128905f4869a27b5bdf24519820"
},
"language": "en",
"updated_at_time": "1610730959413",
"created_at_time": "1610725156807",
"published_status": "RECIPE_PUBLISHED_STATUS_PUBLISHED"
"custom_labels": [
...
]
}
}
}

Note: To understand the data structure of the recipe definition, see Recipe Object.