Instagram Reel Transcript - Speech to Text, Pay Per Reel
Pricing
$20.00 / 1,000 reel processeds
Instagram Reel Transcript - Speech to Text, Pay Per Reel
Give it a list of Instagram reels, get the spoken words out of each one. Punctuated, paragraphed, 30+ languages detected automatically. You pay only for reels that actually contain speech.
Pricing
$20.00 / 1,000 reel processeds
Rating
0.0
(0)
Developer
Evgeny Domnin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Instagram Reel Transcript
Give it a list of Instagram reels. Get back the spoken words out of each one: punctuated, split into paragraphs, with the language detected automatically.
You are never charged for a reel we could not fetch. On an ordinary list that is about one reel in four: private posts, deleted posts, and posts Instagram shows as a still image only. Those rows are written to your dataset so your list stays complete, and they cost you nothing.
What you get
- The transcript, as one block of text and again as readable paragraphs.
- Languages heard in each reel, comma separated. A reel that switches between two languages reports both, because the model labels the switch rather than picking a winner.
- Audio length and word count on the same row, so you can spot a 3-second clip and a 3-minute monologue without opening either.
- Confidence from the model, so you can filter out the noisy ones.
- A record of how the audio was reached, which is the first thing you want when a row comes back empty.
What it is for
- Content research: read a competitor's hooks instead of watching 200 reels.
- Repurposing: turn your own reels into captions, blog drafts or newsletter copy.
- Ad research: pull the script out of creatives that are working.
- Search: make a library of reels actually searchable by what is said in them.
Input
Paste reel links, one per line. A /reel/, /p/ or /tv/ link all work, and so does a bare shortcode.
{ "reels": ["https://www.instagram.com/reel/C8CaBfWs1mr/", "DKw2J6TMZd7"] }
The same reel shared in two different forms counts as one, so you are never charged twice for the same video.
Upload a file instead: .txt or .csv, one link per line. In a CSV the first column that looks like a reel is taken.
A link to a remote list works too: {"reels": [{"requestsFromUrl": "https://example.com/reels.txt"}]}.
The field can also be called urls, startUrls, videos, links or url.
Options
| Option | What it does |
|---|---|
language | Leave as multi to detect and switch languages automatically, which is what reels need. Set a code (en, es, de, fr, pt, hi) only when the whole list is in one language. |
maxConcurrency | Leave empty. The Actor takes 4 per CPU core, and Apify gives one core per 4 GB of run memory. |
Output
One row per reel.
{"input": "https://www.instagram.com/reel/C8CaBfWs1mr/","url": "https://www.instagram.com/reel/C8CaBfWs1mr/","shortcode": "C8CaBfWs1mr","status": "ok","transcript": "When the game you love loves you back, that is priceless.","transcriptFormatted": "When the game you love loves you back,\n\nthat is priceless.","wordCount": 11,"durationSeconds": 41.3,"language": "es, en","confidence": 0.98,"meta": { "fetchedAt": "2026-09-20T09:12:03.114Z", "source": "deepgram-nova-3", "method": "url", "durationMs": 4820 }}
status is ok, no-speech or unavailable.
| Status | What it means | Charged |
|---|---|---|
ok | Speech was found and transcribed. | yes |
no-speech | The audio was fetched and processed, and there are no words in it. A music-only reel is the usual case. | yes |
unavailable | The reel could not be reached at all: private, deleted, or Instagram shows only a still image for it. | no |
Why no-speech is charged. You cannot know in advance whether a reel has anyone speaking in it - that is part of what you are asking. "Nobody speaks in this one" is an answer, and it costs exactly as much to produce as a transcript: ninety seconds of music is ninety seconds of audio. What you are never charged for is a reel we could not get, because then we have no answer for you at all.
Notes
- Not every reel can be reached, and you are not charged for the ones that cannot. Measured on 29 reels across two samples: the 14 most-viewed reels on Instagram, and 15 ordinary ones taken from recipe, fitness and tutorial posts. 23 of 29 returned video. The rest show a still image only, which is what Instagram does for private posts, deleted posts and some music posts. On the ordinary sample, of 15 reels submitted: 10 came back with a transcript, 1 was music with no speech, 4 could not be reached. You paid for 11 of the 15.
- A reel with no speech is not a failure. Plenty of reels are music and captions. You get a row saying so, with the audio length on it, so you can tell a silent reel from one we never reached.
- Length varies a lot, and it does not change your price. Across the ordinary sample the median reel ran 60 seconds and the longest 125. You pay per reel, not per minute.
- Transcripts are a model's best guess. Slang, names and crosstalk are where they go wrong.
confidenceis on every row for exactly that reason.