Technical Docs
Search…
⌃K

Recipe Search

Search for recipes using a variety of filters
Use the recipeSearch query to find recipes that match the search query and a set of optional filters.

Available filters

  • macroNutrientsRange -- to filter that search for recipes with the same amount of calories.
  • dietaryTag -- to filter to search recipes by using a specific dietary tags.
  • ingredients -- to filter to search recipes that contain one or more ingredients.
  • cuisines -- to filter to search recipes by using a variety of cuisine names.
  • mealTime -- to filter to search recipes by a determine meal time such as BREAKFAST, LUNCH, DINNER, SNACK or TREAT_DESSERT
  • hasinstructions -- to filter recipes that have instructions.
This query doesn't automatically filter out recipes that "break" a user's restrictions or program, but you may use the recipe's adherence field to do that. Alternatively, please refer to searchRecipeByNameOrIngredient.

Available Fields

Field
Type
Required
Description
query
String
False
Query string
dietaryTag
False
Possible Values: VEGETARIAN, VEGAN, PLANT_BASED, DAIRY_FREE, GLUTEN_FREE
first
Int
False
Quantity of results
maxPrepTime
Int
False
Maximum preparation time in minutes.
Filters out recipes with prep time longer than the value.
minPrepTime
Int
False
Minimum preparation time in minutes.
Filters out recipes with prep time lower than the value.
tags
[String]
False
List of tags
mealTime
RecipeMealTime
False
Meal of the day. Possible Values:BREAKFAST, LUNCH, DINNER, SNACK or TREAT_DESSERT
cuisines
False
List of cuisines. Check this list to see all the available cuisines.
numberOfIngredients
Int
False
Quantity of ingredients in the recipe
hasImage
Boolean
False
True if the recipe has an image
hasInstructions
Boolean
False
True if the recipe has instructions. Recipes "from the internet" do not have instructions.
Ingredients
False
List of ingredients
ingredientLines
String
False
macroNutrientsRange
False
Macro and micronutrient ranges
sourceUrlWorks
Boolean
False
True if the URL is working. Otherwise displays False. There are meal plans already created show recipes with URLs not working or invalid. This will help users to check recipes before rendering them to an external site.
filter
false
Object that filters food according to different criteria. Use this object to filter more than one mealTime and multiple Ingredients.
servingQuantity
Int
false
Filter by the number of servings a recipe yields.

Examples

Search by dietaryTag

Query
Response
{
recipeSearch(
query: "pancakes"
dietaryTag: GLUTEN_FREE
first: 5
) {
edges {
node {
name
id
author
tags
isPurchasable
sourceUrlWorks
}
}
}
}
{
"data": {
"recipeSearch": {
"edges": [
{
"node": {
"name": "Pancakes",
"id": "UmVjaXBlOjlhN2NjYTU3LWE5NDEtNDAwYS1iY2JjLTM5MGY5NmU3Y2QzYg==",
"author": "Dr. Joel Kahn",
"tags": [
"VEGETARIAN",
"GLUTEN_FREE",
"Breakfast"
],
"isPurchasable": false,
"sourceUrlWorks": false
}
},
{
"node": {
"name": "Pancakes",
"id": "UmVjaXBlOjUwZDNlMDE2LWYyNmYtNDczOS1hODIxLTg5NTEzZGJjMjZjZQ==",
"author": "Hadia's Lebanese Cuisine",
"tags": [
"VEGETARIAN",
"GLUTEN_FREE",
"Breakfast"
],
"isPurchasable": false,
"sourceUrlWorks": true
}
},
{
"node": {
"name": "Pancakes",
"id": "UmVjaXBlOjEwMjBmNGI5LTRmZGQtNGY4YS1iYjc1LTIyNDhhNzgzYWFkNA==",
"author": "Food.com",
"tags": [
"VEGETARIAN",
"GLUTEN_FREE",
"Breakfast"
],
"isPurchasable": false,
"sourceUrlWorks": true
}
},
{
"node": {
"name": "Golden Pancakes",
"id": "UmVjaXBlOjM3OTNlZTdjLTcyOTMtNDA3Mi05Zjk0LTBmNmFmZWQyYjBlMA==",
"author": "Food52",
"tags": [
"VEGETARIAN",
"GLUTEN_FREE",
"Breakfast"
],
"isPurchasable": false,
"sourceUrlWorks": true
}
},
{
"node": {
"name": "Quinoa Pancakes",
"id": "UmVjaXBlOjNiOWM1YjFkLWYzYTItNDYwMy04OWYzLWI5Yjc3OGJmNjgzMA==",
"author": "Lively Table",
"tags": [
"VEGETARIAN",
"DAIRY_FREE",
"GLUTEN_FREE",
"Breakfast"
],
"isPurchasable": false,
"sourceUrlWorks": true
}
}
]
}
}
}

