Bon Appetit Scraper | Gourmet Recipes and Articles
Pricing
from $19.00 / 1,000 results
Bon Appetit Scraper | Gourmet Recipes and Articles
Collect recipes and food articles from Bon Appetit with ingredients, methods, prep and cook times, servings, ratings, author, and tags. Power culinary apps, food content platforms, meal planners, and AI recipe assistants with gourmet content from a top food publication.
Pricing
from $19.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

🍽️ Bon Appétit Recipe Scraper
🚀 Export Bon Appétit recipes to CSV, Excel, JSON, or XML in seconds. Search by keyword or category and get full ingredient lists, step-by-step instructions, ratings, and author credits - no API key, no registration required.
🕒 Last updated: 2026-05-22 · 📊 17 fields per record · 🍳 Thousands of recipes · 🌍 Covers all cuisines · ⭐ Includes ratings and reviews
The Bon Appétit Scraper extracts recipes from Bon Appétit magazine's website (bonappetit.com) and returns 17 fields per record, including full ingredient lists, step-by-step cooking instructions, cook times, servings, ratings, review counts, author credits, and tags. All data is sourced from the JSON-LD structured data embedded in each recipe page.
Bon Appétit is one of the world's most respected food and recipe publications, with decades of trusted recipes from professional chefs and food editors. This Actor makes their publicly available recipe catalog searchable and downloadable in any format in under a minute.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Food bloggers, recipe app developers, culinary researchers, meal planning platforms, AI training datasets, home cooks, nutrition analysts | Recipe database building, meal planning apps, ingredient analysis, cooking time research, food trend analysis, culinary NLP training |
📋 What the Bon Appétit Scraper does
Three flexible workflows in a single run:
- 🔍 Keyword search. Search by any term like
pasta,chocolate,grilled chicken, orvegan. - 🏷️ Category filter. Filter by ingredient or cuisine category like
dessert,salad,italian, orquick. - 📦 Bulk export. Collect up to 1,000,000 recipes for large-scale dataset creation.
Each record includes the recipe image, title, description, author, star rating, review count, full ingredient list, step-by-step instructions, cook time, total time, servings, difficulty, tags, source URL, and publication date.
💡 Why it matters: manually copying recipes is slow and loses structure. Building your own parser means handling HTML quirks, JSON-LD variations, and pagination by hand. This Actor handles all of that and returns clean, structured data ready for databases, apps, or AI pipelines.
🎬 Full Demo
🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded recipe dataset.
⚙️ Input
| Input | Type | Default | Behavior |
|---|---|---|---|
searchQuery | string | "pasta" | Keyword to search for recipes. Leave empty to use category instead. |
category | string | null | Category tag to filter recipes (e.g. dessert, chicken, salad). Used when searchQuery is empty. |
maxItems | integer | 10 | Maximum recipes to return. Free plan caps at 10; paid plan at 1,000,000. |
Example: 10 pasta recipes.
{"searchQuery": "pasta","maxItems": 10}
Example: 50 dessert recipes by category.
{"category": "dessert","maxItems": 50}
⚠️ Good to Know: Bon Appétit serves publicly accessible recipes with full JSON-LD structured data. Some older recipes may not include cook time in the structured data - the
cookTimeandtotalTimefields will benullfor those records. Thedifficultyfield is derived from recipe tags and will benullwhen Bon Appétit has not tagged a difficulty level.
📊 Output
Each record contains 17 fields:
| Field | Type | Description |
|---|---|---|
🖼️ imageUrl | string | High-resolution recipe photo URL |
📌 title | string | Recipe title |
📝 description | string | Short recipe summary |
👤 author | string | Recipe author name |
⭐ rating | number | Aggregate star rating (e.g. 4.8) |
💬 reviewCount | integer | Number of user reviews |
🥕 ingredients | array | Full ingredient list with measurements |
📋 instructions | array | Step-by-step cooking instructions |
🍳 cookTime | string | Active cook time (e.g. "22 minutes") |
⏰ totalTime | string | Total recipe time including resting |
🍽️ servings | string | Serving size (e.g. "4 servings") |
🎯 difficulty | string | Difficulty level from tags (e.g. "easy") |
🔖 tags | array | Recipe tags (cuisine, occasion, technique) |
🔗 url | string | Source recipe URL |
📅 publishedAt | string | Original publication date (ISO 8601) |
🕒 scrapedAt | string | Timestamp of scrape run (ISO 8601) |
❌ error | string | Error message if scrape failed, else null |
Sample record 1 - Pasta Alla Vodka:
{"imageUrl": "https://assets.bonappetit.com/photos/5a8da4996497380283798c16/16:9/w_4991,h_2807,c_limit/rigatoni-with-vodka-sauce.jpg","title": "Pasta Alla Vodka","description": "This easy vodka pasta recipe combines tomato paste, cream, and a splash of booze for a dinner that comes together quickly, using just a few pantry ingredients.","author": "Claire Saffitz","rating": 4.8,"reviewCount": 511,"ingredients": ["Kosher salt","1 medium onion","4 garlic cloves","2 Tbsp. extra-virgin olive oil","2 Tbsp. tomato paste","½ tsp. crushed red pepper flakes","¾ cup vodka","¾ cup heavy cream","2 Tbsp. unsalted butter","12 oz. rigatoni","1 oz. Parmesan, finely grated"],"instructions": ["Bring a large pot of lightly salted water to a boil.","While water comes to a boil, peel and finely chop 1 medium onion and 4 garlic cloves...","Heat 2 Tbsp. extra-virgin olive oil in a large heavy pot over medium..."],"cookTime": "30 minutes","totalTime": "30 minutes","servings": "4 servings","difficulty": "easy","tags": ["dinner", "pasta", "tomato", "italian", "easy", "quick", "main", "nut-free"],"url": "https://www.bonappetit.com/recipe/rigatoni-with-easy-vodka-sauce","publishedAt": "2018-01-01T05:00:00.000-05:00","scrapedAt": "2026-05-22T03:08:40.123Z","error": null}
Sample record 2 - Homemade Pasta Dough:
{"imageUrl": "https://assets.bonappetit.com/photos/57d828806520aa8f7013c947/master/w_4269,h_2935,c_limit/fresh-pasta-dough.jpg","title": "Homemade Pasta Dough","description": "A bit of olive oil gives this fresh pasta dough recipe extra flexibility and versatility. Use it to make fettuccine, pappardelle, ravioli, or lasagna.","author": "Rick Martinez","rating": 4.2,"reviewCount": 310,"ingredients": ["3 large eggs, beaten to blend","2 cups (250 g) all-purpose flour","1 Tbsp. olive oil","1 tsp. Diamond Crystal or ½ tsp. plus ⅛ tsp. Morton kosher salt","Cornmeal or semolina flour (for dusting)"],"instructions": ["Mix 3 large eggs, beaten to blend, 2 cups (250 g) all-purpose flour, 1 Tbsp. olive oil, and 1 tsp. kosher salt in the bowl of a stand mixer with your hands until a shaggy dough forms...","Dust a large rimmed baking sheet with cornmeal or semolina flour...","Repeat without folding, adjusting machine one setting thinner after every pass..."],"cookTime": "35 minutes","totalTime": "45 minutes","servings": "Makes about 1 pound","difficulty": null,"tags": ["dinner", "pasta", "dough", "italian", "main", "nut-free"],"url": "https://www.bonappetit.com/recipe/fresh-pasta-dough","publishedAt": "2016-09-23T04:00:03.000-04:00","scrapedAt": "2026-05-22T03:08:39.244Z","error": null}
✨ Why choose this Actor
| Feature | Detail |
|---|---|
| 📐 Structured JSON-LD parsing | Extracts data from Bon Appétit's embedded Schema.org Recipe markup - no brittle HTML selectors |
| 🥕 Full ingredient lists | Every ingredient with exact measurements, not just a count |
| 📋 Step-by-step instructions | Each cooking step as a separate array element, ready for display |
| ⭐ Real ratings and reviews | Aggregate rating value and review count per recipe |
| 👤 Author attribution | Named author credit for every recipe |
| 🔖 Rich tags | Cuisine type, occasion, cooking technique, dietary restrictions |
| 🕒 Publication dates | Original publish date for freshness sorting |
| 📦 Scales to 1,000,000 items | Reliable pagination and rate-limiting built in |
📈 How it compares to alternatives
| Feature | This Actor | Manual scraping | Other scrapers |
|---|---|---|---|
| JSON-LD parsing | Yes | Build it yourself | Varies |
| Full ingredient list | Yes | Requires HTML parser | Often truncated |
| Step-by-step instructions | Yes | Complex to extract | Often combined |
| Author + rating + reviews | Yes | Multiple selectors | Often missing |
| Keyword search | Yes | Not available | Rarely |
| Scales to 1M+ | Yes | Memory-limited | Often not |
| No API key needed | Yes | Yes | Yes |
| Export to CSV/Excel/JSON | Yes | Manual work | Varies |
🚀 How to use
- Create a free account - Create a free account w/ $5 credit
- Open the Actor - Search for "Bon Appétit Scraper" in the Apify Store or go directly to the Actor page
- Set your input - Enter a search query like
pastaor a category likedessert, set yourmaxItems - Run the Actor - Click "Start" and wait for the run to complete (typically under 2 minutes for 50 recipes)
- Download your data - Export as CSV, Excel, JSON, or XML from the dataset tab
💼 Business use cases
Recipe App Development
Build a recipe discovery app seeded with thousands of Bon Appétit recipes. The structured ingredient arrays and instruction steps are ready to render directly in mobile or web UIs. Use the tags array to build faceted category navigation.
Meal Planning Platforms
Ingest recipes in bulk, index by cook time and tags, and build personalized weekly meal plan generators. The servings and totalTime fields power recipe scaling and schedule optimization.
Food Content and SEO
Food bloggers and content teams can monitor the Bon Appétit recipe catalog to identify trending cuisines, seasonal topics, and ingredient combinations. Use publication dates to track what's being published month-by-month.
AI and NLP Training Data
Build culinary language models, recipe generation systems, or ingredient substitution engines using clean, structured recipe text. The ingredients and instructions arrays are pre-split and ready for tokenization.
🔌 Automating Bon Appétit Scraper
Connect this Actor to thousands of apps using Apify's native integrations:
- Make (Integromat) - Trigger a recipe scrape on a schedule and push results to Google Sheets or Airtable
- Zapier - When a run completes, send new recipe data to Slack, Notion, or a CRM
- Webhook - POST the dataset URL to any endpoint when the run finishes
- Apify API - Call the Actor programmatically from any codebase using the REST API or official client libraries (Node.js, Python)
- Google Sheets - Use Apify's Google Sheets integration to sync recipe data directly to a spreadsheet
- Slack - Get a Slack notification with recipe counts and a dataset download link when each run completes
🌟 Beyond business use cases
Culinary Research and Education
Academics and culinary schools can use the dataset to study recipe composition, ingredient co-occurrence patterns, and the evolution of food trends over decades of Bon Appétit publication history.
Creative Projects
Writers, food photographers, and home cooks exploring new cuisines can use keyword and category search to discover recipes they wouldn't normally encounter. Filter by tags like "nut-free" or "quick" to match dietary needs or time constraints.
Non-Profit and Community Work
Food banks, community kitchens, and nutrition outreach organizations can extract large recipe collections to build free cooking resources, printable recipe cards, or ingredient-based meal suggestions for clients.
Experimentation and Prototyping
Developers prototyping recipe recommendation engines, flavor pairing tools, or ingredient substitution algorithms need large, clean datasets fast. This Actor provides that in minutes rather than weeks of scraper development.
🤖 Ask an AI assistant about this scraper
You can ask an AI assistant questions like:
- "What fields does the Bon Appétit Scraper return?"
- "How do I filter recipes by category using this Actor?"
- "How do I connect this scraper to Google Sheets using Make?"
- "What's the difference between
searchQueryandcategoryinputs?"
The structured output and clean schema make it easy to integrate with AI pipelines, chatbots, and recommendation systems.
❓ Frequently Asked Questions
❓ Does this require a Bon Appétit subscription? No. This Actor scrapes publicly accessible recipe pages. No login, subscription, or API key is required.
❓ How many recipes can I scrape? Free users get up to 10 recipes per run. Paid users can scrape up to 1,000,000 recipes per run.
❓ How fast does it run? A typical run of 50 recipes completes in under 2 minutes. Larger runs scale proportionally with built-in rate limiting to avoid being blocked.
❓ Can I search by multiple keywords?
Yes. Enter a phrase in searchQuery like "chocolate cake" or "grilled chicken" and the Actor will search for matching recipes.
❓ What's the difference between searchQuery and category?
Both perform a keyword search on Bon Appétit's search page. searchQuery takes priority. If only category is provided, it is used as the search term. Use category for single-topic filtering like "dessert" or "pasta".
❓ Are ingredients returned as a structured list?
Yes. The ingredients field is a JSON array where each element is one ingredient with its measurement (e.g. "2 cups all-purpose flour").
❓ Are instructions returned per-step?
Yes. The instructions field is a JSON array where each element is one cooking step, ready to display as a numbered list.
❓ Why are some cookTime or totalTime fields null?
Bon Appétit's structured data does not include time fields for all recipes, particularly older ones. When a recipe does not include timing in its JSON-LD data, those fields will be null.
❓ Why is difficulty sometimes null?
Difficulty is derived from Bon Appétit's own tagging. Not all recipes are tagged with a difficulty level. When the difficulty tag (easy, medium, etc.) is absent, the field returns null.
❓ Can I export the data to Excel or CSV? Yes. Apify's dataset viewer lets you download results in CSV, Excel, JSON, and XML formats from the Storage tab after each run.
❓ How do I run this on a schedule? In the Actor settings on Apify Console, click "Schedule" and set a cron expression. The Actor will run automatically and store each run's results in a separate dataset.
❓ Is the data real-time? Yes. Every run fetches live data from Bon Appétit's website. There is no caching or pre-stored data.
🔌 Integrate with any app
Connect this Actor to your workflow using Apify's native integrations:
| Integration | Use case |
|---|---|
| Google Sheets | Sync recipes to a spreadsheet for team collaboration |
| Airtable | Build a searchable recipe database with custom views |
| Notion | Import recipes into a Notion database for meal planning |
| Slack | Get run summaries posted to a channel automatically |
| Make (Integromat) | Multi-step automation with hundreds of supported apps |
| Zapier | Trigger workflows in 6,000+ apps when a run completes |
| Apify REST API | Call from any codebase with the official Node.js or Python SDK |
| Webhooks | POST dataset URLs to any custom endpoint on run completion |
| Excel | Download CSV and open directly in Microsoft Excel |
| BigQuery / Snowflake | Feed cleaned recipe data into a data warehouse |
🔗 Recommended Actors
| Actor | Description |
|---|---|
| Serious Eats Scraper | Scrape recipes from Serious Eats with full ingredients, nutrition, and technique guides |
| BBC Good Food Scraper | Export BBC Good Food recipes with ratings, cook times, and calorie counts |
| Allrecipes Scraper | Collect crowd-sourced recipes with user ratings, reviews, and ingredient lists |
| Food.com Scraper | Scrape Food.com recipes with serving sizes, prep times, and nutrition data |
| Yummly Scraper | Extract Yummly recipes filtered by dietary restrictions and cuisine type |
💡 Pro Tip: browse the complete ParseForge collection for 150+ ready-to-use data extractors covering food, travel, jobs, finance, and more.
Disclaimer: This Actor is an independent tool for accessing publicly available recipe data from Bon Appétit for legitimate research, development, and personal use. It is not affiliated with, endorsed by, or connected to Bon Appétit or Conde Nast. Use responsibly and in accordance with Bon Appétit's Terms of Service. Recipe content is copyright of Bon Appétit and its authors.