YouTube Transcripts (via Apify)

io.github.retracnv1.0.0Updated Oct 5, 2026

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

VerifiedStreamable HTTPWeb executableMedia & DesignWeb Search & Scraping

Overview

AI-generated overview

Fetches public YouTube captions as text and timestamped segments for videos, Shorts, channels and playlists.

What it does
Wraps an Apify actor that returns YouTube transcripts for a given video, Short, channel or playlist URL. Each result row includes transcript text, timestamped segments, caption language, an auto-generated flag, available caption languages, plus title, channel, views, duration, description and tags. Manual captions are preferred over auto-generated ones, and best-effort translation is offered. Videos without captions come back as no_transcript.
When to use it
Useful when an assistant needs the spoken content of YouTube videos for summarization, research, note-taking or content analysis. It fits workflows that work from existing captions rather than audio transcription, and it can process a channel or playlist in one request.
Requirements
A remote MCP endpoint at mcp.apify.com, reachable over the network. A free Apify account and an Apify API token are required, sent as an Authorization header in the form 'Bearer '. No local runtime or package install is needed for the hosted endpoint.
Before you install
The Authorization header carries an Apify API token, so treat it as a secret and avoid exposing it in shared configs. Usage is billed: $1.50 per 1,000 transcripts, while videos without captions are free, so costs scale with volume. Requests send the target YouTube URLs to the Apify platform and the actor scrapes public captions.

Installation

In SourceWeft

  1. Open YouTube Transcripts (via Apify) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "youtube-transcripts": {
      "type": "http",
      "url": "https://mcp.apify.com/?tools=automationnation/youtube-transcript-scraper"
    }
  }
}

README

YouTube Transcript Scraper & API: captions and subtitles

[Run on Apify]

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.
  • 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.

Example input

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

Run it from code

REST API

bash
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

python
# pip install apify-clientfrom 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

js
// npm install apify-clientimport { 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:

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.

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.

Source: README.md at commit 49d719e

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v1.0.0LatestOct 5, 2026