YouTube Transcripts (via Apify)

Official registry Marketing and sales

YouTube transcripts for AI agents: text and timestamps for any video, channel or playlist.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

Remote (streamable-http)
Claude Code
claude mcp add --transport http youtube-transcripts-via-apify 'https://mcp.apify.com/?tools=automationnation/youtube-transcript-scraper' --header 'Authorization: <Your Apify API token, sent as '\''Bearer <token>'\''. Get it at https://console.apify.com/settings/integrations (free account).>'
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "youtube-transcripts-via-apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=automationnation/youtube-transcript-scraper",
            "headers": {
                "Authorization": "<Your Apify API token, sent as 'Bearer <token>'. Get it at https://console.apify.com/settings/integrations (free account).>"
            }
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. YouTube Transcript Scraper & API: captions and subtitles
  2. Quick facts
  3. Example input
  4. Run it from code
  5. Use it with AI agents (MCP)
  6. FAQ
  7. More from AutomationNation

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.

Price: $1.50 per 1,000 transcripts ($1.20 on Gold and above) · Run it: https://apify.com/automationnation/youtube-transcript-scraper · Guide: https://retracn.github.io/automationnation-actors/youtube-transcript-scraper/

Quick facts

  • One row per video: transcript text, timestamped segments, language, auto-generated flag, all caption languages, title, channel, views, duration, description and tags.
  • Using youtube-transcript-api? The open-source youtube-transcript-cloud package (github.com/retracn/youtube-transcript-cloud) keeps its interface and runs on this Actor, so it works from AWS, GCP and other servers without RequestBlocked errors.
  • Videos, Shorts, channels and playlists (latest 15 videos).
  • Manual captions first, then auto-generated; best-effort translation.
  • Price: $1.50 per 1,000 transcripts; videos without captions are free.
  • Channels on autopilot: with Only new videos on, a scheduled run transcribes each new upload from a channel or playlist once. Guide: https://retracn.github.io/automationnation-actors/guides/auto-transcribe-youtube-channel/
  • Node.js on Vercel, Lambda or Render? The open-source youtube-transcript-cloud package (github.com/retracn/youtube-transcript-cloud-js) keeps the youtube-transcript npm API and errors and runs on this Actor, so transcripts work in production.

Example input

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

Run it from code

REST API

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 — see examples/python_example.py

# 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 — see examples/node_example.mjs

// 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)

Hosted MCP server URL (Claude, ChatGPT, Cursor and other clients with remote MCP support):

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

Local config for Claude Desktop / Cursor — mcp/claude_desktop_config.json:

{
  "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.

Can it transcribe every new video from a channel automatically? Yes. Add the channel URL, turn on Only new videos and schedule it daily: each run transcribes only new uploads, and videos without captions yet are tried again next time.

More from AutomationNation


This repository holds usage examples. The scraper itself runs on the Apify platform; you need a free Apify account and API token. Examples are MIT licensed.

Frequently asked questions

What is YouTube Transcripts (via Apify)?

YouTube transcripts for AI agents: text and timestamps for any video, channel or playlist.

How do I install YouTube Transcripts (via Apify)?

It runs as a remote server. In Claude Code: claude mcp add --transport http youtube-transcripts-via-apify 'https://mcp.apify.com/?tools=automationnation/youtube-transcript-scraper' --header 'Authorization: <Your Apify API token, sent as '\''Bearer <token>'\''. Get it at https://console.apify.com/settings/integrations (free account).>'. For other clients, paste the JSON configuration from this page into their MCP settings.

Does YouTube Transcripts (via Apify) need an API key?

Yes. It expects Authorization, which you set in its configuration.

Is YouTube Transcripts (via Apify) open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains YouTube Transcripts (via Apify)?

It is published by retracn. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.