# Instagram Reel Transcript Extractor - Extract Reels Subtitles (`zaver.api/instagram-reel-transcript-extractor`) Actor

Transcribe Instagram reels and videos to text with AI - no login. Paste reel URLs and get accurate speech-to-text transcripts with language, timestamps and the reel's caption, views and likes. Optional AI summary and keywords. Export to CSV, JSON or Excel.

- **URL**: https://apify.com/zaver.api/instagram-reel-transcript-extractor.md
- **Developed by:** [Zaver](https://apify.com/zaver.api) (community)
- **Categories:** Social media, AI
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $23.00 / 1,000 transcribed reels

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Instagram Reel Transcript Extractor — AI Reel & Video to Text 🎙️

Turn any **Instagram reel or video into an accurate text transcript** with AI — **no login, no cookies, no API key to manage**. Paste one reel URL or a bulk list and get **AI speech-to-text** transcripts with **automatic language detection**, optional **timestamped segments**, and every reel's **caption, views, likes and creator** — plus an optional **AI summary and keywords**. Export to **CSV, Excel, JSON or XML**, or pull via the **API**.

The fast, reliable, honestly-priced way to **transcribe Instagram reels and export subtitles from reels in bulk** — Instagram *has no built-in transcription*, so this actually converts the audio to text for you.

- 🎯 **AI transcription** powered by OpenAI Whisper — state-of-the-art **reel-to-text** accuracy
- 💬 **Export subtitles from reels in bulk** — ready-to-use **SRT and WebVTT** files per reel
- 🌍 **Automatic language detection** across 90+ languages
- ⏱️ **Timestamped segments** for subtitles, clipping and edit points
- 📊 **Rich metadata** — caption, views, likes, duration, creator, thumbnail
- 🧠 **Optional AI summary & keywords** per reel (built in, not a costly add-on)
- 📥 **Bulk transcription** — many reel URLs in one run
- 🔓 **No login, no cookies** — public reels, transcribed anonymously
- 💸 **$23 / 1,000 transcripts** — cheaper than the going rate for Instagram transcription

***

### What does the Instagram Reel Transcript Extractor do?

Instagram doesn't expose captions or a transcript, so you can't just "download" one. This actor resolves each reel, pulls its audio, and runs **AI speech-to-text** to produce a clean, accurate transcript — then pairs it with the reel's engagement metrics so the text is immediately useful for research, repurposing and SEO. It's built for **bulk Instagram transcription** with predictable, pay-per-result pricing.

### What data do you get? (output fields)

One row per reel:

| Field | Description |
|---|---|
| `transcript` | Full **AI speech-to-text** transcript |
| `language` | Auto-detected language |
| `segments` | Timestamped segments — `{start, end, text}` (optional) |
| `summary` / `keywords` | AI summary + keywords (optional) |
| `caption` | Reel caption |
| `views` / `likes` / `comments` | Engagement metrics |
| `duration_seconds` | Reel length |
| `username` | Creator handle |
| `url` / `shortcode` / `thumbnail_url` | Reel identifiers |

### Key features

- **AI-powered transcription** — Instagram reel and video audio converted to text with OpenAI Whisper.
- **Automatic language detection** — transcribes the reel in its own language; pass a language hint to fine-tune.
- **Bulk subtitle export (SRT + WebVTT)** — generate ready-to-use `.srt` and `.vtt` subtitle files for every reel in one run, straight into video editors, YouTube, or players.
- **Timestamped segments** — turn on segment timestamps for subtitle syncing, clipping and finding edit points.
- **AI summary & keywords** — a concise summary and keyword list per reel, included as a low-cost option (not a premium upsell).
- **Full engagement context** — every transcript ships with caption, views, likes, comments and duration.
- **Bulk & API-first** — paste many reel URLs, run on a schedule, or call it from the API/SDK. No account, no browser automation to maintain.

### How to transcribe an Instagram reel (step by step)

1. Paste **reel or video URLs** (`https://www.instagram.com/reel/CODE/`), one per line.
2. *(Optional)* enable **AI summary & keywords** and/or **timestamped segments**; add a **language hint** if you want.
3. Click **Start**, then download the transcripts from the **Dataset** tab as **CSV, Excel, JSON or XML** — or read them via the API.

#### Example input

```json
{
  "videoUrls": [
    "https://www.instagram.com/reel/Dbn-XJhk0_-/"
  ],
  "includeSummary": true,
  "includeSrt": true
}
```

#### Example output

```json
{
  "url": "https://www.instagram.com/reel/Dbn-XJhk0_-/",
  "username": "creator1",
  "caption": "3 tips for better reels",
  "transcript": "Today I'm showing you three ways to...",
  "language": "english",
  "duration_seconds": 42,
  "views": 90000,
  "likes": 3200,
  "segments": [{"start": 0.0, "end": 3.4, "text": "Today I'm showing you..."}],
  "summary": "A quick tutorial on improving reels.",
  "keywords": ["reels", "tips", "tutorial"],
  "status": "ok"
}
```

#### Run it via the Apify API

```bash
curl "https://api.apify.com/v2/acts/YOUR~ACTOR/runs?token=YOUR_TOKEN" \
  -X POST -H "Content-Type: application/json" \
  -d '{"videoUrls": ["https://www.instagram.com/reel/Dbn-XJhk0_-/"]}'
```

Works with the **Apify MCP server, CLI, JavaScript & Python SDKs, REST API**, scheduled runs, webhooks, and integrations for **Make, Zapier, n8n and Google Sheets**.

### Use cases

- **Content repurposing** — turn reels into blog posts, newsletters, threads and scripts from the transcript.
- **Subtitles & captions** — use timestamped segments to build subtitles and improve accessibility for hearing-impaired viewers.
- **Content research & analysis** — correlate what creators *say* with their views and likes to find what resonates.
- **Competitive intelligence** — transcribe a competitor's reels to analyze their messaging, hooks and offers.
- **Trend monitoring** — track how topics and talking points evolve across creators over time.
- **SEO & search** — make reel audio searchable and mineable for keywords.

### Pricing — pay only for results

| Result type | Price |
|---|---|
| Reel transcribed | **$0.023 per reel** ($23 / 1,000) |
| Subtitle export — SRT + WebVTT (optional) | **$0.005 per reel** ($5 / 1,000) |
| AI summary & keywords (optional) | **$0.006 per reel** ($6 / 1,000) |

Failed, private or non-video posts return an error row and cost **nothing**. That's an **~18% discount** on the going ~$0.028/reel rate for Instagram transcription — with the AI summary built in rather than sold as a pricey add-on.

### Frequently asked questions

#### How do I transcribe an Instagram reel?

Paste the reel URL into this actor and run it. It resolves the video, runs AI speech-to-text, and returns the transcript with the reel's metadata — no login or manual downloading needed.

#### Does Instagram have a built-in transcription feature?

No. Instagram shows auto-captions on-screen for some reels but doesn't give you a downloadable transcript. This actor generates the transcript from the audio with AI.

#### Can I get a transcript from any Instagram video?

Any **public** reel or video with audio. Photo posts and private/removed content can't be transcribed and are returned as error rows (not billed).

#### How accurate are the transcripts?

It uses **OpenAI Whisper**, a state-of-the-art speech-to-text model. Accuracy is high for clear speech; heavy background music or overlapping voices can reduce it.

#### Can I export subtitles (SRT) from Instagram reels?

Yes. Turn on **Export subtitles** and each reel returns ready-to-use **SRT and WebVTT** subtitle files — perfect for bulk captioning, video editing and accessibility. Billed per reel exported.

#### What languages does it support?

Whisper auto-detects and transcribes 90+ languages. You can pass a language hint (e.g. `en`, `es`, `hi`) to improve accuracy.

#### How many reels can I transcribe at once?

Add as many reel URLs as you like — it processes them in bulk and bills per reel transcribed.

#### How long does a reel take to transcribe?

Roughly 10–20 seconds per reel end-to-end (resolve → download → transcribe), depending on length.

#### Is this legal?

The actor processes only **publicly available** reels. You are responsible for using transcripts in compliance with the laws that apply to you (including GDPR/CCPA) and Instagram's terms, and for respecting creators' rights.

### Support & roadmap

Found a bug or want a feature? Open an issue on the actor's **Issues** tab. On the roadmap: **transcript translation**, **whole-profile (channel) transcription**, **pinned-comment extraction**, and a companion **TikTok transcript extractor**.

# Actor input Schema

## `videoUrls` (type: `array`):

URLs (or shortcodes) of the reels/videos to transcribe. One per line, e.g. <code>https://www.instagram.com/reel/CODE/</code>. Only videos have audio to transcribe; photo posts are skipped.

## `includeSummary` (type: `boolean`):

Generate a short AI summary and keywords from each transcript. Billed per summary (see pricing).

## `includeTimestamps` (type: `boolean`):

Return the transcript broken into timestamped segments, not just the full text.

## `includeSrt` (type: `boolean`):

Generate ready-to-use subtitle files — an <code>srt</code> and <code>vtt</code> string per reel — for captioning and video editing. Billed per reel exported (see pricing).

## `language` (type: `string`):

ISO code (e.g. <code>en</code>, <code>es</code>, <code>hi</code>) to hint the transcriber. Leave empty to auto-detect.

## Actor input object example

```json
{
  "videoUrls": [
    "https://www.instagram.com/reel/Dbn-XJhk0_-/"
  ],
  "includeSummary": false,
  "includeTimestamps": false,
  "includeSrt": false,
  "language": ""
}
```

# Actor output Schema

## `results` (type: `string`):

One dataset item per reel, with the transcript, language, metadata and optional summary.

## `resultsCsv` (type: `string`):

The same records as a CSV download, ready for Excel or Sheets.

## `runSummary` (type: `string`):

Counts for the run: reels transcribed, summaries, audio minutes, and errors.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "videoUrls": [
        "https://www.instagram.com/reel/Dbn-XJhk0_-/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("zaver.api/instagram-reel-transcript-extractor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "videoUrls": ["https://www.instagram.com/reel/Dbn-XJhk0_-/"] }

# Run the Actor and wait for it to finish
run = client.actor("zaver.api/instagram-reel-transcript-extractor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "videoUrls": [
    "https://www.instagram.com/reel/Dbn-XJhk0_-/"
  ]
}' |
apify call zaver.api/instagram-reel-transcript-extractor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,zaver.api/instagram-reel-transcript-extractor"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/2PBb8RRdwjs0yydFc/builds/uxDig9XdmpnR7ch7F/openapi.json
