13 KiB
13 KiB
International Recipe Sources (Researched 2026-06-28, Updated 2026-06-28)
Focus: Asian cuisine, light/healthy main courses, internationally diverse. English-language sites with JSON-LD for scraping + translation to German.
Tier 1 — Ready to Integrate (JSON-LD confirmed + sitemap available + no AI-bot blocks)
BBC Good Food (bbcgoodfood.com) — ~5,045 recipes ⭐ TOP PICK
- Sitemap: Quarterly recipe sitemaps at
https://www.bbcgoodfood.com/sitemaps/YYYY-QN-recipe.xml(indexed fromsitemap.xml) - Counts per quarter: Q2-2026: 149, Q1-2026: 156, Q4-2025: 210, Q3-2025: 179, Q2-2025: 182, Q1-2025: 214, Q4-2024: 292, Q3-2024: 179, Q2-2024: 160, Q1-2024: 223, Q4-2023: 290, Q3-2023: 262, Q2-2023: 132, Q1-2023: 203, Q4-2022: 296, Q3-2022: 231, Q2-2022: 272, Q1-2022: 207, Q4-2021: 250, Q3-2021: 206, Q2-2021: 154, Q1-2021: 191, Q4-2020: 278, Q3-2020: 129. Total: ~5,045
- JSON-LD: ✅ Confirmed
- Cuisine focus: Huge international coverage, including dedicated Asian/Indian/Thai sections
- Robots.txt: Permissive — declares sitemaps, no AI-bot blocks
- Quality: Professional editorial team, nutrition data, tested recipes
- ID prefix:
bgf_
RecipeTin Eats (recipetineats.com) — ~1,697 recipes
- Sitemap:
https://www.recipetineats.com/sitemap_index.xml→ 4 post sitemaps (495+500+499+203 URLs) - JSON-LD: ✅ Confirmed
- Cuisine focus: Pan-Asian (Japanese, Thai, Korean, Chinese), Australian, fusion. ~404 URLs match Asian keywords.
- Robots.txt: Blocks anthropic-ai and Claude-Web specifically, but does NOT block generic crawlers. Standard UA with polite delays works.
- Quality: High — detailed instructions, ratings, step photos. Many authentic Asian recipes.
- ID prefix:
rt_
Woks of Life (thewoksoflife.com) — ~1,555 recipes ⭐ BEST CHINESE
- Sitemap:
https://thewoksoflife.com/sitemap_index.xml→ post-sitemap.xml (997) + post-sitemap2.xml (558) - JSON-LD: ✅ Confirmed
- Cuisine focus: Chinese (Cantonese, Sichuan, regional), some Asian-American
- Robots.txt: Permissive (blocks wp-admin, cdn-cgi, wp-json only)
- Quality: Family-authored, authentic Chinese techniques, detailed step photos
- ID prefix:
wol_
SkinnyTaste (skinnytaste.com) — ~2,354 recipes ⭐ BEST LIGHT/HEALTHY
- Sitemap:
https://www.skinnytaste.com/sitemap_index.xml→ 3 post sitemaps (685+862+807 URLs) - JSON-LD: ✅ Confirmed
- Cuisine focus: Healthy, low-calorie, light mains, WW-friendly. Strong international coverage including Asian-inspired light dishes.
- Robots.txt: Blocks Google-Extended, GPTBot, ChatGPT-User, PiplBot. Does NOT block generic crawlers.
- Quality: Excellent — Gina Homolka provides nutrition data (calories, macros) for every recipe. Professionally tested.
- ID prefix:
st_
Rasa Malaysia (rasamalaysia.com) — ~1,390 recipes ⭐ BEST SE-ASIAN
- Sitemap:
https://rasamalaysia.com/sitemap_index.xml→ post-sitemap.xml (984) + post-sitemap2.xml (406) - JSON-LD: ✅ Confirmed
- Cuisine focus: Malaysian, Singaporean, Thai, Chinese, pan-Southeast-Asian
- Robots.txt: Permissive (blocks cdn-cgi, wp-admin only)
- Quality: High — authentic Southeast Asian recipes with detailed cultural context
- ID prefix:
rm_
Pinch of Yum (pinchofyum.com) — ~1,483 recipes
- Sitemap:
https://pinchofyum.com/sitemap_index.xml→ post-sitemap.xml (912) + post-sitemap2.xml (571) - JSON-LD: ✅ Confirmed
- Cuisine focus: Comfort food, international, some Asian-inspired
- Robots.txt: Permissive (blocks wp-admin, search only)
- Quality: Good — standardized format, nutrition data sometimes included
- ID prefix:
poy_
Budget Bytes (budgetbytes.com) — ~1,981 recipes
- Sitemap:
https://www.budgetbytes.com/post-sitemap.xml(976) + post-sitemap2.xml (974) + post-sitemap3.xml (31) - JSON-LD: ✅ Confirmed
- Cuisine focus: American comfort, international fusion, budget-friendly mains
- Robots.txt: Permissive
- ID prefix:
bb_
Omnivore's Cookbook (omnivorescookbook.com) — ~772 recipes
- Sitemap:
https://omnivorescookbook.com/sitemap_index.xml→ post-sitemap.xml (772 URLs) - JSON-LD: ✅ Confirmed
- Cuisine focus: Modern Chinese, some Asian fusion
- Robots.txt: Has Raptive ad-network block list but does NOT block generic crawlers
- Quality: Good — authentic Chinese with modern adaptations
- ID prefix:
oc_
Hot Thai Kitchen (hot-thai-kitchen.com) — ~464 recipes ⭐ MOST AUTHENTIC THAI
- Sitemap:
https://hot-thai-kitchen.com/sitemap_index.xml→ post-sitemap.xml (464 URLs) - JSON-LD: ✅ Confirmed
- Cuisine focus: Authentic Thai (not Westernized)
- Robots.txt: Permissive (Yoast standard)
- Quality: Exceptional — Pai (author) explains Thai cooking theory, ingredient substitution within Thai context
- ID prefix:
htk_
Spoon Fork Bacon (spoonforkbacon.com) — ~911 recipes
- Sitemap:
https://www.spoonforkbacon.com/sitemap_index.xml→ post-sitemap.xml (911 URLs) - JSON-LD: ✅ Confirmed
- Cuisine focus: Asian fusion, modern international
- Robots.txt: Permissive (wp-admin, search only)
- ID prefix:
sfb_
Korean Bapsang (koreanbapsang.com) — ~275 recipes ⭐ BEST KOREAN
- Sitemap:
https://www.koreanbapsang.com/sitemap_index.xml→ post-sitemap.xml (275 URLs) - JSON-LD: ✅ Confirmed
- Cuisine focus: Authentic Korean home cooking
- Robots.txt: Permissive (Yoast standard)
- Quality: Excellent — Susan (author) provides authentic Korean recipes with cultural context
- ID prefix:
kb_
Sanjeev Kapoor (sanjeevkapoor.com) — ~1,965 recipes ⭐ BEST INDIAN
- Sitemap:
https://www.sanjeevkapoor.com/webcontent-sitemap.xml(1,965 URLs) - JSON-LD: ⚠️ Non-standard — uses
@type: Recipebut in a different JSON structure (not standard schema.org/Recipe JSON-LD block). HasrecipeInstructionsandrecipeIngredientfields. Needs custom parser. - Cuisine focus: Indian (all regions, vegetarian + non-veg)
- Robots.txt: Declares sitemaps, no AI-bot blocks
- Quality: Celebrity chef, authentic Indian recipes
- ID prefix:
sk_ - Pitfall: JSON-LD is present but structured differently from WP recipe plugins. The
@typeappears as'Recipe(note quote style) rather than"Recipe". May need regex extraction instead of standard JSON-LD parsing.
Minimalist Baker (minimalistbaker.com) — ~650 recipes
- Sitemap:
https://minimalistbaker.com/wp-sitemap.xml→post-sitemap.xml(0 URLs — appears empty) +post-sitemap2.xml(650 URLs) - JSON-LD: ✅ Confirmed
- Cuisine focus: Simple plant-based, ≤10 ingredients, GF options
- Robots.txt: Disallows
/r/,/ecourse/,/university/paths. Blocks anthropic-ai. - Quality: High — Dana Schultz (author) provides consistently formatted recipes
- ID prefix:
mb_ - Pitfall:
post-sitemap.xmlreturns 0 URLs — usepost-sitemap2.xmlinstead. This caused a misdiagnosis in the first research pass.
Tier 2 — JSON-LD Confirmed but Blocks AI Bots (use generic UA)
Cookie and Kate (cookieandkate.com) — ~920 recipes
- Sitemap:
https://cookieandkate.com/post-sitemap.xml(920 URLs) - JSON-LD: ✅ Confirmed
- Cuisine focus: Vegetarian, healthy, Mediterranean-inspired, some Asian fusion
- Robots.txt: Blocks anthropic-ai, Claude-Web, bot "008". Does NOT block generic Mozilla UA.
- ID prefix:
ckate_
Healthy Nibbles (healthynibblesandbits.com) — ~640 recipes
- Sitemap:
https://healthynibblesandbits.com/post-sitemap.xml(640 URLs) - JSON-LD: ✅ Confirmed
- Cuisine focus: Asian, healthy, light mains
- Robots.txt: Blocks ChatGPT-User, GPTBot, anthropic-ai via Raptive. Generic UA works.
- ID prefix:
hn_
Tier 3 — Blocked or Not Feasible
Just One Cookbook (justonecookbook.com) — ~1,200+ recipes
- Status: ❌ Cloudflare blocks ALL automated access. Returns Cloudflare challenge page for curl requests. Sitemap returns HTML error page, not XML.
- JSON-LD: ✅ Exists (confirmed via browser in earlier session)
- Note: Previously listed as "no sitemap" — incorrect. The site HAS a sitemap (
sitemap_index.xmldeclared in robots.txt) but Cloudflare blocks programmatic access to it. Would need Playwright/browser automation to scrape. - Correction from earlier doc: Original reference said "No sitemap index or post-sitemap found" — this was wrong. The sitemap exists but is behind Cloudflare protection.
Maangchi (maangchi.com) — ~500+ recipes
- Status: ❌ Returns HTTP 403 for all programmatic requests (even with browser-like UA)
- JSON-LD: Could not verify (blocked)
- Cuisine focus: Korean (most popular English-language Korean site)
- Note: robots.txt is permissive (only blocks /post-comments/) but the server itself rejects non-browser requests.
AllRecipes (allrecipes.com)
- Status: ❌ Sitemaps exist (
sitemap_1.xmlthroughsitemap_4.xml) but contain 0 URLs — appear to be empty or dynamically generated. - JSON-LD: Could not confirm on sampled recipe URLs
- Note: Largest US recipe site but not scrapable via sitemap approach.
Archana's Kitchen (archanaskitchen.com) — 8,428 URLs
- Status: ❌ Sitemap has 8,428 URLs but NO JSON-LD on recipe pages (0 blocks found). Would need custom HTML parsing.
- Cuisine focus: Indian
- Note: Large volume but no structured data — not worth the effort vs. Sanjeev Kapoor which has JSON-LD.
Bon Appétit (bonappetit.com) / Epicurious (epicurious.com)
- Status: ❌ No JSON-LD on recipe pages. Both use Condé Nast's proprietary structured data format.
- Note: High quality but not scrapable via JSON-LD approach.
Serious Eats (seriouseats.com)
- Status: ❌ Sitemap exists but returned 0 recipe URLs. JSON-LD not confirmed on sampled URLs.
- Note: May use WPRM (WordPress Recipe Maker) structured data instead of JSON-LD. Would need custom parser.
Pick Up Limes (pickuplimes.com) — ~240 recipes
- Sitemap:
https://www.pickuplimes.com/sitemap.xml— only 1 recipe URL found in sitemap (very small) - JSON-LD: ✅ Confirmed
- Robots.txt: Returns HTML page, not a proper robots.txt
- Note: Very small volume (~240). High quality vegan but not worth integration effort for the volume.
Summary: Recommended Integration Priority
| Priority | Source | Recipes | Why |
|---|---|---|---|
| 1 | BBC Good Food | ~5,045 | Largest, international, permissive |
| 2 | SkinnyTaste | ~2,354 | Best for light/healthy gap |
| 3 | Woks of Life | ~1,555 | Best authentic Chinese |
| 4 | RecipeTin Eats | ~1,697 | Pan-Asian, high quality |
| 5 | Rasa Malaysia | ~1,390 | Best SE-Asian |
| 6 | Sanjeev Kapoor | ~1,965 | Best Indian (needs custom parser) |
| 7 | Budget Bytes | ~1,981 | Broad international, budget |
| 8 | Pinch of Yum | ~1,483 | Comfort food, international |
| 9 | Omnivore's Cookbook | ~772 | Modern Chinese |
| 10 | Hot Thai Kitchen | ~464 | Most authentic Thai |
| 11 | Spoon Fork Bacon | ~911 | Asian fusion |
| 12 | Korean Bapsang | ~275 | Authentic Korean |
| 13 | Minimalist Baker | ~650 | Simple vegan/GF |
| 14 | Cookie and Kate | ~920 | Vegetarian (use generic UA) |
| 15 | Healthy Nibbles | ~640 | Asian healthy (use generic UA) |
Total potential: ~20,000+ new recipes, majority Asian or light/healthy.
Translation Strategy
Since these are English-language sources, recipes need translation before or after insertion:
- Pre-insertion translation (recommended): Translate title, description, ingredients, and instructions to German before DB insert. Use LLM batch translation (GLM-5.2 via noris, or a dedicated translation model).
- Store both languages: Keep original English text in a separate column (
title_en,description_en) for reference. - Ingredient mapping: English ingredients should map to the SAME canonical names in the
ingredientstable (e.g.,garlic→knoblauch,chicken breast→hähnchenbrust). TheCANONICAL_OVERRIDESdict iningredient_normalizer.pyalready includes English→German mappings. - Source prefix: Use the ID prefixes listed above for each source.
Scraping Pitfalls (International Sources)
- Cloudflare blocks ≠ "no sitemap". Just One Cookbook was initially diagnosed as "no sitemap" — actually the sitemap exists but Cloudflare returns an HTML challenge page instead of XML. Always check HTTP status codes and content-type, not just whether XML parse succeeds.
- AI-bot blocks in robots.txt are selective. Many sites (RecipeTin Eats, Cookie and Kate, Healthy Nibbles, SkinnyTaste) block
anthropic-ai,Claude-Web,GPTBot, orChatGPT-Userspecifically. They do NOT block genericMozilla/5.0user agents. Use a standard browser-like UA, not an AI-identifying one. - Empty first sitemap ≠ empty site. Minimalist Baker's
post-sitemap.xmlreturns 0 URLs butpost-sitemap2.xmlhas 650. Always check ALL sitemap files in the index. - Non-standard JSON-LD. Sanjeev Kapoor has recipe data but in a non-standard JSON structure (
@type: 'Recipewith single quotes instead of"Recipe"). Standard JSON-LD parsers will miss it. May need regex-based extraction or custom parser. - Quarterly sitemap pattern. BBC Good Food organizes recipe sitemaps by quarter (
YYYY-QN-recipe.xml). Must iterate through all quarters to get full coverage. Older quarters may not exist — check availability before assuming.