Recipe Scraper — Extract Recipes from 100+ Cooking Websites
Pricing
Pay per usage
Recipe Scraper — Extract Recipes from 100+ Cooking Websites
Scrape recipes with ingredients, instructions, nutrition, ratings, and cooking times from popular recipe websites. Supports allrecipes.com, bbcgoodfood.com, and any site with Schema.org Recipe markup.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Recipe Scraper
Extract recipes with ingredients, instructions, nutrition info, ratings, and cooking times from 100+ cooking websites using Schema.org structured data.
Why use this actor?
Need recipe data at scale? This scraper works with any website that uses Schema.org Recipe markup -- which includes virtually every major cooking site. Get clean, structured recipe data for meal planning apps, nutrition analysis, recipe aggregators, or content research. No site-specific configuration needed.
Supported sites
Works out of the box with any site using Schema.org Recipe markup, including:
- allrecipes.com
- bbcgoodfood.com
- food.com
- simplyrecipes.com
- delish.com
- epicurious.com
- bonappetit.com
- tasty.co
- foodnetwork.com
- seriouseats.com
- smittenkitchen.com
- budgetbytes.com
- Any WordPress blog with recipe plugins (WP Recipe Maker, Tasty Recipes, etc.)
Input
| Field | Type | Required | Description |
|---|---|---|---|
startUrls | Array | No | Recipe page URLs or search result pages to scrape |
searchQuery | String | No | Search for recipes by keyword (e.g., "pasta carbonara") |
maxResults | Integer | No | Maximum recipes to return (default: 100) |
proxyConfiguration | Object | No | Proxy settings (recommended for protected sites like allrecipes.com) |
Output
Each result contains:
| Field | Type | Example |
|---|---|---|
name | String | "Chicken Piccata" |
description | String | "A quick and easy Italian classic..." |
author | String | "Chef John" |
prepTime | String | "15min" |
cookTime | String | "20min" |
totalTime | String | "35min" |
servings | Number | 4 |
calories | Number | 350 |
ingredients | Array | ["4 chicken breasts", "1/2 cup flour", ...] |
instructions | Array | ["Pound chicken to even thickness...", ...] |
cuisine | String | "Italian" |
category | String | "Main Course" |
rating | Number | 4.8 |
reviewCount | Number | 342 |
keywords | Array | ["chicken", "piccata", "lemon"] |
nutrition | Object | {"Calories": "350 calories", "Protein": "35g", ...} |
imageUrl | String | Full image URL |
url | String | Source recipe URL |
scrapedAt | String | ISO timestamp |
Example output
{"name": "Classic Banana Bread","url": "https://www.allrecipes.com/recipe/20144/banana-banana-bread/","scrapedAt": "2026-04-03T12:00:00.000Z","description": "This is the best banana bread recipe. It's easy to make and turns out perfectly moist every time.","author": "Shelley Albeluhn","imageUrl": "https://www.allrecipes.com/thmb/...","prepTime": "15min","cookTime": "1h 5min","totalTime": "1h 20min","servings": 12,"calories": 232,"ingredients": ["2 cups all-purpose flour","1 teaspoon baking soda","1/4 teaspoon salt","3 bananas, mashed","3/4 cup white sugar","1 egg, beaten","1/3 cup melted butter"],"instructions": ["Preheat oven to 350 degrees F (175 degrees C). Lightly grease a 9x5-inch loaf pan.","Combine flour, baking soda, and salt in a large bowl.","Mix bananas, sugar, egg, and melted butter in a separate bowl.","Stir banana mixture into flour mixture until just combined.","Pour batter into prepared loaf pan.","Bake for 60 to 65 minutes, until a toothpick inserted into center comes out clean."],"cuisine": "American","category": "Bread","rating": 4.7,"reviewCount": 12847,"keywords": ["banana bread", "quick bread", "baking"],"nutrition": {"Calories": "232 calories","Fat": "7g","Carbohydrates": "40g","Protein": "3g"}}
How it works
- JSON-LD extraction (primary) -- Parses
<script type="application/ld+json">tags for Schema.org Recipe markup. This is the most reliable method and works on 95%+ of recipe sites. - HTML fallback -- When JSON-LD is not available, falls back to parsing common HTML selectors and meta tags.
- Search support -- Automatically discovers recipe links from search result pages and follows them.
Cost estimate
This actor uses approximately 0.005 compute units per recipe (Cheerio-based, no browser needed). At standard Apify pricing, that's roughly $0.25 per 1,000 recipes.
Limitations
- Some sites (allrecipes.com, bbcgoodfood.com) have anti-bot protection -- use proxy configuration for best results
- HTML fallback produces less complete data than JSON-LD extraction
- Search pagination support varies by site
- Data is scraped from public websites and may change without notice