Food & Drink — entry 011 of 19
Spoonacular
Spoonacular is a broad food platform covering recipe search, ingredient parsing, meal planning, grocery product data, and wine pairing, backed by a database of hundreds of thousands of recipes, with a limited daily point allowance on its free tier before usage-based paid plans apply. A live GET against the real gateway, api.spoonacular.com, returned a genuine 401 'not authorized' JSON error while carrying an echoed Access-Control-Allow-Origin header, resolving cors unknown -> yes and reconfirming API Key auth in the same probe.
AuthenticationAPI KeySign up with the provider to obtain credentials.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreemiumA usable free tier exists, with paid plans for more volume.
FormatsJSONResponses can be requested as JSON.
GreatAPIs Score
Score81
Authentication15/25API key required
Pricing17/20Freemium tier available
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months
Auth quickstart
- Get a key at the provider
- Send it on every request as a header
Authorization: <key> - The exact header isn't documented — Authorization is a common default; confirm in the provider's docs.
Stored keyNo key stored
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Endpoints
ingredients1
GET/food/ingredients/searchIngredient Search
Parameters
| Name | In | Required | Type |
|---|---|---|---|
addChildren | query | no | boolean |
minProteinPercent | query | no | number |
maxProteinPercent | query | no | number |
minFatPercent | query | no | number |
maxFatPercent | query | no | number |
minCarbsPercent | query | no | number |
maxCarbsPercent | query | no | number |
metaInformation | query | no | boolean |
intolerances | query | no | string |
sort | query | no | string |
sortDirection | query | no | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Success | — |
401 | Unauthorized | — |
403 | Forbidden | — |
404 | Not Found | — |
meal planning5
GET/mealplanner/generateGenerate Meal Plan
Parameters
| Name | In | Required | Type |
|---|---|---|---|
timeFrame | query | no | string |
targetCalories | query | no | number |
diet | query | no | string |
exclude | query | no | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Success | — |
401 | Unauthorized | — |
403 | Forbidden | — |
404 | Not Found | — |
GET/mealplanner/{username}/shopping-listGet Shopping List
Parameters
| Name | In | Required | Type |
|---|---|---|---|
username | path | yes | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Success | — |
401 | Unauthorized | — |
403 | Forbidden | — |
404 | Not Found | — |
GET/mealplanner/{username}/templatesGet Meal Plan Templates
Parameters
| Name | In | Required | Type |
|---|---|---|---|
username | path | yes | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Success | — |
401 | Unauthorized | — |
403 | Forbidden | — |
404 | Not Found | — |
POST/mealplanner/{username}/templatesAdd Meal Plan Template
Parameters
| Name | In | Required | Type |
|---|---|---|---|
username | path | yes | string |
hash | query | yes | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Success | — |
401 | Unauthorized | — |
403 | Forbidden | — |
404 | Not Found | — |
GET/mealplanner/{username}/week/{start-date}Get Meal Plan Week
Parameters
| Name | In | Required | Type |
|---|---|---|---|
start-date | path | yes | string |
username | path | yes | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Success | — |
401 | Unauthorized | — |
403 | Forbidden | — |
404 | Not Found | — |
menu items1
GET/food/menuItems/searchSearch Menu Items
Parameters
| Name | In | Required | Type |
|---|---|---|---|
minCalories | query | no | number |
maxCalories | query | no | number |
minCarbs | query | no | number |
maxCarbs | query | no | number |
minProtein | query | no | number |
maxProtein | query | no | number |
minFat | query | no | number |
maxFat | query | no | number |
addMenuItemInformation | query | no | boolean |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Success | — |
401 | Unauthorized | — |
403 | Forbidden | — |
404 | Not Found | — |
recipes3
GET/recipes/complexSearchSearch Recipes
Parameters
| Name | In | Required | Type |
|---|---|---|---|
cuisine | query | no | string |
excludeCuisine | query | no | string |
diet | query | no | string |
intolerances | query | no | string |
equipment | query | no | string |
includeIngredients | query | no | string |
excludeIngredients | query | no | string |
type | query | no | string |
instructionsRequired | query | no | boolean |
fillIngredients | query | no | boolean |
addRecipeInformation | query | no | boolean |
addRecipeNutrition | query | no | boolean |
author | query | no | string |
recipeBoxId | query | no | number |
titleMatch | query | no | string |
maxReadyTime | query | no | number |
sort | query | no | string |
sortDirection | query | no | string |
minCarbs | query | no | number |
maxCarbs | query | no | number |
minProtein | query | no | number |
maxProtein | query | no | number |
minCalories | query | no | number |
maxCalories | query | no | number |
minFat | query | no | number |
maxFat | query | no | number |
minAlcohol | query | no | number |
maxAlcohol | query | no | number |
minCaffeine | query | no | number |
maxCaffeine | query | no | number |
minCopper | query | no | number |
maxCopper | query | no | number |
minCalcium | query | no | number |
maxCalcium | query | no | number |
minCholine | query | no | number |
maxCholine | query | no | number |
minCholesterol | query | no | number |
maxCholesterol | query | no | number |
minFluoride | query | no | number |
maxFluoride | query | no | number |
minSaturatedFat | query | no | number |
maxSaturatedFat | query | no | number |
minVitaminA | query | no | number |
maxVitaminA | query | no | number |
minVitaminC | query | no | number |
maxVitaminC | query | no | number |
minVitaminD | query | no | number |
maxVitaminD | query | no | number |
minVitaminE | query | no | number |
maxVitaminE | query | no | number |
minVitaminK | query | no | number |
maxVitaminK | query | no | number |
minVitaminB1 | query | no | number |
maxVitaminB1 | query | no | number |
minVitaminB2 | query | no | number |
maxVitaminB2 | query | no | number |
minVitaminB5 | query | no | number |
maxVitaminB5 | query | no | number |
minVitaminB3 | query | no | number |
maxVitaminB3 | query | no | number |
minVitaminB6 | query | no | number |
maxVitaminB6 | query | no | number |
minVitaminB12 | query | no | number |
maxVitaminB12 | query | no | number |
minFiber | query | no | number |
maxFiber | query | no | number |
minFolate | query | no | number |
maxFolate | query | no | number |
minFolicAcid | query | no | number |
maxFolicAcid | query | no | number |
minIodine | query | no | number |
maxIodine | query | no | number |
minIron | query | no | number |
maxIron | query | no | number |
minMagnesium | query | no | number |
maxMagnesium | query | no | number |
minManganese | query | no | number |
maxManganese | query | no | number |
minPhosphorus | query | no | number |
maxPhosphorus | query | no | number |
minPotassium | query | no | number |
maxPotassium | query | no | number |
minSelenium | query | no | number |
maxSelenium | query | no | number |
minSodium | query | no | number |
maxSodium | query | no | number |
minSugar | query | no | number |
maxSugar | query | no | number |
minZinc | query | no | number |
maxZinc | query | no | number |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Success | — |
401 | Unauthorized | — |
403 | Forbidden | — |
404 | Not Found | — |
GET/recipes/randomGet Random Recipes
Responses
| Status | Description | Schema |
|---|---|---|
200 | Success | — |
401 | Unauthorized | — |
403 | Forbidden | — |
404 | Not Found | — |
GET/recipes/{id}/informationGet Recipe Information
Parameters
| Name | In | Required | Type |
|---|---|---|---|
id | path | yes | number |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Success | — |
401 | Unauthorized | — |
403 | Forbidden | — |
404 | Not Found | — |
wine1
GET/food/wine/pairingWine Pairing
Parameters
| Name | In | Required | Type |
|---|---|---|---|
food | query | yes | string |
maxPrice | query | no | number |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Success | — |
401 | Unauthorized | — |
403 | Forbidden | — |
404 | Not Found | — |
Try it
Developer reference
Base URL
https://api.spoonacular.comRate limit
Free tier: 50 points/day (each endpoint call costs 1 or more points)
Key endpoints
- GET/recipes/complexSearch
- GET/recipes/random
- GET/recipes/{id}/information
- GET/mealplanner/generate
Changelog
Spec version1.1
Tracked paths97