Instagram Recipe Extractor - Reels to Recipes, Any Language
Pricing
$15.00 / 1,000 recipes
Instagram Recipe Extractor - Reels to Recipes, Any Language
Turn Instagram cooking reels into structured recipes: ingredients with quantities, equipment and steps, from what is said and what is shown on screen, in any language, with English versions and schema.org JSON-LD. $15 per 1,000 recipes; reels with no recipe and failures are free.
Pricing
$15.00 / 1,000 recipes
Rating
0.0
(0)
Developer
nnrbzz
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Turn Instagram cooking reels into structured recipes: the dish, ingredients with quantities and units, equipment, steps, time and servings, read from what is said and what is shown on screen, in any language. Recipes stay in their own language, with English versions alongside, and can come as schema.org Recipe JSON-LD for a recipe site. Paste reel links or creator handles and click Start: $15 per 1,000 recipes. Reels with no recipe are free.
What does it do?
- Reads the whole reel. The audio is transcribed in the language spoken, and the frames are read for on-screen text (ingredient lists, quantities, titles). Many recipe reels show the recipe and never say it; those are read too.
- Extracts only what the reel says. Quantities and units are kept as given ("190" stays "190", "a bit" stays "a bit"); nothing is converted or guessed. Missing values are
null. - Any language. Portuguese, Hindi, German, Japanese, French, Spanish and English were in our tests. The recipe stays in its own language, and
title_en,ingredients_enandsteps_engive the English. - Charged only for a recipe. A reel with no recipe, a silent reel with no text, a private reel or a failure is a free row.
- schema.org-friendly. Turn on
recipeJsonLdfor a readyRecipeobject per reel (recipeIngredient,recipeInstructions,tool,totalTime,recipeYield).
Use cases
- Recipe sites and apps: import creators' recipes as structured data, with a link back to the reel.
- Meal planning and shopping lists: ingredients with quantities, ready to sum.
- Food brands and marketers: see which ingredients and dishes creators in a market are cooking.
- Researchers: cooking trends across languages, with the source reel for every recipe.
- AI agents: a stable row per reel, with
recipe_statussaying what was found.
What data do you get?
| Field | What it is |
|---|---|
recipe | title, language, ingredients [{item, quantity, unit}], equipment, steps, time_minutes, servings, and title_en, ingredients_en, steps_en when the recipe isn't in English |
recipe_status | ok (a recipe, charged), none (no recipe), skipped (nothing to read), failed |
is_recipe | whether the reel holds a recipe at all |
has_speech, has_on_screen_text | what the recipe was read from |
recipe_jsonld | the recipe as schema.org Recipe JSON-LD (with recipeJsonLd on) |
transcript, language, on_screen_text | the sources, as read |
shortcode, url, creator, caption, duration_s | the reel |
charged_event | recipe when charged, else null |
How to extract recipes from Instagram reels
- Paste reel or post links into Reel and post links, or creator usernames into Creator handles.
- Leave English versions on to get the English next to the original; turn on schema.org JSON-LD if you publish recipes.
- Click Start. Each reel becomes one row; download them as JSON, CSV or Excel, or read them through the API.
How much does it cost to extract recipes?
| Price | Per 1,000 | Each | Charged when |
|---|---|---|---|
| Recipe | $15 per 1,000 recipes | $0.015 | the reel holds a recipe with at least one ingredient or step |
| No recipe, silent reels with no text, failures, private reels | free | $0 | never |
The transcript and the on-screen text are included: they are not charged on their own. English versions and JSON-LD cost nothing extra.
Apify's reel scraper is billed to your account too. To read Instagram, this actor calls Apify's own Instagram Reel Scraper under your account, at its own price: about $2.60 per 1,000 reels on Apify's free plan (less on paid plans), for every reel read, recipe or not.
Examples (our price, plus the scraper's ~$2.60 per 1,000 reels):
- 6 recent reels from each of 10 cooking creators, 40 of them recipes: $0.60 + about $0.16.
- 1,000 reels from recipe hashtags, about 600 of them recipes: $9 + about $2.60.
Input
{"reelUrls": ["https://www.instagram.com/reel/De1_g_puK0E/"],"handles": [],"maxReelsPerHandle": 6,"englishVersions": true,"recipeJsonLd": false}
reelUrls: reel and post links (/reel/,/reels/,/p/,/tv/). A reel given twice is read and charged once.handles: usernames (name,@name) or profile links; each gives itsmaxReelsPerHandlemost recent reels (default 6, at most 100), pinned reels skipped.englishVersions(defaulttrue): English versions of a recipe that isn't in English.recipeJsonLd(defaultfalse): addrecipe_jsonld.- An empty input runs the example reel, a cookie recipe.
Output
{"shortcode": "De1_g_puK0E","url": "https://www.instagram.com/reel/De1_g_puK0E/","creator": "…","status": "ok","language": "en","transcript": "So hey you guys, hey. So today we're making chocolate chip cookies…","on_screen_status": "found","on_screen_text": "…","recipe": {"title": "Chocolate chip cookies","language": "en","ingredients": [{ "item": "brown sugar", "quantity": null, "unit": null }, { "item": "cinnamon", "quantity": "a little", "unit": null }],"equipment": [],"steps": ["Mix brown sugar, white sugar, butter, egg and vanilla.", "Scoop and bake."],"time_minutes": null,"servings": null,"title_en": null,"ingredients_en": null,"steps_en": null},"recipe_status": "ok","is_recipe": true,"has_speech": true,"has_on_screen_text": true,"recipe_jsonld": null,"charged_event": "recipe"}
statusis the audio's:ok(speech transcribed),no_speechorerror. A silent reel with its recipe on screen hasstatus: "no_speech"andrecipe_status: "ok", and is charged as a recipe.recipeisnullwhen the reel holds no recipe. A reel that names only equipment, or only a dish, comes back withrecipe_status: "none", free.- With
recipeJsonLdon,recipe_jsonldis a schema.orgRecipein the recipe's own language (inLanguage), with the reel asurland the creator asauthor.
How accurate is it (measured)
In our tests of 120 recipe-hashtag reels in 7 languages, Oct 2026: fidelity 9.5/10, completeness 8.3/10; about 2–3 small slips per 10 recipes, such as a loosely translated ingredient or an implied piece of equipment — check quantities before publishing.
- Fidelity: nothing in the recipe that the reel doesn't say or show. Completeness: every ingredient, quantity and step in the reel is in the recipe.
- The slips we saw: pimentón translated as "bell pepper" rather than paprika; an oven listed when the reel only said "200 degrees"; an ingredient split in two; a vague quantity turned into a number.
Error codes
Every row with an error code is free (unless its recipe was read from on-screen text: see no_speech).
error_code | Meaning |
|---|---|
no_speech | No speech in the audio. On-screen text is still read, and a recipe found there is charged. |
private | The reel or profile is private, age-restricted or needs a login. |
unavailable | Deleted, not found, or a handle with no public reels. |
no_audio | The post has no audio: a photo or carousel post, or a video file with no sound. On-screen text is still read when there is a video. |
download_failed | The audio and video files didn't download after 3 attempts each. |
transcription_failed | Both speech-to-text models failed after their retries. |
invalid_input | Not an Instagram reel or post link, or not a handle. |
internal_error | An unexpected error on our side. Please open an issue. |
recipe_status: "failed" (with recipe_error) means the recipe model failed on that reel: the row is free.
FAQ
How much does it cost?
$15 per 1,000 recipes ($0.015 each), charged only when a recipe with at least one ingredient or step is found. Reels with no recipe, silent reels with no text, failures and private reels are free. Apify's reel scraper, which this actor calls under your account, adds about $2.60 per 1,000 reels on the free plan.
Does it work when the recipe is only on screen?
Yes. On-screen text is always read, so a silent reel that shows its ingredient list still gives a recipe.
Will it invent quantities?
It is told never to, and quantities come back as the reel gives them, or null. In our tests it made about 2–3 small slips per 10 recipes, so check quantities before publishing.
Which language do I get?
The recipe's own. With englishVersions on (the default), a recipe in another language also has title_en, ingredients_en and steps_en.
Can I use it with the API or an MCP server?
Yes. POST your input to https://api.apify.com/v2/acts/neonroobz~instagram-recipes/run-sync-get-dataset-items?token=<YOUR_TOKEN>, or add https://mcp.apify.com?tools=neonroobz/instagram-recipes to an MCP client and ask, for example, "get the recipes from the last 6 reels of @creator".
Is it legal?
This actor reads only public reels, as a logged-out viewer would see them, and stores no personal data beyond the public creator handle. Recipes in reels are the creators' work: link back to the reel and check how you may reuse them. Instagram's terms restrict automated collection. If you're unsure, ask a lawyer.
What about my spending limit?
A reel starts only when its recipe price still fits under the limit you set, so you are never charged past it. Reels not reached are listed under not_processed in the run summary (the OUTPUT record).
Is anything stored?
No. Nothing is kept between runs.
How we measured
- Test sets: three sets of 40 public reels, picked mechanically in Oct 2026 from recipe hashtags: English, and Portuguese, Hindi, German, Japanese, French and Spanish recipe tags.
- Judging: two text judges from different model families (google/gemini-2.5-flash and xiaomi/mimo-v2.5) read the same transcript and on-screen text the extractor saw, and scored each recipe for fidelity and completeness, blind. The figures above are from the last set: 23 reels the judges called recipes.
- Caveats: model judges, recipe hashtags only. After the tests, five rules were added to the extraction prompt to target the slips above (vague quantities kept in words, equipment only when named or shown, alternatives kept as one ingredient, temperatures and times kept in their step, an uncertain translation kept in the original word). With
englishVersionsoff, a shorter prompt is used, which was not part of the tests.
Limits
- Public reels only. Private, age-restricted and login-only reels come back as free
privaterows. - Only what the reel gives. Many reels leave out quantities or steps; those come back as
nullor missing, never filled in. - Models make mistakes: about 2–3 small slips per 10 recipes in our tests. Check quantities before publishing.
- The caption is not read. The recipe comes from the audio and the on-screen text only.
- schema.org JSON-LD is built from what the reel gives: a recipe with no named dish has no
name, which some search engines require.
Feedback
A recipe came back wrong, or something broke? Open an issue in the Issues tab with the reel link. We aim to fix a break within a day of finding it.
Changelog
- 1.0 (24 Oct 2026): first release.