Recipe Extractor: TikTok, Instagram & YouTube Video to Recipe avatar

Recipe Extractor: TikTok, Instagram & YouTube Video to Recipe

Pricing

from $21.00 / 1,000 recipe extracteds

Go to Apify Store
Recipe Extractor: TikTok, Instagram & YouTube Video to Recipe

Recipe Extractor: TikTok, Instagram & YouTube Video to Recipe

Turn TikTok, Instagram Reel, YouTube and recipe-site URLs into clean recipe JSON: ingredients with quantity, unit and item, timestamped steps, times, servings, tags and diets, with confidence per ingredient. Pay only for successful recipes: $30 per 1,000.

Pricing

from $21.00 / 1,000 recipe extracteds

Rating

0.0

(0)

Developer

Scrape Lads

Scrape Lads

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

What does Recipe Extractor do?

Recipe Extractor turns a cooking video or recipe page URL into clean, structured recipe JSON. Paste a TikTok video, Instagram Reel, YouTube video or Short, or any recipe website, and get back the title, ingredients split into quantity, unit and item, numbered steps with video timestamps, prep and cook times, servings, tags, diets, and optional nutrition. Every ingredient carries a confidence score and the signal it came from (caption, spoken transcript, linked recipe page, cover image), so your app can trust the exact amounts and send guesses to review.

It runs on the Apify platform, so you get an API, scheduling, webhooks, and integrations with Make, Zapier, n8n, and MCP-based AI agents out of the box. You only pay for successful recipes: failed URLs, non-recipe videos, and videos that only say "comment RECIPE" are free.

What data can you extract from a recipe video?

🍽️ Recipe title🖼️ Cover image👥 Servings
⏱️ Prep, cook and total time🥕 Ingredients with amounts📋 Step-by-step instructions
🍳 Equipment🥗 Nutrition🏷️ Tags
📱 Platform👤 Creator🎯 Confidence score

Why use Recipe Extractor?

  • Built for recipe and meal-planning apps. "Save a recipe from TikTok or Instagram" is the feature every recipe app wants. This gives you the extraction pipeline as one API call instead of a scraper, a speech-to-text step, and a prompt you have to maintain.
  • App-ready schema, not a transcript. Ingredients come parsed (2 cups flour, sifted becomes quantity 2, unit cup, item flour, note sifted), with optional metric or US conversion for grocery lists.
  • Exact recipes when they exist. Many creators link the full written recipe in their caption. Recipe Extractor follows that link and reads the site's schema.org recipe, so amounts are exact rather than guessed from speech.
  • Multi-signal extraction. Caption, the platform's own subtitles (TikTok speech-to-text, YouTube captions), linked recipe pages, and the cover frame are merged by an AI model (DeepSeek V4 Flash by default, Claude optional) into one recipe.
  • Guards against invented amounts. Each ingredient must be backed by a quote from the source. Anything the source never mentions is flagged as inferred with low confidence.

How to extract a recipe from a TikTok, Instagram Reel or YouTube video

  1. Open the Input tab.
  2. Paste one or more URLs (one per line). Short links such as vm.tiktok.com/... work too.
  3. Pick options: unit conversion, translation, nutrition.
  4. Click Start. Each URL becomes one row in the Output tab, usually within 10 to 30 seconds.
  5. Download the results as JSON, CSV, Excel, or HTML, or fetch them through the API.

Input

