Instagram Transcript Generator
Pricing
from $15.00 / 1,000 extracted transcripts
Instagram Transcript Generator
Instagram Transcript Generator, extract clean, timestamped transcripts and transcribe video speech from Instagram reels with accurate & fast speech to text AI transcription and get structured JSON. Built for AI agents, LLM pipelines, RAG, and content repurposing. NO Login NO Cookie No Api Key
Pricing
from $15.00 / 1,000 extracted transcripts
Rating
0.0
(0)
Developer
karamelo
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Instagram Reel Transcript Scraper
Extract clean, timestamped speech-to-text transcripts from any public Instagram reel as structured JSON. Built for AI agents, Large Language Model (LLM) workflows, Retrieval-Augmented Generation (RAG) pipelines, content repurposing, influencer monitoring, and digital marketing intelligence.
What does Instagram Reel Transcript Scraper do?
Instagram Reel Transcript Scraper takes a public Instagram reel URL, analyzes the audio content, and returns an ordered sequence of spoken caption segments. Each segment contains the exact start time in seconds, the duration of the speech segment, and the transcribed text.
Unlike manual listening or video-editing transcript tools that require uploading video files from your desktop, this Actor operates entirely in the cloud. You provide the reel URL, and within moments you receive clean, machine-readable data ready for downstream automations, vector databases, or editorial review.
The output is published directly to your Apify dataset. You can download the results in JSON, CSV, Excel, or XML format, or fetch them programmatically through the Apify API, official Python and JavaScript clients, or the Apify Model Context Protocol (MCP) server.
Pricing & Pay-Per-Event (PPE) Model
This Actor operates on a fair, transparent Pay-Per-Event (PPE) pricing model. You do not pay for Apify platform usage costs (compute units, memory consumption, or residential proxy data transfer). You are only charged a fixed price for delivered transcript events.
- Zero charge for empty or non-speech audio ($0.00): If a reel contains only background music, sound effects, silence, or if transcription cannot be completed, you are never charged ($0.00).
- Fair duration-based charging: Billed per started minute of reel audio. For example, a 45-second reel counts as 1 started minute, and an 80-second reel counts as 2 started minutes.
- Store plan discounts: If your account has an upgraded Apify subscription plan, discounted event rates are automatically applied.
| Event | Event Name | Billing Unit | Pricing |
|---|---|---|---|
| Transcript | addon-transcript | Charged per started minute of reel audio | $45.00 / 1,000 min ($0.045 / min) |
Why extract transcripts from Instagram Reels?
Instagram reels represent one of the highest-density sources of spoken information on the internet today. Millions of creators, educators, journalists, business leaders, and influencers share tutorials, product breakdowns, market analyses, commentary, and news through short-form video.
However, video and audio are notoriously difficult to search, index, summarize, and monitor at scale:
- Invisible to text search: Search engines, internal databases, and document management systems cannot read the spoken audio inside a video file without text transcription.
- Time-consuming manual review: A human listening to dozens of 60-second or 90-second reels spends hours taking notes on talking points, product recommendations, or customer sentiment.
- Unstructured creator workflows: Repurposing a reel into a blog post, social media thread, or newsletter requires manually dictating or rewinding the video multiple times.
- RAG and AI indexing challenges: Feeding video into an AI assistant or Retrieval-Augmented Generation pipeline requires converting speech into accurately timestamped chunks that an LLM can cite and reference.
Instagram Reel Transcript Scraper eliminates these bottlenecks by transforming spoken reel audio into high-fidelity, timestamped JSON text in seconds.
Key Features
- Segment-Level Timestamps: Every spoken sentence or phrase includes an exact
starttime anddur(duration) in seconds, making it easy to cite specific moments, sync with playback, or align with video editing tools. - Structured JSON Architecture: Clean JSON output formatted specifically for developer tools, AI frameworks, LangChain, LlamaIndex, vector databases, and spreadsheet imports.
- Background Music & Silence Filtering: Built-in audio intelligence distinguishes meaningful human speech from background instrumentals, sound effects, and silent intervals, returning only genuine dialogue.
- Direct Cloud Processing: No need to download heavy video files to your computer or run local speech-to-text software. Simply pass the URL and retrieve the data.
- Flexible Export Formats: Instant download as JSON, CSV, Excel (XLSX), XML, or an interactive table directly within the Apify Console.
- API & Webhook Integrations: Easily integrate runs into your existing tech stack using official Apify Python, JavaScript, and TypeScript SDKs, or trigger runs automatically via webhooks.
- AI Agent & MCP Compatibility: Fully callable as an autonomous tool by Claude, ChatGPT, Cursor, and other agentic assistants using the Apify MCP server.
Core Use Cases
1. Retrieval-Augmented Generation (RAG) & AI Assistants
Modern AI agents and conversational assistants need access to real-time, real-world knowledge. By indexing reel transcripts into vector databases such as Pinecone, Weaviate, Qdrant, or Chroma, your RAG pipeline can retrieve precise creator quotes, product feedback, and niche tutorials to answer user queries with verifiable citations.
2. Content Repurposing & Editorial Production
Content creators, digital agencies, and marketing teams often spend substantial effort brainstorming new content. With automated transcripts, you can instantly turn your own or client reels into:
- In-depth articles and blog posts
- Long-form newsletter sections
- Engaging Twitter/X threads and LinkedIn thought-leadership posts
- Search-engine-optimized video descriptions and show notes
3. Influencer Campaign Auditing & Brand Safety
Brands and marketing agencies partnering with creators must verify whether sponsored reels accurately mention the agreed key talking points, promotional codes, disclaimers, or campaign hashtags. Rather than paying reviewers to watch hundreds of videos manually, you can search automated transcripts for required keywords and compliance statements in seconds.
4. Competitive Intelligence & Social Listening
Monitor competitors, trending industry topics, and viral products across Instagram. Analyze recurring patterns, frequently mentioned problem statements, and consumer objections by performing sentiment analysis and keyword extraction over batches of reel transcripts.
5. Accessibility & Multilingual Subtitling
Ensure your media reaches broader audiences, including individuals who are deaf or hard of hearing, as well as viewers watching videos on silent in public environments. Use the extracted timestamps and text as a baseline for generating closed captions (SRT/VTT) and translation workflows.
Input Parameters
The Actor accepts a single straightforward input object configured in the Apify Console or passed via API.
| Parameter | Type | Required | Description |
|---|---|---|---|
reelUrl | String | Yes | Full URL of the public Instagram reel you want to transcribe. Accepts standard reel links, share links, and post links. |
Supported URL Formats
The Actor automatically recognizes and processes all standard public Instagram video URL patterns:
- Direct reel URLs:
https://www.instagram.com/reel/SHORTCODE/ - Plural reels path:
https://www.instagram.com/reels/SHORTCODE/ - Standard post URLs:
https://www.instagram.com/p/SHORTCODE/ - Long-form video URLs:
https://www.instagram.com/tv/SHORTCODE/ - Profile-nested reel URLs:
https://www.instagram.com/username/reel/SHORTCODE/ - Mobile tracking links containing query parameters (e.g.
?utm_source=ig_web_copy_link) - Raw shortcode identifiers (e.g.
DdJomaZFWkW)
Example Input
{"reelUrl": "https://www.instagram.com/reel/DdJomaZFWkW/"}
Output Data Structure
Every run pushes a single structured dataset item containing the ordered transcript segments.
Field Specifications
| Field | Type | Description |
|---|---|---|
data | Array of Objects | Ordered list of caption segments spoken throughout the reel. |
data[].start | String | Start time of the spoken segment in seconds from video start (e.g. "0.000"), formatted to three decimal places. |
data[].dur | String | Duration of the speech segment in seconds (e.g. "4.320"), formatted to three decimal places. |
data[].text | String | The spoken text transcribed for that segment. |
Real Verified Output Sample
Here is an actual record extracted by the Actor from a public Instagram reel:
{"data": [{"start": "0.000","dur": "4.320","text": "I always tell people, it isn't me, it's we."},{"start": "4.660","dur": "3.740","text": "And the heroes of that day are the guys that never made it out."},{"start": "8.840","dur": "5.640","text": "Without Jan, without the last second sticking his hand in that elevator door,"},{"start": "15.080","dur": "2.020","text": "we wouldn't be talking right now, guaranteed."},{"start": "17.780","dur": "1.920","text": "I say to them, why you call me hero?"},{"start": "20.600","dur": "1.240","text": "That's not only me hero."},{"start": "22.780","dur": "2.640","text": "Firefighters, police, there's a lot of hero."},{"start": "25.420","dur": "5.760","text": "My biggest word that I've used since 9-11 is resilience."},{"start": "31.800","dur": "3.920","text": "Even though you will go through terrible things, you can do this."},{"start": "36.220","dur": "0.280","text": "You lived."},{"start": "36.500","dur": "1.360","text": "How do you thank people like you?"},{"start": "37.960","dur": "0.500","text": "You lived."},{"start": "38.780","dur": "1.040","text": "You lived a good life."},{"start": "40.120","dur": "0.900","text": "That's how you thank us."},{"start": "41.260","dur": "2.700","text": "My hopes, my dreams is because of Stefan."},{"start": "44.560","dur": "2.980","text": "It makes me think about this movie called Saving Private Ryan."},{"start": "48.040","dur": "3.100","text": "Private Ryan looks to his family and he says,"},{"start": "51.140","dur": "6.920","text": "have I lived well enough to deserve this life?"},{"start": "58.880","dur": "10.880","text": "And my hope is that all my efforts will prove to just be good enough to deserve him saving my life."},{"start": "69.760","dur": "7.240","text": "We have a responsibility to those who didn't make it to make a good life out of what we have."},{"start": "77.440","dur": "2.380","text": "You get a second chance, live life."},{"start": "80.380","dur": "0.580","text": "You know, live it."}]}
Table View Representation
In the Apify Console Dataset tab, the data is also visualized in a clean table format:
| start | dur | text |
|---|---|---|
| 0.000 | 4.320 | I always tell people, it isn't me, it's we. |
| 4.660 | 3.740 | And the heroes of that day are the guys that never made it out. |
| 8.840 | 5.640 | Without Jan, without the last second sticking his hand in that elevator door, |
| 15.080 | 2.020 | we wouldn't be talking right now, guaranteed. |
| 17.780 | 1.920 | I say to them, why you call me hero? |
| 20.600 | 1.240 | That's not only me hero. |
| 22.780 | 2.640 | Firefighters, police, there's a lot of hero. |
| 25.420 | 5.760 | My biggest word that I've used since 9-11 is resilience. |
| 31.800 | 3.920 | Even though you will go through terrible things, you can do this. |
| 36.220 | 0.280 | You lived. |
| 36.500 | 1.360 | How do you thank people like you? |
| 37.960 | 0.500 | You lived. |
| 38.780 | 1.040 | You lived a good life. |
| 40.120 | 0.900 | That's how you thank us. |
| 41.260 | 2.700 | My hopes, my dreams is because of Stefan. |
| 44.560 | 2.980 | It makes me think about this movie called Saving Private Ryan. |
| 48.040 | 3.100 | Private Ryan looks to his family and he says, |
| 51.140 | 6.920 | have I lived well enough to deserve this life? |
| 58.880 | 10.880 | And my hope is that all my efforts will prove to just be good enough to deserve him saving my life. |
| 69.760 | 7.240 | We have a responsibility to those who didn't make it to make a good life out of what we have. |
| 77.440 | 2.380 | You get a second chance, live life. |
| 80.380 | 0.580 | You know, live it. |
How to Integrate and Automate
Because this Actor runs on the Apify platform, you can invoke it from any programming language, cloud environment, or automation tool.
1. JavaScript & TypeScript (apify-client)
Install the official client via npm:
$npm install apify-client
Execute a run and consume the transcript data:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: 'YOUR_APIFY_API_TOKEN',});// Run the actor and wait for it to finishconst run = await client.actor('karamelo/instagram-transcript').call({reelUrl: 'https://www.instagram.com/reel/DdJomaZFWkW/',});// Fetch results from the default datasetconst { items } = await client.dataset(run.defaultDatasetId).listItems();console.log('Transcript segments:', items[0]?.data);
2. Python (apify-client)
Install the official Python client via pip:
$pip install apify-client
Run the actor and iterate over segments:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_API_TOKEN")run_input = {"reelUrl": "https://www.instagram.com/reel/DdJomaZFWkW/",}# Run the actor synchronouslyrun = client.actor("karamelo/instagram-transcript").call(run_input=run_input)# Fetch results from datasetfor item in client.dataset(run["defaultDatasetId"]).iterate_items():for segment in item.get("data", []):print(f"[{segment['start']}s -> {segment['dur']}s]: {segment['text']}")
3. Direct REST API via cURL
Trigger the Actor asynchronously or synchronously via standard HTTP POST:
curl --request POST \--url "https://api.apify.com/v2/acts/karamelo~instagram-transcript/runs?token=YOUR_APIFY_API_TOKEN" \--header "Content-Type: application/json" \--data '{"reelUrl": "https://www.instagram.com/reel/DdJomaZFWkW/"}'
To run synchronously and wait for the dataset item in a single request, append &waitForFinish=120:
curl --request POST \--url "https://api.apify.com/v2/acts/karamelo~instagram-transcript/run-sync-get-dataset-items?token=YOUR_APIFY_API_TOKEN" \--header "Content-Type: application/json" \--data '{"reelUrl": "https://www.instagram.com/reel/DdJomaZFWkW/"}'
4. AI Agents & Model Context Protocol (MCP)
This Actor is fully compatible with the Apify MCP Server. AI agents in Claude Desktop, Cursor, Open WebUI, and custom LangChain agents can invoke instagram-transcript on demand as an external tool to fetch the spoken dialogue of any Instagram reel during interactive chat sessions.
Downstream Data Workflows & Pipelines
Once your transcript is captured, you can route the structured text into a variety of downstream production environments:
- Vector Ingestion: Chunk the segment objects by combined token length or paragraph breaks, compute vector embeddings using OpenAI or Cohere models, and store them alongside the reel URL metadata for semantic search.
- Zapier & Make Automations: Set up an Apify Webhook that triggers whenever an Actor run succeeds. Pass the transcript text directly into Notion, Airtable, Slack, Google Docs, or email alerts.
- Google Sheets & Excel: Export the dataset as a
.csvor.xlsxspreadsheet for quick tabular analysis, content review, and keyword filtering with stakeholders. - Automated Summary Generation: Feed the extracted text directly into an LLM prompt (e.g. GPT-4o, Claude 3.5 Sonnet) with instructions to generate a concise 3-bullet summary, actionable tips, or product lists mentioned by the speaker.
Performance, Reliability & Limitations
Performance Profile
- Processing Speed: A typical 30-to-90-second reel is processed and transcribed in approximately 1 to 3 seconds.
- Resource Footprint: Minimal platform memory and compute required, providing fast turnaround times and low overhead.
Content Boundaries
- Public Content Only: The target reel must be hosted on a public Instagram account. Reels from private profiles, restricted business accounts, or age-gated media that require user login cannot be accessed.
- Spoken Speech Required: The Actor analyzes spoken human voice. If a reel contains only background music, sound effects, ambient nature noise, or silence, the Actor will finish cleanly with an empty
data: []array rather than generating erroneous hallucinations. - Reel Length: Built for standard short-form reels (typically up to several minutes in length).
Frequently Asked Questions (FAQ)
Can I transcribe reels from private accounts?
No. This Actor is designed strictly for public reels accessible without login. Attempting to pass a reel from a private account will result in a clean error notifying you that the content is unavailable or private.
How accurate are the segment timestamps?
Timestamps are calculated with high precision and formatted to milliseconds (three decimal places). The start parameter reflects when the vocal segment commences, and dur records how long the speech segment lasted before the next pause or transition.
What happens if a video has loud background music?
The speech recognition engine is robust against background instrumentals and moderate ambient noise. However, if background music completely drowns out the vocal audio, or if the speaker is inaudible, transcription quality may vary or segments may be excluded to avoid noisy approximations.
What happens if the reel contains no speech at all?
If a video contains only music, sound effects, or silence, the Actor detects the absence of speech and outputs { "data": [] }. It does not fail or crash, allowing your automated batch pipelines to continue without disruption. Furthermore, because no speech transcript was produced, zero transcript fee is assessed ($0.00).
Does this Actor transcribe Instagram Stories?
No. Instagram Stories expire after 24 hours and have different access mechanics. This Actor is specifically tailored for permanent public Instagram Reels and video posts.
Can I pass multiple reel URLs in a single run?
Currently, each run processes one target reel URL specified in the reelUrl field. For batch operations, you can easily loop through a list of URLs using the Apify API, Python/JS SDK, or Apify CLI, triggering concurrent runs as needed.
Where can I find the results after the run completes?
Results are available immediately under the Storage tab in your Apify Console run overview. You can view and download the data in the default Dataset (available as JSON, CSV, Excel, XML, or Table).
How can I connect this to Slack or Notion?
Under your Actor settings in the Apify Console, go to the Integrations tab. You can configure a webhook that triggers when a run succeeds and sends the output payload directly to Zapier, Make, or a custom webhook endpoint that posts to Slack or creates a Notion page.
Why did my run output show empty segments?
An empty segment array ("data": []) typically occurs when:
- The video contains non-vocal background music or sound effects without spoken human dialogue.
- The speech is inaudible or masked by excessive audio distortion.
- The video audio was muted or restricted by Instagram copyright policies in certain regions.
Can I use this Actor in an automated AI agent workflow?
Yes. You can connect this Actor to any AI agent supporting MCP (Model Context Protocol) via the Apify MCP server (https://mcp.apify.com), or call it directly using the Apify Python or Node.js SDK inside an autonomous tool-calling loop.
Responsible & Ethical Use
When using Instagram Reel Transcript Scraper, users should respect the intellectual property rights of content creators, public copyright laws, and Instagram's terms of service:
- Transcripts should be utilized for lawful research, fair-use analysis, accessibility enhancements, monitoring, and legitimate content curation.
- Always attribute original creators when quoting or repurposing spoken ideas and insights from their videos.
- Do not use this tool to scrape or distribute confidential, sensitive, or copyrighted material without appropriate authorization from the content rights holder.