Recipe URL Scraper — Keyword Search
Pricing
from $0.25 / 1,000 results
Recipe URL Scraper — Keyword Search
Enter keywords (bread, pasta, mediterranean, lunch…) and get back matching recipe URLs with titles from the web and top recipe sites. Feed the URLs into recipe-extractor for full structured recipe.
Pricing
from $0.25 / 1,000 results
Rating
0.0
(0)
Developer
Cynix Dev
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Enter keywords — bread, pasta, mediterranean, lunch — and get back matching recipe URLs with titles from ten well-known recipe sites. Pair it with Recipe Extractor to turn those URLs into full structured recipes.
What it does
This is the discovery half of a two-step recipe pipeline. You supply keywords; the Actor searches each enabled source's own search and listing pages and returns the recipe URLs it finds, with titles, the source name and the result position.
Ten curated sources are searched by default: Budget Bytes, Damn Delicious, RecipeTin Eats, Once Upon a Chef, Cookie and Kate, Gimme Some Oven, Minimalist Baker, Love and Lemons, A Couple Cooks and BBC Good Food. Enable or disable them per run with sources.
Features
- Multi-keyword search — every keyword is searched across every enabled source.
- Ten curated sources, all of which publish structured recipe markup, so downstream extraction works.
- Source selection — pass only the sites you trust in
sources. - Per-keyword cap —
resultsPerKeyword(1–50) keeps runs bounded. - Position tracking —
positionrecords where a result ranked on its source. - Designed to chain — output URLs feed directly into the Recipe Extractor Actor.
What people use it for
- Build a recipe collection around a cuisine, ingredient or meal type.
- Feed a two-stage pipeline: discover URLs here, extract structured recipes next.
- Content research — see what the major food blogs publish for a keyword.
- Meal-plan generation — gather candidate recipes per weekday theme.
- Seed a food dataset with real, parseable recipe pages.
The two-step recipe pipeline
- Discover — run this Actor with your keywords to collect recipe URLs.
- Extract — pass those
urlvalues into the Recipe Extractor Actor to get ingredients, steps, times, nutrition and dietary tags.
The two are split deliberately: discovery is cheap and broad, extraction is where the real parsing work happens. Splitting them means you can review and filter the URL list before spending anything on extraction.
Supported sources
budgetbytes · damndelicious · recipetineats · onceuponachef · cookieandkate · gimmesomeoven · minimalistbaker · loveandlemons · acouplecooks · bbcgoodfood
Input
keywords is required. sources defaults to all ten supported sites.
| Field | Type | Default | What it does |
|---|---|---|---|
keywords (required) | array | ["pasta"] | One or more search terms, e.g. ["bread", "pasta", "mediterranean", "lunch"]. Each keyword is searched across the enabled sources. |
resultsPerKeyword | integer | 10 | Maximum recipe URLs to return per keyword (1–50). Range 1–50. |
sources | array | ["budgetbytes", "damndelicious", "recipetineats", "onceuponachef", "cookieandkate", "gimmesomeoven", "minimalistbaker", "loveandlemons", "acouplecooks", "bbcgoodfood"] | Which sources to search. Supported: budgetbytes, damndelicious, recipetineats, onceuponachef, cookieandkate, gimmesomeoven, minimalistbaker, loveandlemons, acouplecooks, bbcgoodfood. All respond from datacenter IPs without a proxy. (allrecipes and smittenkitchen block datacenter IPs and are omitted to avoid proxy overhead.) |
proxyConfiguration | object | — | Apify proxy settings. Some recipe sites block datacenter IPs — enable Apify Proxy (RESIDENTIAL recommended) if too many sources fail. |
Input example
{"keywords": ["dessert","pasta"],"resultsPerKeyword": 6,"sources": ["budgetbytes","damndelicious","recipetineats","onceuponachef","cookieandkate","gimmesomeoven","minimalistbaker","loveandlemons","acouplecooks","bbcgoodfood"]}
Output
One record per discovered recipe URL, tagged with the keyword that found it and the source it came from.
Every dataset record contains: keyword, title, url, source, position, fetchedAt.
Output example
A real record from a run of this Actor:
{"keyword": "dessert","title": "Easy Dessert Recipes","url": "https://www.budgetbytes.com/easy-dessert-recipes/","source": "budgetbytes","position": 1,"fetchedAt": "2026-08-20T06:44:15.846Z"}
Export the dataset as JSON, CSV, Excel, XML or JSONL from the Console, or pull it programmatically through the Apify API and any of the official clients.
How to use it
- Click Try for free (or Start if you already have an Apify account).
- Fill in the input fields described above — the defaults already produce a working run.
- Press Start and watch the log; results stream into the dataset as they are found.
- When the run finishes, open the Output/Storage tab and export as JSON, CSV or Excel.
Runs can be scheduled (hourly, daily, weekly) and wired into Slack, Google Sheets, Zapier, Make, webhooks or your own backend through Apify integrations. Everything the Console does is also available over the Apify API.
Proxy configuration
This Actor accepts a standard Apify proxy configuration object. Residential proxy is the default because the target site rate-limits datacenter IP ranges; you can select a specific exit country or supply your own proxy URLs.
{"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
FAQ
Why only ten sources?
They are chosen because they publish clean schema.org Recipe markup, which means every URL this Actor returns is reliably extractable in step two. A broader crawl would return many URLs that can't be parsed.
Can I add my own sites?
Not through the input today. Open an issue on the Issues tab with the sites you want and they can be evaluated for inclusion.
Do I get the full recipe from this Actor?
No — this returns URLs and titles. Feed them into the Recipe Extractor Actor for ingredients, steps, nutrition and dietary tags.
Why did a keyword return fewer results than requested?
resultsPerKeyword is a ceiling per source, and niche keywords simply have fewer matching recipes. Broader terms return more.
Some requests failed. What should I do?
A few recipe sites block datacenter IPs. Enable Apify Proxy with the RESIDENTIAL group and re-run.
Other Actors by cynix_dev
| Actor | What it does |
|---|---|
| Recipe Extractor — Clean Structured Recipes | Paste recipe URLs, get back just the recipe: ingredients, numbered steps, times, yield, nutrition, and rating as clean typed … |
| Open Food Facts Extractor | Search and extract food-product data from Open Food Facts as clean typed JSON: name, brand, ingredients, allergens, nutrition … |
| Open Food Facts Extractor | Search and extract food-product data from Open Food Facts as clean typed JSON: name, brand, ingredients, allergens, nutrition … |
Legal and responsible use
This Actor collects only publicly available information. You are responsible for how you use the data, including compliance with the target site's Terms of Service, robots directives, copyright, and data protection law such as GDPR and CCPA. Do not use it to gather personal data without a lawful basis.
Support and feedback
Found a bug, hit a site change, or need an extra field? Open a ticket on the Issues tab of this Actor — issues are read and fixed. Feature requests and custom-scraper enquiries are welcome through the same channel.