bbcgoodfood.com APIbbcgoodfood.com ↗
Search BBC Good Food recipes, retrieve full ingredient lists, cooking instructions, nutrition data, and user reviews via a structured JSON API.
curl -X GET 'https://api.parse.bot/scraper/abc12726-b22a-45d6-b521-13bf5ded8c33/search_recipes?page=1&query=lasagne' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for recipes by keyword on BBC Good Food. Returns paginated results with recipe summaries including title, rating, difficulty, and prep time.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination |
| queryrequired | string | Search keyword (e.g. 'lasagne', 'chicken korma') |
{
"type": "object",
"fields": {
"page": "integer or null - current page number",
"items": "array of recipe objects with id, title, url, description, rating, image, author, prep_time, difficulty",
"total": "integer or null - total number of results",
"page_count": "integer or null - total number of pages"
},
"sample": {
"data": {
"page": null,
"items": [
{
"id": "226624",
"url": "https://www.bbcgoodfood.com/recipes/creamy-courgette-lasagne",
"image": {
"alt": "Courgette lasagne in a baking dish",
"url": "https://images.immediate.co.uk/production/volatile/sites/30/2022/03/Creamy-courgette-lasagne-e63aa0c.jpg"
},
"title": "Creamy courgette lasagne",
"author": "Good Food team",
"rating": {
"ratingCount": 733,
"ratingValue": 4.6
},
"prep_time": "30 mins",
"difficulty": "Easy",
"description": "<p>Serve this quick, creamy courgette & ricotta lasagne for a last-minute dinner party</p>"
}
],
"total": null,
"page_count": null
},
"status": "success"
}
}About the bbcgoodfood.com API
The BBC Good Food API gives developers structured access to one of the UK's largest recipe databases across 3 endpoints. Use search_recipes to find dishes by keyword with pagination, get_recipe_details to pull full ingredient lists, step-by-step instructions, nutrition per serving, and author data for any recipe URL, and get_recipe_reviews to retrieve user comments, tips, and ratings by recipe ID.
Recipe Search
The search_recipes endpoint accepts a query string (e.g. 'chicken korma' or 'lasagne') and an optional page integer for pagination. Each result in the items array includes a recipe id, title, url, description, rating, image, author, prep_time, and difficulty. The response also returns total result count and page_count so you can walk all pages programmatically.
Recipe Details
get_recipe_details takes a full BBC Good Food recipe URL and returns a detailed object. Notably, the times field exposes both preparation and cooking times in seconds, nutrition is an array of per-serving entries each with label, value, and unit, and authors is an array of contributor objects with name, bio, and url. The description field is returned as HTML. The serves field gives the stated yield as a string.
User Reviews
get_recipe_reviews accepts the numeric entity_id from either the id field in search_recipes results or the id field in get_recipe_details. Results are paginated at 20 reviews per page. Each review object in the reviews array includes id, type (distinguishing comments, tips, and questions), body, author, created timestamp, likes, and replies.
- Build a recipe search tool filtered by difficulty and prep_time from search_recipes results
- Populate a meal-planning app with full ingredient lists and nutrition data from get_recipe_details
- Aggregate user tips and comments per dish using the type field in get_recipe_reviews
- Compare calorie and macro values across recipes using the nutrition array
- Attribute recipes correctly by pulling author name, bio, and URL from the authors array
- Power a cooking assistant that surfaces step-by-step instructions and serving sizes
- Track average ratings across a keyword category using the rating field in search_recipes
| 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 | 250 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.