Search by Macro Nutrients Ranges

Query
Response
{
recipeSearch(
query: "salad",
macroNutrientsRange: {
calories: {gte:100, lte:300},
proteinCalories: {gte:100, lte:200},
fatCalories: {gte:50, lte:200},
carbsCalories: {gte:30, lte:150},
protein: {gte:20, lte:200}
}
first:3) {
edges {
node {
id
name
nutrientsPerServing {
calories
protein
fat
carbs
omega3
}
}
}
}
}
{
"data": {
"recipeSearch": {
"edges": [
{
"node": {
"id": "UmVjaXBlOjNhOGQ5NTcwLTAxYzgtNDFhZS04YTMyLTIxZTYxYmIwMGRiMQ==",
"name": "Turkey Taco Salad",
"nutrientsPerServing": {
"calories": 264.17,
"protein": 26.86,
"fat": 5.81,
"carbs": 26.12,
"omega3": 0.03
}
}
},
{
"node": {
"id": "UmVjaXBlOjM4YWY2YWY0LWQ5NTItNDhlYy1hNDQyLTRhODczNmYwYzc0Ng==",
"name": "Chili Chicken Salad",
"nutrientsPerServing": {
"calories": 228.56,
"protein": 26.34,
"fat": 5.74,
"carbs": 17.88,
"omega3": 0.02
}
}
},
{
"node": {
"id": "UmVjaXBlOjA0MDU5Y2YyLTk1OTYtNDBhMy1hOWFkLWI3MzBlMzJlYjExYQ==",
"name": "Blackened Shrimp Salad",
"nutrientsPerServing": {
"calories": 242.14,
"protein": 32.15,
"fat": 6.58,
"carbs": 13.59,
"omega3": 1.15
}
}
}
]
}
}
}

Search by Ingredients

Query
Response
{
recipeSearch(query: "milk", ingredients: ["banana"]) {
edges {
node {
name
ingredients {
name
}
}
}
}
}
{
"data": {
"recipeSearch": {
"edges": [
{
"node": {
"name": "Monkey Milk",
"ingredients": [
{
"name": "ripe banana"
},
{
"name": "bananas"
},
{
"name": "vanilla yogurt"
},
{
"name": "milk"
},
{
"name": "honey"
},
{
"name": "ice cubes"
}
]
}
}
]
}
}
}

Search by Cuisine

Query
Results
{
recipeSearch(query: "Taco" cuisines: "Mexican") {
edges {
node {
name
cuisines
}
}
}
}
{
"data": {
"recipeSearch": {
"edges": [
{
"node": {
"name": "Taco Stuffed Avocados Aka “Avo-Tacos”",
"cuisines": [
"Mexican"
]
}
},
{
"node": {
"name": "Taco Stuffed Avocados Aka “Avo-Tacos”",
"cuisines": [
"Mexican"
]
}
},
{
"node": {
"name": "Taco Salad",
"cuisines": [
"Mexican"
]
}
}
]
}
}
}

Search with multiple filters and no query string

