VOOZH about

URL: https://apify.com/crawlerbros/instagram-transcript-scraper

โ‡ฑ Instagram Transcript Scraper ยท Apify


Pricing

from $5.00 / 1,000 results

Go to Apify Store

Instagram Transcript Scraper

Extract transcripts from Instagram videos and reels using auto-generated captions or AI-powered speech-to-text. Returns clean, timestamped transcript segments with full video metadata.

Pricing

from $5.00 / 1,000 results

Rating

4.4

(5)

Developer

๐Ÿ‘ Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

11

Bookmarked

593

Total users

138

Monthly active users

0.35 hours

Issues response

3 days ago

Last modified

Share

Turn Instagram videos and reels into clean, structured transcripts โ€” automatically.

Extract spoken content from public Instagram videos with full timestamped segments, video metadata, and support for 30+ languages. Built for developers, data teams, content researchers, and AI pipelines that need text from video at scale.

Pricing: $0.01 is charged for every 10 seconds of transcribed video. Timestamped segment breakdown is available as an optional add-on (see includeSegments).


What This Actor Does

The Instagram Transcript Scraper navigates to an Instagram video URL, downloads the audio, and converts it to text using one of two methods:

  1. Native Captions โ€” Reads Instagram's auto-generated captions directly from the API. Instant and zero extra cost when available.
  2. Whisper AI โ€” Uses OpenAI's Whisper speech-to-text model locally on the container. Works on any video with speech, regardless of whether Instagram generated captions.

The auto mode (default) tries native captions first and only falls back to Whisper when needed โ€” giving you the best coverage at the lowest processing time.


Input Parameters

FieldTypeRequiredDefaultDescription
videoUrlsarrayYesโ€”One or more Instagram video/reel URLs to transcribe
transcriptionMethodstringNoautoauto, native, or whisper โ€” see Transcription Methods
whisperModelstringNobaseWhisper model size: tiny, base, or small
languagestringNoauto-detectLanguage code (e.g. en, es, fr). Leave empty for automatic detection
includeSegmentsbooleanNofalseWhen true, adds a segments array to each result with per-phrase timestamps and text. Incurs an additional charge per run

Supported URL Formats

https://www.instagram.com/reel/ABC123xyz/
https://www.instagram.com/p/ABC123xyz/
https://www.instagram.com/tv/ABC123xyz/

Input Example

{
"videoUrls":[
"https://www.instagram.com/reel/DV29mBcMQwp/",
"https://www.instagram.com/p/DULBkEngpxg/"
],
"transcriptionMethod":"auto",
"whisperModel":"base",
"language":"",
"includeSegments":false
}

Output Format

One dataset item is returned per video URL. Video metadata sits at the root level; all transcript segments are nested inside a segments array within that single item.

On error (private post, deleted video, unsupported media type), the actor emits a single item with postUrl, errMsg, and createdAt only โ€” no empty fields.

Output Fields

Root level โ€” always present

FieldTypeDescription
postUrlstringCanonical Instagram URL of the video
shortCodestringInstagram shortcode (unique identifier)
pkstringInstagram internal numeric media ID
idstringCombined media ID (pk_userId format)
postDescriptionstringVideo caption text
thumbnailUrlstringThumbnail image URL
videoUrlstringDirect URL to the highest-quality MP4
pubDatestringPost creation time in UTC ISO 8601 format (e.g. 2025-05-10T14:32:03Z)
likeCountintegerNumber of likes
commentCountintegerNumber of comments
userIdstringCreator's numeric Instagram user ID
userNamestringCreator's Instagram handle
userFullNamestringCreator's display name
avatarUristringCreator's profile picture URL
fullTextstringComplete transcript of the entire video as a single string
transcriptionMethodstringnative or whisper
createdAtstringUTC ISO timestamp of when this record was scraped

Root level โ€” conditionally present

FieldTypeDescription
audioUrlstringDirect URL to the audio-only track (omitted when unavailable)
segmentsarrayTimestamped transcript segments โ€” only present when includeSegments: true
errMsgstringError description (only present on failed records)

Each object in segments (only when includeSegments: true)

FieldTypeDescription
indexintegerZero-based position of this segment
startnumberSegment start time in seconds
endnumberSegment end time in seconds
textstringTranscript text for this segment

Output Example โ€” Success (includeSegments: false)

