Instagram Reels Transcript Scraper
Pricing
Pay per event
Instagram Reels Transcript Scraper
Transcribe Instagram reels to text without login. Paste reel links or creator usernames and get timestamped transcripts with plays, likes, captions, music and language. Whisper speech-to-text, full creator history, translation to English. Pay only for transcribed reels.
Pricing
Pay per event
Rating
0.0
(0)
Developer
axly
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Turn Instagram reels into text. Paste reel links or creator usernames and get a timestamped transcript of what is said in each reel, together with the reel's plays, likes, comments, caption, music and posting date. No Instagram login, no cookies, no API keys: the actor reads public reels and transcribes the audio itself with Whisper.
Who it is for
- Content marketers and agencies: study the hooks and scripts of top-performing reels in your niche.
- Brand and social-listening teams: search what creators actually say about a product, not only their captions.
- AI and RAG pipelines: feed reel speech into LLMs, summarizers and search indexes as clean text.
- Researchers: build spoken-content datasets from public creators.
- Creators: repurpose your own reels into blog posts, threads and subtitles.
What you get
| Field | Example | Notes |
|---|---|---|
url, shortcode | https://www.instagram.com/reel/DX7lzTOJ1p6/ | |
ownerUsername, ownerFullName, ownerIsVerified | natgeo, National Geographic, true | |
takenAt | 2026-10-25T17:02:48Z | UTC |
playCount, likeCount, commentCount | 1233244, 20470, 508 | plays are filled for reels found through a creator |
durationSeconds, audioSeconds | 51.15 | |
transcript | [{"start": 0.0, "end": 6.06, "text": "I am just a girl on a healthy hair journey…"}] | timed segments, or one string (see Transcript format) |
hook | I am just a girl on a healthy hair journey… | the opening line (segments starting in the first 3 seconds) |
language, languageProbability, isTranslated | es, 0.98, true | auto-detected per reel |
wordCount, hasSpeech | 142, true | |
caption, hashtags, mentions | the post text | |
musicTitle, musicArtist, isOriginalAudio | Original audio, lyssamariexo, true | |
coauthors, taggedUsers, location, productType | ||
thumbnailUrl, videoUrl | Instagram CDN links, they expire after a few days | |
error, errorReason | no_speech | set when a reel could not be transcribed |
Reels without speech (music only), photo posts, private or removed posts are listed with an error code so you can see what
happened to every input, and you are not charged for them.
How to use it
- Paste reel links (
/reel/…,/reels/…,/p/…,/tv/…, or bare shortcodes) into Reel or post URLs, and/or - add creators (
natgeo,@natgeoor a profile URL). The actor lists each creator's reels newest first, through the full history, and transcribes up to Max reels per creator. Use Only reels posted after to keep a date window. - Run. Results stream into the dataset; export as JSON, CSV, Excel or via the API.
Input options
| Option | Default | What it does |
|---|---|---|
reelUrls | – | reel/post/IGTV links or shortcodes |
usernames | – | creators to pull reels from |
maxReelsPerProfile | 20 | newest reels per creator |
newerThan | – | creators only: skip reels posted before this date |
maxReels | 100 | cap for the whole run |
language | auto | spoken language code (en, es, pt, de, hi …) when you know it |
translateToEnglish | false | English translation of non-English speech |
outputFormat | segments | segments, text or both |
maxAudioMinutes | 20 | longer videos are skipped (listed with error: too_long) |
proxyConfiguration | none | not needed; the actor switches to Apify proxies on its own when Instagram refuses an IP |
Example input
{"reelUrls": ["https://www.instagram.com/reel/DX7lzTOJ1p6/"],"usernames": ["hubermanlab"],"maxReelsPerProfile": 15,"newerThan": "2026-09-01","outputFormat": "both"}
Example output
{"shortcode": "DX7lzTOJ1p6","url": "https://www.instagram.com/reel/DX7lzTOJ1p6/","sourceType": "url","ownerUsername": "lyssamariexo","takenAt": "2026-05-04T21:05:19Z","likeCount": 292,"commentCount": 24,"durationSeconds": 51.15,"language": "en","languageProbability": 0.998,"hook": "I am just a girl on a healthy hair journey of over eight years and one of the things that I've realized is that those people","transcript": [{"start": 0.0, "end": 6.06, "text": "I am just a girl on a healthy hair journey of over eight years and one of the things that I've realized is that those people"}],"transcriptText": "I am just a girl on a healthy hair journey of over eight years and one of the things …","wordCount": 214,"hasSpeech": true,"error": null}
Scheduling and integrations
Schedule the actor (e.g. daily with usernames + newerThan) to collect every new reel of the creators you follow, and
pipe the dataset to Google Sheets, Slack, Make, Zapier or your own webhook. A run interrupted mid-way resumes where it
stopped when started again with the same input, without duplicate rows.
Use with AI assistants (MCP)
Apify's MCP server exposes this actor as a tool, so Claude, ChatGPT, Cursor and other MCP clients can call it directly:
"Transcribe the last 10 reels of @hubermanlab and summarize the advice". Use outputFormat: "text" for compact LLM input.
FAQ
Do I need an Instagram account or cookies? No. The actor only reads public reels, logged out.
How accurate are the transcripts? The actor runs OpenAI's Whisper (base model) on the reel audio. Clear speech in
English and other major languages transcribes well; heavy music, crosstalk or slang lowers accuracy. Set language when
you know it, which helps short clips.
Which languages? Whisper detects ~100 languages. translateToEnglish returns English text for any of them.
Why does a reel say no_speech? Music-only or silent reels have nothing to transcribe. These rows are free.
Can it read private accounts or stories? No, only public posts. Private accounts return a profile_not_found row.
How many reels per creator? The whole public reel history is reachable; set maxReelsPerProfile and newerThan to
control how far back to go.
Is this legal? The actor reads publicly available posts without logging in. You are responsible for how you use the data, in particular personal data under GDPR/CCPA and Instagram's terms.
Something failed? Rows carry an error code and reason. If you see many blocked rows, re-run later or set a
residential proxyConfiguration; open an issue on the actor page and we will look at it.