Query
Results
{
recipeSearch(
dietaryTag: GLUTEN_FREE
mealTime: LUNCH
hasInstructions: true
macroNutrientsRange: {
calories: { gte: 100, lte: 500 }
proteinCalories: { gte: 100, lte: 500 }
fatCalories: { gte: 50, lte: 500 }
carbsCalories: { gte: 30, lte: 500 }
protein: { gte: 20, lte: 200 }
}
first: 5
) {
edges {
node {
id
name
author
tags
cuisines
nutrientsPerServing {
calories
protein
fat
carbs
}
}
}
}
}
{
"data": {
"recipeSearch": {
"edges": [
{
"node": {
"id": "UmVjaXBlOmFiMmIzNTFmLTZmNWItNDEwOS1iODA3LTM1OGZhOTVkYjgyNQ==",
"name": "Veggie Lasagna",
"author": "Dr. Joel Kahn",
"tags": [
"VEGETARIAN",
"GLUTEN_FREE",
"Dinner",
"PLANT_BASED",
"DAIRY_FREE",
"VEGAN"
],
"cuisines": [],
"nutrientsPerServing": {
"calories": 455.24,
"protein": 35.86,
"fat": 8.59,
"carbs": 58.62
}
}
},
{
"node": {
"id": "UmVjaXBlOmZmOTllZjY5LTY4MjEtNDU5Ny1iOGI1LWUxOTk3ODMzN2QxNA==",
"name": "Smoked Mackerel Salad With Fennel And Apple",
"author": "Suggestic",
"tags": [
"Salad",
"GLUTEN_FREE",
"DAIRY_FREE"
],
"cuisines": [],
"nutrientsPerServing": {
"calories": 468.78,
"protein": 37.02,
"fat": 10.13,
"carbs": 57.37
}
}
},
{
"node": {
"id": "UmVjaXBlOmVmNzBhNTY2LWY5NzctNGI2MS1iMzdiLTBjMzQ2NWZmYTFjOA==",
"name": "Shallot Lime Marinated Flank Steak",
"author": "J.J. Virgin",
"tags": [
"Dinner",
"GLUTEN_FREE",
"DAIRY_FREE"
],
"cuisines": [],
"nutrientsPerServing": {
"calories": 323.06,
"protein": 32.04,
"fat": 17.4,
"carbs": 9.58
}
}
},
{
"node": {
"id": "UmVjaXBlOmFjOGFkOGE5LTk4NTYtNGU2MS1hZTNkLTMyNmE0ZTMxNDZmZQ==",
"name": "Taj’S Chicken Tenders",
"author": "J.J. Virgin",
"tags": [
"Appetizer",
"GLUTEN_FREE",
"DAIRY_FREE"
],
"cuisines": [],
"nutrientsPerServing": {
"calories": 309.92,
"protein": 30.22,
"fat": 7.52,
"carbs": 30.33
}
}
},
{
"node": {
"id": "UmVjaXBlOmQ0ZTQ0NTNhLTQyODgtNDE5OS1hZjMwLTNlY2RkYTkyYWVhZg==",
"name": "Tuna-Stuffed Tomato",
"author": "Suggestic",
"tags": [
"Salad",
"GLUTEN_FREE",
"DAIRY_FREE"
],
"cuisines": [],
"nutrientsPerServing": {
"calories": 484.66,
"protein": 27.3,
"fat": 32.99,
"carbs": 19.64
}
}
}
]
}
}
}

Search for more than one mealtime at the same time

