Tasty APItasty.co ↗
Search Tasty.co recipes, retrieve ingredients, step-by-step instructions, nutrition data, and user tips via a structured JSON API with 4 endpoints.
What is the Tasty API?
The Tasty.co API gives developers structured access to Tasty's recipe catalog across 4 endpoints, covering search, detailed recipe data, trending content, and user tips. The get_recipe_details endpoint returns a full breakdown of a recipe including ingredients, numbered instructions, ISO 8601 cook and prep times, nutrition macros, and author credits — all keyed by the recipe's URL slug.
curl -X GET 'https://api.parse.bot/scraper/7d28e1e6-41ea-4c03-805c-513435b41acb/search_recipes?limit=5&query=chicken&offset=0' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace tasty-co-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.tasty.co_recipe_api import Tasty, RecipeSummary, Recipe, Catalog, Tip
tasty = Tasty()
# Search for chicken recipes
for recipe in tasty.recipesummaries.search(query="chicken"):
print(recipe.name, recipe.slug, recipe.tags)
break
# Get the full recipe details from a summary
chicken = RecipeSummary(_api=tasty, slug="original-orange-chicken-by-panda-express")
detail = chicken.details()
print(detail.title, detail.prep_time)
for ingredient in detail.ingredients:
print(ingredient)
# Browse tips on a recipe
for tip in chicken.tips.list():
print(tip.author, tip.tip_body, tip.upvotes_total)
break
# Get the popular recipes catalog
catalog = tasty.catalogs.get()
print(catalog.popular.category)
for item in catalog.popular.items:
print(item.name, item.thumbnail_url)
Full-text search over Tasty.co recipes by keyword. Returns recipe summaries with names, slugs, IDs, thumbnails, tags, and cooking times. Supports offset-based pagination.
| Param | Type | Description |
|---|---|---|
| limit | integer | Number of results to return per page. |
| queryrequired | string | Search keyword or phrase (e.g. 'chicken', 'chocolate cake', 'pasta'). |
| offset | integer | Offset for pagination (number of items to skip). |
{
"type": "object",
"fields": {
"count": "integer total number of matching recipes",
"items": "array of recipe summary objects with id, name, slug, thumbnail_url, tags, times, and credits"
},
"sample": {
"data": {
"count": 1357,
"items": [
{
"id": 3383,
"name": "Original Orange Chicken by Panda Express",
"slug": "original-orange-chicken-by-panda-express",
"tags": [
"north_american",
"chinese",
"comfort_food"
],
"times": {
"cook_time": {
"iso": "PT15M",
"display": "15 minutes",
"minutes": 15
},
"prep_time": {
"iso": "PT20M",
"display": "20 minutes",
"minutes": 20
},
"total_time": {
"iso": "PT1H5M",
"display": "1 hr 5 min",
"minutes": 65
}
},
"credits": [
{
"name": "Pierce Abernathy",
"type": "internal"
}
],
"thumbnail_url": "https://img.buzzfeed.com/thumbnailer-prod-us-east-1/video-api/assets/131902.jpg"
}
]
},
"status": "success"
}
}About the Tasty API
Search and Browse Recipes
The search_recipes endpoint accepts a query string (single keywords or multi-word phrases like 'chocolate cake' or 'pasta') along with optional limit and offset integers for pagination. Results include a count of total matches and an items array of recipe summaries, each carrying an id, name, slug, thumbnail_url, tags, times, and credits. The get_popular_recipes endpoint takes no parameters and returns the current trending carousel as a popular object with a category label and a matching items array.
Recipe Details and Nutrition
Pass a recipe slug to get_recipe_details to receive the full record: a title, description, image URL, author (individual or organization), ingredients array of formatted strings, instructions array of step strings, cook_time and prep_time as ISO 8601 durations, and a nutrition object containing calories, fat, protein, carbohydrate, fiber, and sugar. Tags are returned as an array of keyword strings useful for filtering or categorization downstream.
User Tips
The get_recipe_tips endpoint accepts a numeric recipe_id (obtainable from search_recipes or get_popular_recipes results) plus an optional offset for paging. It returns a tips_count integer and a tips array sorted by upvotes_total descending. Each tip object includes author, tip_body, tip_photo, and updated_at, making it straightforward to surface the most useful community feedback alongside a recipe.
The Tasty API is a managed, monitored endpoint for tasty.co — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tasty.co changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official tasty.co API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a recipe search interface that surfaces thumbnails and cook times from
search_recipesresults - Populate a meal-planning app with structured ingredient lists and step-by-step instructions from
get_recipe_details - Display a 'trending today' section using the carousel returned by
get_popular_recipes - Aggregate nutrition macros (calories, protein, carbohydrates) across a weekly meal plan
- Show top-rated community tips alongside a recipe using
get_recipe_tipssorted by upvotes - Tag and categorize a recipe corpus using the
tagsarrays returned across all endpoints - Drive dietary filtering by parsing ISO 8601 prep and cook times to surface quick-meal options
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Tasty.co have an official developer API?+
What does `get_recipe_details` return for nutrition, and are all fields always populated?+
nutrition object includes calories, fat, protein, carbohydrate, fiber, and sugar. Not every recipe on Tasty has nutrition data filled in, so individual fields may be null or absent for some slugs.Can I retrieve user ratings or star scores for a recipe?+
get_recipe_tips, but numeric star ratings are not part of any endpoint's response. You can fork this API on Parse and revise it to add a ratings endpoint.Does the API return video URLs for recipes that have video guides?+
get_recipe_details includes video information in its response where available, but dedicated video stream URLs or embed codes are not guaranteed for every recipe. Coverage depends on what Tasty has published for a given slug.Can I filter `search_recipes` results by dietary tag, cuisine, or cook time?+
search_recipes endpoint accepts only a query string plus limit and offset for pagination. Tag- or time-based filtering is not a built-in parameter. Each result does include a tags array, so client-side filtering is possible. You can fork this API on Parse and revise it to add server-side tag filtering if needed.