2.9 KiB
Recipe Scraper Site Compatibility
Mealie's built-in recipe scraper extracts structured data from recipe websites. Compatibility varies — some sites block automated access (Cloudflare, aggressive bot detection), others work flawlessly.
Reliable (high success rate)
| Site | Notes |
|---|---|
| BBC Good Food (bbcgoodfood.com) | Excellent. Fast parsing, full ingredient + step extraction. |
| RecipeTin Eats (recipetineats.com) | Very reliable. Good image extraction. |
| Budget Bytes (budgetbytes.com) | Works ~70% of time. Rate-limit sensitive — add 1-2s delay between imports. |
| Love and Lemons (loveandlemons.com) | Works well. Vegan/vegetarian focus. |
Unreliable / Blocked (low success rate)
| Site | Issue |
|---|---|
| AllRecipes (allrecipes.com) | Aggressive bot detection. HTTP 400 on most attempts. |
| Simply Recipes (simplyrecipes.com) | Blocks automated scrapers. |
| Damn Delicious (damndelicious.net) | Cloudflare or similar protection. Fails consistently. |
| Gimme Some Oven (gimmesomeoven.com) | Same blocking issue as above. |
Curated import strategy (near-100% success)
When batch-importing by cuisine or theme, search only BBC Good Food and RecipeTin Eats for individual recipe URLs. Restricting to these two sites yields near-100% scraper success, compared to ~50-60% when mixing sources.
Workflow for cuisine batch imports:
- Search
site:bbcgoodfood.com <cuisine> recipeandsite:recipetineats.com <cuisine> recipe - Pick individual recipe URLs (not category/list pages — URLs must end in a recipe slug like
/easy-chicken-fajitas) - Run the batch import script from
references/batch-import.mdwith 2-second delays - Expect 90-100% success rate
Real-world example: A 20-recipe batch (10 Mexican, 10 Mediterranean) from BBC Good Food + RecipeTin Eats imported with 20/20 success (100%). The same approach with mixed sources typically yields 10-12 successes.
Workarounds for blocked sites
- Manual entry: Copy-paste ingredients and steps into Mealie's manual recipe form.
- Screenshot + OCR: Not implemented yet, but Mealie supports OCR recipe creation (requires OpenAI API key or local LLM).
- Alternative source: Many popular recipes exist on multiple sites — search BBC Good Food or RecipeTin Eats for a similar version.
- Import from JSON: If you have recipes in JSON-LD or schema.org format, use Mealie's JSON import endpoint.
Testing a new site
# Quick test — if this returns 400, the site is likely blocked
curl -s -X POST "http://127.0.0.1:9925/api/recipes/create/url" \
-H "Authorization: Bearer *** \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/recipe/test"}'
A successful import returns 200/201 with recipe JSON. 400 usually means the scraper couldn't extract data from the page. 500 means the site blocked the request entirely.