AllRecipes Search Scraper
Pricing
from $5.00 / 1,000 recipe returneds
AllRecipes Search Scraper
Search public AllRecipes recipe cards and return structured recipe metadata, timing, nutrition, ingredients, and instructions for data workflows and AI agents.
Pricing
from $5.00 / 1,000 recipe returneds
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
7 hours ago
Last modified
Categories
Share
Search AllRecipes for public recipe cards and return one structured record per recipe. Use it for recipe discovery, ingredient research, meal-planning datasets, culinary content analysis, and AI-agent workflows that need recipe metadata, timing, nutrition, ingredients, and instructions.
The actor searches one query at a time, paginates up to a bounded page count, deduplicates recipe URLs, and optionally opens each recipe page to parse the public Schema.org Recipe data. It does not scrape accounts, private saves, reviews, comments, or logged-in content.
What it extracts
| Field | Description |
|---|---|
recipeUrl, name, description, imageUrl | Public recipe identity and media |
rating, ratingCount | Aggregate rating values when published |
prepTime, cookTime, totalTime, recipeYield | Timing and yield metadata |
recipeCategory, recipeCuisine, calories | Public classification and nutrition |
ingredients, instructions | Ordered public recipe content when scrapeDetails and responseFormat are detailed |
author, datePublished, dateModified | Public attribution and dates |
searchQuery, searchPage, scrapedAt, warnings | Provenance and quality diagnostics |
Input
The default input is intentionally small and works for the Apify health test:
{"searchQuery": "chicken","maxResults": 10,"maxPages": 3,"scrapeDetails": true,"responseFormat": "detailed","requestDelayMs": 400}
Set scrapeDetails to false when you only need search-card metadata and want fewer requests. Set responseFormat to concise when an AI agent needs fast metadata without ingredient and instruction arrays. maxResults is always the hard output and billing cap.
Example output
{"recipeUrl": "https://www.allrecipes.com/recipe/12682/apple-pie-by-grandma-ople/","name": "Apple Pie by Grandma Ople","description": "A classic homemade apple pie.","imageUrl": "https://www.allrecipes.com/thmb/example/image.jpg","author": "MOSHASMAMA","rating": 4.8,"ratingCount": 13006,"prepTime": "PT30M","cookTime": "PT1H","totalTime": "PT1H30M","recipeYield": "8 servings","ingredients": ["8 small Granny Smith apples", "1/2 cup unsalted butter"],"instructions": ["Gather the ingredients.", "Bake until golden."],"searchQuery": "apple pie","searchPage": 1,"scrapedAt": "2026-08-01T12:00:00.000Z","warnings": []}
Pricing
| Event | Price |
|---|---|
| Actor start | $0.00005 |
| Recipe record stored | $0.005 |
The actor prints the maximum result-event cost before scraping. For example, maxResults: 10 caps result events at about $0.050, excluding the start event and any Apify pay-per-usage option shown at run time. The actor charges only after a validated record is stored and stops when the result or event cap is reached.
Reliability and limitations
AllRecipes can change public HTML, structured-data fields, pagination behavior, or rate limits. The actor uses retries, a single consistent request worker, bounded pagination, and explicit warnings. Empty valid searches exit successfully with a warning. If every request fails before a response is completed, the run is marked failed so the issue is visible instead of being reported as a misleading empty dataset.
The actor reads public pages only. You are responsible for complying with AllRecipes terms, applicable law, copyright rules, and any restrictions on storing or redistributing recipe text. Recipe data should be independently verified before production publishing or safety-critical use.
API and MCP
Run through the standard Apify Actor API and fetch the default dataset after completion:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('YOUR_USERNAME/allrecipes-search-scraper').call({searchQuery: 'one pot pasta',maxResults: 10,scrapeDetails: true});console.log(run.defaultDatasetId);
For hosted Apify MCP, use this actor when an agent needs AllRecipes search results and structured recipe records. Do not use it for AllRecipes member profiles, private saved recipes, or review sentiment; those are outside this actor's scope.
Related workflows
This actor is a search-and-extract source. For a production content workflow, pass selected recipeUrl values to a separate detail or normalization step rather than increasing maxResults without a cost cap.
Support
When reporting a missing field or layout change, include the run ID, search query, and affected public recipe URL.