Recipe Scraper API – URL to Structured Data avatar

Recipe Scraper API – URL to Structured Data

Pricing

from $3.00 / 1,000 successful recipe extractions

Go to Apify Store
Recipe Scraper API – URL to Structured Data

Recipe Scraper API – URL to Structured Data

Recipe scraper API for recipe sites and food blogs. Turn recipe URLs into clean structured data with titles, ingredients, instructions, prep and cook times, servings, nutrition, and source URLs. Handles JavaScript-heavy pages and anti-bot challenges for apps, data pipelines, and AI agents.

Pricing

from $3.00 / 1,000 successful recipe extractions

Rating

0.0

(0)

Developer

Tiger Claw

Tiger Claw

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Recipe Scraper API

Recipe scraper API for extracting structured recipe data from public recipe URLs, recipe websites, and food blogs.

Extract a recipe from a URL and receive normalized ingredients, instructions, cooking times, servings, cuisine, category, nutrition, and other available recipe fields.

The Actor automatically adapts to different website structures, JavaScript-rendered pages, and supported access protections. No browser configuration, proxy setup, or scraping knowledge is required.

What does Recipe Scraper API do?

Recipe Scraper API extracts structured recipe information from recipe websites, publishers, and food blogs.

For each unique URL, the Actor selects appropriate fetching and extraction methods automatically and returns one Dataset record.

It is designed for:

  • Recipe and meal-planning applications
  • Recipe database ingestion
  • Shopping-list and ingredient tools
  • Nutrition and food-data pipelines
  • AI agents that need structured recipe information
  • Bulk recipe processing and research

Why use this Actor?

One interface for many recipe websites

Recipe websites use different layouts, structured-data formats, JavaScript frameworks, and access protections. This Actor hides that complexity behind one consistent input and output format.

Automatic fallback

The Actor starts with efficient HTTP fetching, then automatically uses browser rendering and managed access handling only when needed. You do not need to choose a browser, configure a proxy, or enable a special scraping mode.

Structured output

Recipes are returned in predictable fields suitable for applications, databases, automation workflows, APIs, and AI agents.

One result per URL

Each unique submitted URL produces one Dataset record. Failed URLs are not silently discarded: they return a structured error that makes bulk processing easy to reconcile programmatically.

Input

Provide up to 100 direct public recipe URLs:

{
"urls": [
"https://www.bbcgoodfood.com/recipes/easy-pancakes",
"https://www.750g.com/quiche-lorraine-r100077.htm"
]
}

Output

The Actor creates one Dataset item for every unique input URL.

Successful recipe

The detailed recipe is contained in recipe. Top-level summary fields make the Apify Dataset table easy to scan and filter.

{
"success": true,
"fetch_method": "basic_requests",
"extraction_method": "json_ld",
"recipe": {
"title": "Easy pancakes",
"description": "Learn how to make the perfect pancakes every time.",
"ingredients": [
"100g plain flour",
"2 large eggs",
"300ml milk",
"1 tbsp sunflower or vegetable oil plus a little extra for frying",
"lemon wedges to serve (optional)",
"caster sugar to serve (optional)"
],
"instructions": [
"Whisk the flour, eggs, milk, oil, and salt into a smooth batter.",
"Rest the batter if desired.",
"Heat and lightly oil a frying pan.",
"Cook each pancake until golden on both sides.",
"Serve with lemon wedges and caster sugar."
],
"prep_time": "PT10M",
"cook_time": "PT20M",
"total_time": "PT30M",
"yield": "Makes 12",
"cuisine": "British",
"category": "Breakfast, Brunch, Main course",
"nutrition": {
"calories": "61 calories",
"proteinContent": "3 grams protein"
},
"source_url": "https://www.bbcgoodfood.com/recipes/easy-pancakes"
},
"source_url": "https://www.bbcgoodfood.com/recipes/easy-pancakes",
"recipe_title": "Easy pancakes",
"ingredient_count": 6,
"instruction_count": 5
}

Fields such as nutrition, cooking time, cuisine, category, and servings depend on what the source website publishes and can be null when unavailable.

Error Handling

Every submitted URL produces a result, including URLs that cannot be successfully extracted. Failures are returned as Dataset items rather than being silently skipped:

{
"success": false,
"source_url": "https://example.com/recipe",
"error": {
"code": "not_a_recipe",
"message": "The page does not appear to contain a recipe.",
"retryable": false
}
}

The error object always contains a machine-readable code, a human-readable message, and a retryable flag. Some errors also include helpful context, such as an anti-bot provider or HTTP status code.

Error codeMeaning
not_a_recipeThe page was accessible but does not appear to contain a recipe.
recipe_incompleteRecipe information was found, but there was not enough reliable data to return a complete recipe.
subscription_requiredThe recipe appears to require an authenticated subscription or paywall access.
anti_bot_challengeThe website blocked automated access even after available fallback methods were attempted.
access_blockedThe website denied access without a detected named anti-bot challenge.
network_errorThe page could not be retrieved because of a network or remote-server failure.
fetch_timeoutThe website did not respond before the request timed out.

Notes and Limits

  • Submit direct public recipe-page URLs, not category pages, search results, or homepages.
  • Duplicate URLs are processed once per run.
  • The Actor never attempts to bypass subscriptions or authenticated access.
  • Recipe availability and optional fields depend on the source website.
  • Use the returned success field and error object when processing recipes in bulk.

Pricing

Successful recipe extractions cost $0.003 each ($3 per 1,000 successful recipes).

Failed URLs still return a Dataset record but do not trigger the successful-extraction charge. Platform usage is included in the price. A small Actor-start fee applies per run.

Example Use Cases

  • Send a list of bookmarked recipes to build a meal plan.
  • Convert recipe links into an ingredient database or shopping list.
  • Enrich a food dataset with cooking times, servings, and nutrition data.
  • Let an AI agent retrieve a recipe from a public link in a predictable JSON format.

API and AI Agent Use

Use Recipe Scraper API through the Apify API, automation workflows, or Apify MCP.

It is useful when an application or AI agent needs to:

  • Extract a recipe from a URL.
  • Parse recipes from food blogs or recipe websites.
  • Convert recipe pages into predictable structured JSON.
  • Retrieve ingredients and cooking instructions programmatically.
  • Normalize recipe data before meal planning, shopping-list generation, or further AI processing.