FieldWhat it doesDefault
urlsTikTok videos, Instagram Reels and posts, YouTube videos and Shorts, or recipe web pagesrequired
unitsoriginal, metric (adds ml and g for cups, ounces, pounds), or us (adds cups, ounces, spoons)original
translateToWrite the recipe in another language, for example Englishempty (keep the creator's language)
includeNutritionPer-serving calories and macros, from the recipe page or estimatedfalse
followRecipeLinksRead the written recipe linked from the captiontrue
useCoverShow the cover frame to the modeltrue
useCacheReuse a result from the last 30 days for the same URL and optionstrue
maxConcurrencyURLs processed in parallel5
{
"urls": [
"https://www.tiktok.com/@recipes/video/7447547249720053000",
"https://www.instagram.com/reel/Dd-VQPnRz0t/",
"https://youtube.com/shorts/PM4lHUNQSvY"
],
"units": "metric",
"includeNutrition": true
}

Output

One row per URL. A shortened example:

{
"inputUrl": "https://www.instagram.com/reel/Dd-VQPnRz0t/",
"status": "success",
"errorCode": null,
"recipe": {
"title": "Spaghetti Squash Lasagna",
"servings": 4,
"times": { "prepMin": 10, "cookMin": 60, "totalMin": 70 },
"ingredients": [
{
"raw": "1 tablespoon olive oil",
"quantity": 1,
"quantityMax": null,
"unit": "tbsp",
"item": "olive oil",
"note": null,
"group": null,
"optional": false,
"converted": null,
"confidence": 0.99,
"source": "linked_recipe_page"
},
{
"raw": "1 pound lean ground beef",
"quantity": 1,
"unit": "lb",
"item": "lean ground beef",
"converted": { "quantity": 454, "unit": "g" },
"confidence": 0.99,
"source": "linked_recipe_page"
}
],
"steps": [
{ "n": 1, "text": "Preheat the oven to 400ºF.", "timestampSec": null, "source": "linked_recipe_page" }
],
"tags": ["main course", "italian", "spaghetti squash"],
"cuisine": "Italian",
"dietary": ["gluten-free"],
"nutrition": { "estimated": false, "perServing": true, "calories": 513, "proteinG": 34 },
"coverImageUrl": "https://..."
},
"source": {
"platform": "instagram",
"author": "feelgoodfoodie",
"videoDurationSec": 30,
"linkedRecipeUrl": "https://feelgoodfoodie.net/recipe/spaghetti-squash-lasagna-boats/"
},
"signalsUsed": ["linked_recipe_page"],
"overallConfidence": 0.99,
"method": "jsonld",
"charged": true
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Statuses and error codes

statusMeaningCharged
successA recipe with ingredients and stepsyes
incompleteA recipe, but the ingredients or steps are not in the content (for example "comment RECIPE for the recipe")no
not_a_recipeFood review, restaurant visit, ad, or unrelated videono
failedSee errorCode: invalid_url, unsupported_url, not_found, private_or_removed, blocked, no_content, llm_error, llm_refusedno

Data fields

FieldDescription
recipe.title, recipe.descriptionDish name and short description
recipe.servings, recipe.yieldServings as a number, and the yield text
recipe.timesprepMin, cookMin, totalMin
recipe.ingredients[]raw, quantity, quantityMax (ranges), unit, item, note, group (sub-recipe), optional, converted, confidence, source
recipe.steps[]n, text, timestampSec (where it happens in the video), source
recipe.equipment, recipe.tags, recipe.cuisine, recipe.course, recipe.dietaryClassification for filtering
recipe.nutritionPer serving; estimated: true when computed from ingredients
sourcePlatform, canonical URL, creator, duration, publish date, linked recipe URL
signalsUsed, overallConfidence, methodProvenance: jsonld (exact written recipe) or llm (merged by the model)

How much does it cost to extract recipes from videos?

$30 per 1,000 recipes ($0.03 each), charged only for successful recipes, plus $0.002 per run. Failed URLs, videos that are not recipes, and incomplete recipes (for example "comment RECIPE for the recipe") are free. Higher Apify plans get volume discounts down to $0.018 per recipe. Apify's free plan credits cover your first recipes.

ExampleCost
1 TikTok recipe$0.032
100 Instagram Reels, 60 of them full recipes$1.80
1,000 YouTube recipe videosabout $30

Tips for the best results

  • Keep followRecipeLinks on. When a creator links their blog, you get the exact published recipe.
  • Use units: metric or us to feed grocery lists without writing your own conversion.
  • Route on confidence. Show ingredients below 0.6 confidence, or source: "inferred", to the user for a quick check.
  • Batch your URLs. One run with 100 URLs pays one start fee.
  • Translate on the way in with translateTo if your app is single-language.

Run it on a schedule

Save your input as a task, then open Schedules in Apify Console and pick how often it runs. Daily runs on a creator's latest videos keep a recipe collection up to date. Each run creates a new dataset, so you can compare runs over time.

To send results somewhere automatically, use the Integrations tab: Google Sheets, Slack, Make, Zapier, n8n and webhooks are built in. AI agents such as Claude or ChatGPT can run it as a tool through the Apify MCP server.

ActorWhat it does
Video Transcript ScraperTranscripts from TikTok, Instagram, YouTube and X videos.
TikTok Scraper ProTikTok hashtags, profiles, keyword search, comments and followers.
YouTube Shorts Scraper & Channel Email FinderYouTube Shorts, channel videos and creator contact emails.
Instagram ScraperInstagram posts, profiles, hashtags and comments.
Coles Woolworths ALDI ScraperAustralian supermarket prices and specials.

FAQ, disclaimers, and support

Does it download or store videos? No. It reads the public caption, the platform's public subtitles, linked pages, and the cover image. It does not download or redistribute video.

Instagram audio? Instagram does not publish subtitles, so Reels are read from the caption, linked recipe pages, and the cover image. Reels whose recipe is only spoken come back as incomplete and are free.

Why "incomplete"? Many creators put the recipe behind "comment RECIPE and I will DM you". The content then does not contain the recipe, so the row is free and says so.

Is this legal? It processes publicly available content. Results are structured facts with attribution and a link back to the creator. Respect creators' rights and the platforms' terms when you use the output.

Why was my result instant? Popular videos are often already extracted. A stored result for the same video is returned (with your unit and nutrition choices applied) and fromCache is true. Set useCache to false to force a fresh extraction.

Cover image URLs from TikTok and Instagram are signed and expire after some days. Copy the image if you need to keep it.

Found a recipe that came out wrong, or need another platform? Open an issue on the Issues tab. Custom extraction pipelines are available on request.

Does TikTok, Instagram or YouTube have an official API? Why use this instead? No platform offers an API that returns a recipe from a video. Their APIs give captions or metadata at best, and only to approved apps. This Actor reads the video's caption, subtitles or speech and turns them into a structured recipe with ingredients, quantities and steps.

What are the alternatives to this Actor? You can type recipes out by hand, use a recipe-saving app, or run a transcript through a chatbot yourself. Apps keep the data inside their own interface, and doing it by hand does not scale. This Actor returns clean JSON you can store or publish, at a fixed price per recipe.

Privacy

To see which searches are useful, this Actor sends anonymous run inputs (such as keywords, hashtags and usernames) and a hashed account ID to the developer. Tokens, cookies and proxy settings are never sent. Nothing from your results is collected.