Instagram Reels Transcript Scraper avatar

Instagram Reels Transcript Scraper

Pricing

Pay per event

Go to Apify Store
Instagram Reels Transcript Scraper

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

axly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

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

FieldExampleNotes
url, shortcodehttps://www.instagram.com/reel/DX7lzTOJ1p6/
ownerUsername, ownerFullName, ownerIsVerifiednatgeo, National Geographic, true
takenAt2026-10-25T17:02:48ZUTC
playCount, likeCount, commentCount1233244, 20470, 508plays are filled for reels found through a creator
durationSeconds, audioSeconds51.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)
hookI am just a girl on a healthy hair journey…the opening line (segments starting in the first 3 seconds)
language, languageProbability, isTranslatedes, 0.98, trueauto-detected per reel
wordCount, hasSpeech142, true
caption, hashtags, mentionsthe post text
musicTitle, musicArtist, isOriginalAudioOriginal audio, lyssamariexo, true
coauthors, taggedUsers, location, productType
thumbnailUrl, videoUrlInstagram CDN links, they expire after a few days
error, errorReasonno_speechset 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

  1. Paste reel links (/reel/…, /reels/…, /p/…, /tv/…, or bare shortcodes) into Reel or post URLs, and/or
  2. add creators (natgeo, @natgeo or 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.
  3. Run. Results stream into the dataset; export as JSON, CSV, Excel or via the API.

Input options

OptionDefaultWhat it does
reelUrls–reel/post/IGTV links or shortcodes
usernames–creators to pull reels from
maxReelsPerProfile20newest reels per creator
newerThan–creators only: skip reels posted before this date
maxReels100cap for the whole run
languageautospoken language code (en, es, pt, de, hi …) when you know it
translateToEnglishfalseEnglish translation of non-English speech
outputFormatsegmentssegments, text or both
maxAudioMinutes20longer videos are skipped (listed with error: too_long)
proxyConfigurationnonenot 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.