The following example searches for Breakfast, Lunch, and Dinner recipes.
Query
Response
{
recipeSearch(
filter: {
must: [{ mealTime: BREAKFAST }, { mealTime: LUNCH }, { mealTime: DINNER }]
}
) {
edges {
node {
id
name
ingredients {
name
}
}
}
}
}
{
"data": {
"recipeSearch": {
"edges": [
{
"node": {
"id": "UmVjaXBlOjI2NDAwYzExLTEyNWQtNDc4Mi1iODNjLTZjNzQ5MjNhZTlhYg==",
"name": "Turkey And Veggie Wrap",
"ingredients": [
{
"name": "Yellow bell pepper"
},
{
"name": "Baby spinach"
},
{
"name": "Olive oil"
},
{
"name": "Turkey breast"
},
{
"name": "Brown rice tortilla"
},
{
"name": "Rosemary"
},
{
"name": "Onion"
},
{
"name": "Lemon juice"
}
]
}
},
{
"node": {
"id": "UmVjaXBlOjYwYWM3NzA1LTBmNGEtNDVlMS04MGEwLWZlMTlmM2ExMWMzOA==",
"name": "Spicy Black Bean And Quinoa Burritos",
"ingredients": [
{
"name": "Cilantro"
},
{
"name": "Corn"
},
{
"name": "Salt"
},
{
"name": "Orange bell pepper"
},
{
"name": "Chili powder"
},
{
"name": "Garlic"
},
{
"name": "Water"
},
{
"name": "Black beans"
},
{
"name": "Roma tomatoes"
},
{
"name": "Tortillas"
},
{
"name": "Red onion"
},
{
"name": "Cumin"
},
{
"name": "Chipotle powder"
},
{
"name": "Quinoa"
}
]
}
},
{
"node": {
"id": "UmVjaXBlOmE0NDY2NmViLWY1YjEtNDhiNS1hNDJhLWZmYTBlMjk4MTA1Yg==",
"name": "Mint Frittata",
"ingredients": [
{
"name": "Eggs"
},
{
"name": "Parmesan cheese"
},
{
"name": "Salt"
},
{
"name": "Black pepper"
},
{
"name": "Olive oil"
},
{
"name": "Onion"
},
{
"name": "Mint leaves"
}
]
}
},
{
"node": {
"id": "UmVjaXBlOmZiYTZkYTBiLWRkYTEtNGUyYS1hODQ2LWZmNWEwYTUzYzMzOA==",
"name": "Guacamole-Manchego Quesadillas With Salad",
"ingredients": [
{
"name": "Flour tortillas"
},
{
"name": "Vinaigrette dressing"
},
{
"name": "Guacamole"
},
{
"name": "Salad"
},
{
"name": "Manchego cheese"
}
]
}
}
]
}
}
}
The following is a recursive example in which the recipes are searched by fish or spicy recipes and breakfast as a mealtime.
Query
Result
{
recipeSearch(
filter: {
should: [
{ name: "fish" }
{ must: [{ name: "spicy" }, { mealTime: BREAKFAST }] }
]
}
) {
edges {
node {
id
name
}
}
}
}
{
"data": {
"recipeSearch": {
"edges": [
{
"node": {
"id": "UmVjaXBlOmJlZWNhMjEwLTFlOWQtNDgyNy1hZDZjLTljMmUyOTI1ZDgwYg==",
"name": "Easy Pita Lunch Ideas"
}
},
{
"node": {
"id": "UmVjaXBlOjhiNmNkYmNkLTk3MzAtNDQ2Ni1iNGJiLWNlNzZhMTMxZGFmYQ==",
"name": "Chile-Cumin Lamb Meatballs With Yogurt And Cucumber"
}
},
{
"node": {
"id": "UmVjaXBlOmQyNGVmNjBjLWU5ZjktNDM1Ny1hZjU5LWZmZWZhMGVjMzFkZA==",
"name": "Vegan Stacked Enchilada Pie"
}
},
{
"node": {
"id": "UmVjaXBlOjFhMDgzZWVmLWNjZTctNDNlOC05MjgzLTFkYzQwY2QzYWU5Yw==",
"name": "Mung Bean + Cilantro Falafel Tacos (V + Gf)"
}
},
{
"node": {
"id": "UmVjaXBlOjhkNWEwYTgwLTdiZGMtNDY5ZC1iYWMxLTJlNTBlOTA2YTBlOA==",
"name": "French Tuna Burger With Green Bean Salad"
}
},
{
"node": {
"id": "UmVjaXBlOjA3Zjg4OWMyLWI4Y2YtNDE2ZC04MDM1LTA1MDhkMTkyMjFhMg==",
"name": "Farmers Market Minestrone Soup {Share The Love}"
}
},
{
"node": {
"id": "UmVjaXBlOjFjYjlhNTU0LTRjMGYtNDNiNi1hYWViLWYwNzcxNGJmNWU4Mg==",
"name": "Vegan Cauliflower, Potato, And Chickpea Curry"
}
},
{
"node": {
"id": "UmVjaXBlOmY4OTZiNTY5LWFlNmEtNGFhMy04NDgzLTZlMDVjODM4YTc4NQ==",
"name": "Yogurt-Marinated Chicken Shawarma"
}
},
{
"node": {
"id": "UmVjaXBlOmZmMTg3YmYwLTIxMmItNDUzZS04MTkyLWI2YTFlYThiNzE0OA==",
"name": "Pan Bagnat - A Nicoise-Style Sandwich"
}
},
{
"node": {
"id": "UmVjaXBlOmNmODY2ZWI2LTJmYjktNDUxNS1hOTBhLWYxN2Q5OTNlNzBjNQ==",
"name": "Mediterranean Chopped Salad"
}
},
{
"node": {
"id": "UmVjaXBlOjYwYTU0MzNiLTVjN2MtNDBmOS05NjgwLTk1ZTUyNGQzN2ZlYg==",
"name": "Thai Panang Curry"
}
},
{
"node": {
"id": "UmVjaXBlOjRkMThiMTBjLTUyZGItNDg2YS05MDc2LTFjZjM3NzZhZDI0OQ==",
"name": "Peanut Thai Vegetable Stew"
}
},
{
"node": {
"id": "UmVjaXBlOjBkZjIyNjQxLWQ4ZTktNDQxMS1hNGJhLTFiN2UzZWYyMGNjZg==",
"name": "Slow-Cooker Cuban Brisket Taco Bowls"
}
},
{
"node": {
"id": "UmVjaXBlOjFmOWVmZWY1LTZjYzEtNGE1Ny1hOWZmLWZjMjEzZjAxNTgxOQ==",
"name": "Easy Peanut Pork With Crunchy Veg"
}
},
{
"node": {
"id": "UmVjaXBlOjk1YmI2YzQwLTQzOGUtNDUwOS04OTc4LTk5OGRmY2ZlNzFhNQ==",
"name": "Red Lentil Sweet Potato Hemp Burgers With Ginger Basil Sauce"
}
},
{
"node": {
"id": "UmVjaXBlOjRkMGI2YjFhLTk4NGItNGRkZS05NTc3LThmMGM3N2QyMzdjNQ==",
"name": "Leftover Salade Nicoise"
}
},
{
"node": {
"id": "UmVjaXBlOmY2MmUxNDlhLWFkMmMtNGZhNC1iZDM4LTczYTc4ZTVlMjc1ZQ==",
"name": "Spicy Peanut Noodles With Edamame & Shrimp"
}
},
{
"node": {
"id": "UmVjaXBlOjI1YzZhOGU4LTk1YjAtNGI1NS1hNjhjLWVmODA1MWU4ZjczZA==",
"name": "Southwest Pinto Bean Burgers With Chipotle Mayonnaise"
}
},
{
"node": {
"id": "UmVjaXBlOjQ2MzVmNmJlLTgwODEtNDczOS05ZmJjLWQxZjQ0MGQyNDgxZQ==",
"name": "Apple-Brat Burgers"
}
},
{
"node": {
"id": "UmVjaXBlOmIzM2IwYjM4LWMyZmUtNGUzZS1iY2UyLTg1OTU5NjMwMzZmYQ==",
"name": "Sri Lankan Black Chicken Curry With Roasted Spices"
}
}
]
}
}
}