{
"postUrl":"https://www.instagram.com/p/DV29mBcMQwp/",
"shortCode":"DV29mBcMQwp",
"pk":"3852537424986049577",
"id":"3852537424986049577_16278726",
"postDescription":"On Friday, US President Donald Trump claimed Iran's air force is \"no longer\"...",
"thumbnailUrl":"https://scontent-iad6-1.cdninstagram.com/...",
"videoUrl":"https://scontent-iad6-1.cdninstagram.com/...mp4",
"pubDate":"2025-05-11T05:12:03Z",
"likeCount":16799,
"commentCount":1159,
"userId":"16278726",
"userName":"bbcnews",
"userFullName":"BBC News",
"avatarUri":"https://scontent-iad3-1.cdninstagram.com/...",
"fullText":"On Friday, U.S. President Donald Trump claimed Iran's Air Force is no longer...",
"transcriptionMethod":"whisper",
"createdAt":"2026-06-08T06:09:05.841Z"
}

Output Example โ€” Success (includeSegments: true)

{
"postUrl":"https://www.instagram.com/p/DV29mBcMQwp/",
"shortCode":"DV29mBcMQwp",
"fullText":"On Friday, U.S. President Donald Trump claimed Iran's Air Force is no longer...",
"transcriptionMethod":"whisper",
"createdAt":"2026-06-08T06:09:05.841Z",
"segments":[
{
"index":0,
"start":0,
"end":4.36,
"text":"On Friday, U.S. President Donald Trump claimed Iran's Air Force is no longer, as a result"
},
{
"index":1,
"start":4.36,
"end":8.12,
"text":"of military action. This follows video released by the U.S. on Thursday..."
}
]
}

Output Example โ€” Error

{
"postUrl":"https://www.instagram.com/reel/DELETED123/",
"errMsg":"Could not extract video data from page. The post may not exist or may not be a video.",
"createdAt":"2026-06-08T06:09:15.168Z"
}

Transcription Methods

Auto (Recommended)

Tries Instagram's native captions first. Falls back to Whisper AI automatically when native captions are unavailable. Best balance of speed and coverage for most workloads.

Native

Only reads Instagram's built-in auto-generated captions. Fastest option โ€” no audio download needed. May not be available on older posts, non-Reel content, or videos without speech.

Whisper AI

Always downloads the video and runs local AI speech-to-text. Consistent coverage for any video with speech, independent of Instagram's captioning availability.

Model comparison:

ModelSizeSpeedAccuracyBest For
tiny39 MBFastestBasicQuick previews, speed-critical pipelines
base74 MBFastGoodMost use cases
small244 MBModerateVery goodAccented speech, technical or specialized content

Use Cases

  • AI agents & LLM pipelines โ€” Feed Instagram video speech into RAG systems, summarizers, or classifiers
  • Content research โ€” Extract and analyze what creators are saying across a topic or niche
  • Social media monitoring โ€” Capture spoken claims in video content for brand or news tracking
  • Subtitle generation โ€” Generate timestamped captions for repurposed video content
  • Competitive intelligence โ€” Batch-transcribe competitor or industry video content
  • Accessibility โ€” Build searchable archives of spoken video content

Supported Languages

The Whisper model supports 99+ languages with automatic detection. For best accuracy on non-English content, set the language field explicitly. Supported dropdown options include:

English, Spanish, French, German, Italian, Portuguese, Russian, Chinese, Japanese, Korean, Arabic, Hindi, Dutch, Polish, Turkish, Swedish, Danish, Finnish, Norwegian, Czech, Romanian, Hungarian, Indonesian, Vietnamese, Thai, Ukrainian, Hebrew, Persian, Malay, and more.


Limitations

  • Public videos only โ€” Private accounts, restricted posts, and login-gated content cannot be scraped.
  • Audio quality matters โ€” Whisper accuracy degrades on videos with heavy background music, multiple overlapping speakers, or very low recording quality.
  • Native captions not always available โ€” Instagram doesn't generate captions for all videos. Short clips, older posts, or posts with music-only audio may have no native captions; the actor falls back to Whisper automatically in auto mode.
  • Instagram CDN URLs expire โ€” The videoUrl, audioUrl, thumbnailUrl, and avatarUri URLs in the output are time-limited CDN links. Download media promptly; do not rely on these URLs as permanent storage.
  • Rate limiting โ€” Processing many videos in rapid succession may trigger temporary rate limits. The actor includes automatic delays between requests.

FAQ

Q: Does this work with Instagram Reels, regular video posts, and IGTV?
A: Yes. All three URL formats (/reel/, /p/, /tv/) are supported.

Q: What if the video has no speech (music only or silent)?
A: Whisper will return an empty or near-empty transcript. Native captions won't exist. The actor returns a single row with empty fullText and segmentText.

Q: Can I process multiple videos in one run?
A: Yes. Provide as many URLs as you need in the videoUrls array. The actor processes them sequentially with automatic pauses between requests.

Q: Why does my run return "errMsg": "Could not extract video data..."?
A: The post is likely private, deleted, or restricted for your region. Verify the post is publicly accessible in a browser without being logged in.

