Instagram Reels Transcript Scraper | Audio to Text
Pricing
from $2.50 / 1,000 results
Instagram Reels Transcript Scraper | Audio to Text
Transcribe public Instagram Reels into clean text, timestamped segments, and WebVTT subtitles. Process Reel URLs or entire public profiles and export transcripts with creator, post, and engagement metadata.
Pricing
from $2.50 / 1,000 results
Rating
5.0
(2)
Developer
Scraping Solutions
Maintained by CommunityActor stats
0
Bookmarked
43
Total users
36
Monthly active users
5 days ago
Last modified
Categories
Share
Instagram Reels Transcript Scraper & Profile Transcriber
Turn public Instagram Reels into clean, searchable text with timestamps. Paste individual Reel URLs or enter public Instagram profiles to discover and transcribe recent Reels automatically, without cookies or an Instagram login.
Get the complete transcript, timestamped segments, WebVTT subtitles, creator information, post caption, publication date, and engagement metrics in one structured dataset. Export to JSON, CSV, Excel, XML, RSS, or access results through the Apify API.
What can you do with this Actor?
- Transcribe one Instagram Reel from its URL.
- Process a batch of up to 100 Reel URLs in one run.
- Enter public profiles and collect recent Reel transcripts automatically.
- Filter profile Reels by a relative date such as
7 daysor an exact UTC date. - Obtain sentence-level timestamps and WebVTT subtitles.
- Translate spoken audio into English.
- Combine transcripts with captions, creator data, dates, and engagement metrics.
- Send Instagram video content to LLMs, RAG pipelines, embeddings, or semantic search.
- Schedule profile monitoring and deliver new transcripts through webhooks or integrations.
Why this Instagram transcript scraper?
Most Instagram downloaders stop at a video file or post metadata. This Actor turns the spoken content inside Reels into structured data that can be searched, analyzed, summarized, subtitled, and automated.
| Capability | Value |
|---|---|
| Reel URL to transcript | Convert a public Reel into text without manually downloading or uploading media. |
| Profile to transcripts | Discover and process recent Reels from one or more public accounts in the same run. |
| Cost-aware captions strategy | Reuse Instagram subtitles when available and invoke AI only when needed. |
| Timestamped segments | Connect every sentence to its start and end time. |
| WebVTT output | Use ready-to-export subtitle timing in video and publishing workflows. |
| English translation | Transcribe with Whisper Turbo first, then translate the resulting text while preserving the original. |
| Incremental results | Each completed item is saved immediately, so successful work remains available if a later item fails. |
| Budget protection | The Actor checks the Apify run spending limit before metadata collection and paid audio processing. |
Verified result
In a real public Reel test, the Actor processed 35.78 seconds of Spanish audio and returned:
118transcribed words9sentence-level timestamp segments- word-level WebVTT timing
- creator, caption, date, duration, and media metadata
- one result event and one audio-minute event
Actual accuracy depends on audio quality, music, accents, overlapping speakers, and language.
Input options
You can use direct Reel URLs, public profiles, or both in the same run.
Transcribe direct Reel URLs
{"reelUrls": ["https://www.instagram.com/reel/SHORTCODE_1/","https://www.instagram.com/reel/SHORTCODE_2/"],"transcriptionMode": "captions-first","language": "auto"}
Transcribe recent Reels from profiles
{"usernames": ["natgeo", "bbcnews"],"resultsLimitPerProfile": 25,"onlyPostsNewerThan": "30 days","skipPinnedPosts": true,"transcriptionMode": "captions-first","language": "auto","includeMetadata": true}
Translate a Reel into English
{"reelUrls": ["https://www.instagram.com/reel/SHORTCODE/"],"transcriptionMode": "captions-first","translateToEnglish": true}
Translation uses two AI operations: Whisper Turbo creates the source-language transcript, then a text translation model produces English. The original remains in transcript and the English version is returned in translatedTranscript. It is incompatible with captions-only mode.
Input reference
| Field | Type | Default | Description |
|---|---|---|---|
reelUrls | string array | [] | Public Reel, video, or supported Instagram post URLs. Maximum 100 per run. |
usernames | string array | [] | Public profiles whose recent Reels should be discovered. Maximum 20 per run. |
resultsLimitPerProfile | integer | 12 | Maximum matching Reels collected from each profile. |
onlyPostsNewerThan | string | empty | Relative or absolute UTC filter such as 7 days, 2 weeks, or 2026-08-01. |
skipPinnedPosts | boolean | true | Skip pinned Reels that may be older than recent profile content. |
transcriptionMode | string | captions-first | Choose captions-first, ai-only, or captions-only. |
language | string | auto | Automatic detection or an ISO-639-1 code such as en, es, pt, or fr. |
translateToEnglish | boolean | false | Add an English text translation after AI transcription while preserving the original. |
maximumVideoDurationSeconds | integer | 900 | Reject unexpectedly long media before it consumes additional run budget. |
includeMetadata | boolean | true | Include creator, caption, engagement, date, and duration. |
At least one Reel URL or public username is required.
Transcription modes
captions-first (recommended)
Uses native Instagram subtitles when available. If no usable subtitle file exists, the Actor transcribes the Reel audio with AI. This normally provides the best balance of speed, coverage, and price.
ai-only
Always processes the audio with AI. Use this when you want consistent AI transcription or when translating speech into English.
captions-only
Returns transcripts only when Instagram provides usable subtitles. It never charges an audio-minute event. Items without captions are returned as uncharged item-level errors.
Output example
{"url": "https://www.instagram.com/reel/SHORTCODE/","shortcode": "SHORTCODE","mediaId": "3894730192563454128","username": "creator","fullName": "Creator Name","profileUrl": "https://www.instagram.com/creator/","caption": "Original post caption","publishedAt": "2026-08-01T18:30:00Z","durationSeconds": 35.78,"language": "es","transcript": "Complete spoken content from the Reel...","translatedTranscript": "Complete spoken content translated into English...","translationLanguage": "en","segments": [{"start": 0.08,"end": 2.62,"text": "First timestamped sentence."},{"start": 2.66,"end": 6.56,"text": "Second timestamped sentence."}],"vtt": "WEBVTT\n\n00:00.080 --> 00:02.620\nFirst timestamped sentence.","wordCount": 118,"transcriptionStatus": "succeeded","errorMessage": null,"audioMinutesCharged": 1,"likeCount": 1250,"commentCount": 48,"playCount": 34000,"shareCount": 75,"saveCount": 320,"repostCount": 18,"extractedAt": "2026-08-03T12:00:00Z"}
Output fields
| Category | Fields |
|---|---|
| Reel identity | url, shortcode, mediaId |
| Creator | username, fullName, profileUrl |
| Transcript | transcript, segments, vtt, wordCount, language, translatedTranscript, translationLanguage |
| Post metadata | caption, publishedAt, durationSeconds, isPinned |
| Engagement | likeCount, commentCount, playCount, shareCount, saveCount, repostCount |
| Collection | extractedAt |
| Processing status | transcriptionStatus, errorMessage, audioMinutesCharged |
Metadata and engagement fields depend on what Instagram makes available for each Reel.
Pay-per-event pricing
The Actor uses two transparent events:
| Event | Charged when |
|---|---|
result | One complete Reel transcript is successfully delivered. |
audio-minute | One started minute of audio is processed with AI. |
Native Instagram subtitles do not trigger audio-minute. A 61-second Reel without usable captions triggers one result and two audio-minute events. Failed items do not trigger a successful result charge.
Set maxTotalChargeUsd when starting a run through the API to control the maximum allowed spend. Before any provider request, the Actor verifies that the remaining run budget can fund at least one result plus one audio-minute whenever AI is enabled. Before each AI call, it reserves the result price and every started audio minute required by that Reel. If the combined amount does not fit, the Actor stops without downloading the media or calling the transcription API.
With the recommended no-discount prices, use a run limit of at least $0.0100 for an AI-enabled run. This includes the first $0.0095 result-and-audio bundle plus the automatic Actor-start event.
API example
from apify_client import ApifyClientclient = ApifyClient("<APIFY_API_TOKEN>")run = client.actor("YOUR_USERNAME/instagram-reels-transcript-scraper").call(run_input={"usernames": ["natgeo"],"resultsLimitPerProfile": 12,"onlyPostsNewerThan": "30 days","transcriptionMode": "captions-first",},max_total_charge_usd=1.00,)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
You can also run the Actor from Apify Tasks, schedules, webhooks, Make, Zapier, or any HTTP client.
Popular use cases
- Competitor content analysis: compare spoken hooks, offers, products, topics, and calls to action.
- Creator monitoring: schedule profiles and collect transcripts from newly published Reels.
- LLM and RAG datasets: turn video speech into text for summarization, question answering, and semantic search.
- Subtitle generation: export timestamped segments or WebVTT for editing and publishing workflows.
- Content repurposing: transform Reel speech into articles, newsletters, scripts, briefs, or social posts.
- Campaign research: combine spoken claims with captions, dates, creators, and available engagement metrics.
- Searchable archives: make large collections of public Instagram videos searchable by their spoken content.
- Multilingual research: transcribe supported languages or translate audio into English.
FAQ
Can I transcribe an Instagram Reel without logging in?
Yes. The Actor processes public Instagram content without requiring your Instagram cookies, password, or sessionid.
Can I transcribe all recent Reels from an Instagram profile?
Yes. Enter one or more public usernames, choose a result limit, and optionally add a date filter. The Actor discovers and processes matching Reels automatically.
Does the output include timestamps?
Yes. Results include sentence-level start and end timestamps. AI results can also include WebVTT timing suitable for subtitle workflows.
Can it translate Instagram Reels into English?
Yes. Enable translateToEnglish. Whisper Turbo first returns the original-language transcript, and a second AI operation returns English in translatedTranscript. The detected source language remains in language.
Why are some metadata fields empty?
Instagram does not expose every engagement metric publicly for every Reel. In particular, save and repost counts are commonly unavailable. The Actor omits unavailable metrics instead of returning a misleading zero; use the All fields dataset view to inspect every field that was supplied for a Reel.
Are private profiles supported?
No. Only publicly accessible Instagram content is supported.
Responsible use and limitations
- Process only public Instagram content you are legally permitted to use.
- Respect copyright, privacy, Instagram's terms, Apify's terms, and applicable law.
- Do not use the Actor for harassment, invasive profiling, or unlawful surveillance.
- Transcription accuracy varies with audio quality, noise, music, accents, and overlapping speech.
- Instagram and upstream data structures can change, which may temporarily affect availability.
- Media and subtitle links are temporary and may expire.