Search for multiple ingredients and two mealtimes

The following example searches breakfast AND snack AND which contains milk and bread as a single ingredient OR yogurt
Query
Response
{
recipeSearch(
filter: {
must: [{ mealTime: BREAKFAST }, { mealTime: SNACK }]
should: [{ ingredients: "milk, bread" }, { ingredients: "yogurt" }]
}
) {
edges {
node {
id
name
}
}
}
}
{
"data": {
"recipeSearch": {
"edges": [
{
"node": {
"id": "UmVjaXBlOjEzNGE1MGYzLWJjMGEtNGVmNS1hNjlkLWQ4MTNiNzFlZWEyMA==",
"name": "Protein Power Lentils And Amaranth Patties"
}
},
{
"node": {
"id": "UmVjaXBlOjQ3NzlmYmJmLTM1MjktNDhiMi1iOGU4LTgyMWNiNjQ2MmQwYw==",
"name": "Banana And Mixed Berry Smoothie "
}
},
{
"node": {
"id": "UmVjaXBlOmViOTcyZWI0LTA3OGMtNDFlNC1iMDlkLWU1YTljMTA3MzZmOQ==",
"name": "Back To School Granola Bars"
}
},
{
"node": {
"id": "UmVjaXBlOjZjYWNlNTJlLTEzMWEtNDM0MS05Zjk5LWI2MDUzZTY3ZTNjOA==",
"name": "Sugar-Free Healthy Granola Bars"
}
},
{
"node": {
"id": "UmVjaXBlOmM0YmQzMDIzLWZmNWMtNGYwOC05MTdkLTJhYjcyYTNlNjU4Yw==",
"name": "Apple & Banana Quinoa Oat Bites"
}
},
{
"node": {
"id": "UmVjaXBlOmNiZDFjOTZkLTYyNWMtNDExNi1iNzhkLTFkMjhiMjdmMGVjOQ==",
"name": "Vegan Coconut Milk Raspberry Smoothie"
}
},
{
"node": {
"id": "UmVjaXBlOmM2NjkyNjUyLWMwOGQtNDMxOC04ZmQzLWVkMTc5YjYzYTQzMQ==",
"name": "Green Smoothie"
}
},
{
"node": {