YouTube Transcript Scraper & API: captions and subtitles

YouTube Transcript Scraper is an Apify Actor that returns the transcript of any YouTube video as plain text and timestamped segments, in any caption language, with the title, channel, views and duration. It accepts video, Shorts, channel and playlist URLs, costs $1.50 per 1,000 transcripts and charges nothing for videos without captions.

Run it on Apify $1.50 per 1,000 transcripts ($1.20 on Gold and above)

Quick facts

Example input

{
  "videos": [
    "https://www.youtube.com/watch?v=UF8uR6Z6KLc"
  ],
  "language": "en"
}

Run it from code

REST API (cURL)

curl -X POST "https://api.apify.com/v2/acts/automationnation~youtube-transcript-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"videos": ["https://www.youtube.com/watch?v=UF8uR6Z6KLc"], "language": "en"}'

Python

# pip install apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("automationnation/youtube-transcript-scraper").call(run_input={
  "videos": [
    "https://www.youtube.com/watch?v=UF8uR6Z6KLc"
  ],
  "language": "en"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item.get("title"), item.get("channel"), item.get("wordCount"), item.get("transcriptLanguage"))

JavaScript / Node.js

// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('automationnation/youtube-transcript-scraper').call({
  "videos": [
    "https://www.youtube.com/watch?v=UF8uR6Z6KLc"
  ],
  "language": "en"
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) console.log(item.title, item.channel, item.wordCount, item.transcriptLanguage);

Use it with AI agents (MCP)

Connect AI assistants such as Claude, ChatGPT or Cursor through Apify's MCP server. Hosted URL:

https://mcp.apify.com?tools=automationnation/youtube-transcript-scraper

Or run it locally in Claude Desktop / Cursor:

{
  "mcpServers": {
    "youtube-transcript-scraper": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/actors-mcp-server",
        "--tools",
        "automationnation/youtube-transcript-scraper"
      ],
      "env": {
        "APIFY_TOKEN": "YOUR_APIFY_TOKEN"
      }
    }
  }
}

FAQ

Is there an official YouTube transcript API?

The YouTube Data API only downloads captions for videos you own. YouTube Transcript Scraper returns public captions of any video.

Does it transcribe audio?

No, it returns captions YouTube already has (manual or auto-generated); videos without captions come back as no_transcript and aren't charged.

Step-by-step guide: How to get YouTube transcripts in 2026 (any video, channel or playlist)

Open YouTube Transcript Scraper on Apify Store