YouTube transcripts, subtitles, and video metadata as structured JSON via an Apify Actor.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
The efficient, reliable, and developer-friendly way to use the YouTube Transcripts API.
Actor page: apify.com/johnvc/YoutubeTranscripts Input schema: apify.com/johnvc/YoutubeTranscripts/input-schema
The YouTube Transcripts API extracts the transcript for one or more YouTube videos and returns clean, structured JSON. Each video comes back with a timestamped caption list (text, start, and duration), a plain-text version of the full transcript, and language metadata. It works with standard videos, Shorts, youtu.be short links, embed URLs, and mobile URLs, processes multiple URLs in parallel, and is billed per video.
Clone the repository
Install dependencies with UV
Configure your API key
Run the example
Two transcript formats. Each video returns a timestamped caption list and a plain-text version, so you can build interactive players or feed clean text straight into search and analysis.
Many URL formats. Standard videos, Shorts, youtu.be short links, embed URLs, and mobile URLs all work.
Batch in parallel. Pass an array of URLs and each is processed in parallel; invalid URLs are recorded as errors in the dataset without stopping the run.
Language metadata. Every record reports the transcript language, language code, and whether the captions were auto-generated.
Predictable, pay-per-use pricing. Billing is per video, not per second, with no subscription, which keeps both single and batch runs inexpensive.
Easy to automate. Call it from Python in a few lines, or load it as an MCP tool so assistants like Claude and Cursor can pull transcripts for you on demand.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
youtube_url | string or array | Yes | - | One YouTube URL as a string, or several as an array. Works with standard videos, Shorts, youtu.be, embed, and mobile URLs. Each URL is processed in parallel. |
One item per video. The transcript text below is shown as a placeholder to respect content copyright; your own run returns the actual caption text.
The timestamped array holds one entry per caption segment with its text, start, and duration in seconds; non_timestamped is the full transcript as a single string. Language metadata (language, language_code, is_generated) and total_seconds describe the video, and success is true when a transcript was found. Invalid or unavailable URLs are returned with success: false and an error note instead.
You can load the YouTube Transcripts API as an MCP tool so assistants call it for you. The MCP server URL preloads just this one Actor:
Authenticate with OAuth in the browser when offered, or with your Apify API token (the same APIFY_API_TOKEN used by the Python example). Get a token at https://console.apify.com/settings/integrations and a free Apify account at https://apify.com?fpr=9n7kx3 .

Cowork is the desktop app's automation mode. To give it the YouTube Transcripts API as a tool, add the Apify MCP server as a connector.
claude_desktop_config.json directly).
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.jsonDownload the desktop app and start a free trial: https://claude.ai/referral/uIlpa7nPLg More help: https://docs.apify.com/platform/integrations/claude-desktop

Claude Code is the command-line tool. Add the Actor's MCP server with one command:
To use a token instead of browser OAuth:
Then verify with claude mcp list, or run /mcp inside a session. Ask Claude Code to call the YouTube Transcripts API.
Try Claude Code free: https://claude.ai/referral/uIlpa7nPLg Claude Code MCP docs: https://code.claude.com/docs/en/mcp

On claude.ai you add Apify as a connector, then enable just this Actor's tool.
johnvc/YoutubeTranscripts.https://mcp.apify.com/?tools=actors,docs,johnvc/YoutubeTranscripts, using OAuth when prompted.Open Claude on the web: https://claude.ai/referral/uIlpa7nPLg

Cursor reads MCP servers from a project file at .cursor/mcp.json.
.cursor/mcp.json:New to Cursor? Get it here: https://cursor.com/referral?code=XQP4VBLI3NNX

ChatGPT connects to the Apify MCP server through Developer mode (available on ChatGPT Pro, Plus, Business, Enterprise, and Education plans).
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/youtube-transcripts-2)<a href="https://allmcps.com/mcp/youtube-transcripts-2"><img src="https://allmcps.com/api/badge/youtube-transcripts-2?style=directory" alt="Youtube Transcripts on AllMCPs" /></a>