Q: How accurate is Whisper transcription?
A: The base model is accurate for clear, single-speaker English audio. For accented speech, fast speech, or specialized vocabulary, use small. For multilingual content, setting the language field explicitly improves results.

Q: Are the video/audio URLs in the output permanent?
A: No. Instagram CDN URLs are signed and expire within hours or days. Download the media during the run if you need to store it.

Q: What languages does auto-detection support?
A: Whisper's automatic language detection covers 99+ languages. Detection is most reliable for videos with at least 30 seconds of speech.

Q: Does this require Instagram login or cookies?
A: The actor uses a shared cookie pool for Instagram session access. No credentials are required from the user.


Other Instagram Scrapers

Want to get other data from Instagram? Check out our complete suite of Instagram scrapers:

ActorDescription
Instagram Profile ScraperExtract profile data, bio, follower counts, and more
Instagram Followers & Following ScraperScrape followers and following lists from any profile
Instagram Tagged Posts ScraperCollect posts where a user has been tagged
Instagram Hashtag ScraperScrape posts and profiles by hashtag
Instagram Story DownloaderDownload stories from Instagram profiles
Instagram Downloader APIDownload photos, videos, and reels from Instagram
Instagram Keyword ScraperSearch and scrape posts by keyword
Instagram Keyword Search ScraperSearch Instagram accounts and posts by keyword
Instagram Comment ScraperScrape comments and replies from Instagram posts

You might also like

Instagram Transcript API โ€“ AI Video to Text for Developers

apple_yang/instagram-transcripts-scraper

Instagram Reels Transcript API for converting video audio into accurate text using AI. Extract transcripts, spoken content, and metadata from public Reels and videos. Fast, reliable, and built for developers, AI agents, and automation workflows.

870

4.4

Instagram Transcript Extractor

bulletproof/instagram-transcript-extractor

๐Ÿ“ธ Convert any Instagram Reel, IGTV, or video post to text. Extract transcripts and subtitles with timestamps. Outputs JSON, SRT, or plain text. Auto-captions + speech-to-text fallback. 14+ languages. No login needed.

447

5.0

Instagram Reel AI Transcript Extractor

linen_snack/instagram-reel-transcript-ai-extractor

Extract word-perfect transcripts from Instagram Reels with AI-powered sentiment analysis, entity detection, SRT/VTT subtitle export, and full channel scraping. 10 free reels included.

Video Transcript Scraper

automation-lab/video-transcript-scraper

Extract transcripts and captions from YouTube, TikTok, Instagram Reels, and Facebook Reels. Get full text with timestamps. Supports 6+ languages.

๐Ÿ‘ User avatar

Stas Persiianenko

72

Instagram Ai Transcript Unlimited

sian.agency/instagram-ai-transcript-unlimited

AI transcripts + 30+ data points from Instagram reels & posts. The ONLY unlimited tool extracting actual spoken content + complete engagement metrics. No usage limits, no per-video charges - perfect for agencies and bulk processing needs.

๐Ÿ‘ User avatar

SIรN Oรœ

165

5.0

Instagram reels transcribe

linen_snack/instagram-reels-transcribe

Effortlessly convert any public Instagram reels videos into accurate text, subtitles, or translations with this powerful Google Gemini API actor.

Instagram reel transcript

linen_snack/instagram-videos-transcipt-subtitles-and-translate

Effortlessly convert any public Instagram reels videos into accurate text, subtitles, or translations with this powerful OpenAI Whisper API actor.

Instagram AI Transcript Extractor

sian.agency/instagram-ai-transcript-extractor

Instagram Transcript Generator โ€” ๐ŸŽฌ AI Reel Transcription | ๐Ÿ—ฃ๏ธ Speaker Diarization | ๐ŸŒ Language Detection | ๐Ÿ“Š 30+ Metrics | ๐Ÿ’ฐ Best Price. Extract entire channels with word-perfect transcripts and speaker identification. Try 5 reels free!

๐Ÿ‘ User avatar

SIรN Oรœ

2.2K

4.0

Instagram Reel Scraper

website-scraper/instagram-reel-scraper

Uses the official apify/instagram-reel-scraper actor internally to fetch public Instagram Reels and returns a lightweight, simplified dataset with key reel insights. To scrape Reels, simply enter a username or paste a profile URL. You can also paste specific Reel URLs to scrape them directly.

website-scraper

627

3.3

Video Subtitle & Caption Extractor

khadinakbar/video-subtitle-extractor

Extract subtitles, captions, and AI transcripts from any video URL across 1000+ platforms (YouTube, Vimeo, TikTok, Instagram, X/Twitter, Facebook, Twitch, TED, Bilibili). Native captions first, Whisper AI fallback when none. JSON, SRT, VTT, text, or LLM-ready markdown.

48