Production-grade YouTube transcript extraction for Claude, ChatGPT, Cursor, and 20+ AI tools. 200K+ transcripts processed every day. Trusted by YouTubeToTranscript.com & Recapio.com.
- β Manual copy-paste from YouTube's clunky transcript UI
- β No transcript access during AI conversations
- β Context switching between browser tabs wastes time
- β Can't efficiently analyze or compare multiple videos
- β Building your own scraper is unreliable and breaks often
- β Paste any YouTube URL, get instant transcript
- β Works seamlessly inside your AI workflow
- β Analyze, summarize, translate videos in natural conversation
- β Compare multiple videos side-by-side
- β Production-grade reliability with 200K+ daily transcripts
Quick Demo:
Summarize the key points from this video:
https://www.youtube.com/watch?v=dQw4w9WgXcQTranscriptAPI automatically fetches the transcript and your AI analyzes it instantly.
| MCP Integration | REST API | |
|---|---|---|
| Best For | AI assistants & chat interfaces | Developers & applications |
| Setup | Zero-code, just add URL | Code integration required |
| Interaction | Natural language queries | Programmatic JSON requests |
| Get Started | Installation Guide | API Documentation β |
Building an app? Our REST API gives you full programmatic control with JSON responses, timestamps, and metadata. Base URL:
https://transcriptapi.com/api/v2| View Swagger UI β
Requirements:
- TranscriptAPI account (sign up free)
- API Key from dashboard OR OAuth (for Claude/ChatGPT)
Recommended: Add a Rule to Auto-Invoke TranscriptAPI
Add this rule to your AI client so you don't need to explicitly ask for transcripts:
When I share a YouTube URL, automatically use the TranscriptAPI MCP tool to fetch the transcript before responding. This applies to any video analysis, summarization, or question about YouTube content.
Install in Cursor (One-Click / Manual)
One-Click Install:
Manual Configuration:
Go to: Settings -> Features -> MCP -> Add New MCP Server
- Name:
transcript-api - Type:
SSE(Remote) - URL:
https://transcriptapi.com/mcp
Or edit ~/.cursor/mcp.json:
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in Claude (Desktop & Web) - Recommended
Claude now supports adding MCP servers directly via the "Custom Connector" UI.
Quick Setup:
- Open Claude Settings (click your profile icon -> Settings)
- Go to Connectors -> Add custom connector
- Enter the following details:
- Name:
TranscriptAPI - URL:
https://transcriptapi.com/mcp
- Name:
- Click Add, then click Connect to authorize via your browser.
- (Optional) In the connector settings, change permissions to "Allow unsupervised" for seamless usage.
Full Guide: For a comprehensive walkthrough with screenshots, please read our official Claude Integration Guide.
Install in Claude Code (CLI)
Run this command in your terminal:
claude mcp add --transport http transcript-api https://transcriptapi.com/mcpInstall in ChatGPT (OAuth)
ChatGPT supports OAuth for secure authentication. You will need to enable Developer Mode in ChatGPT settings first.
Quick Setup (Credentials Optional):
- In ChatGPT, go to
Settings->Connected Apps->Add - Enter the MCP Server URL:
https://transcriptapi.com/mcp - Client ID & Secret are optional:
- Leave them blank to use Dynamic Client Registration (Recommended/Simpler). ChatGPT will automatically register itself.
- (Advanced) Or enter Client ID & Secret from your dashboard if you prefer Static Registration.
- Click Add and authorize via the browser popup.
Full Guide: For a step-by-step tutorial on enabling Developer Mode, adding the connector, and authorizing, please read our official ChatGPT Integration Guide.
Install in VS Code
Add this to your VS Code user settings (settings.json):
"mcp.servers": {
"transcript-api": {
"type": "http",
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}Install in Windsurf
Add this to your Windsurf MCP config (~/.codeium/windsurf/mcp_config.json):
{
"mcpServers": {
"transcript-api": {
"serverUrl": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in OpenAI Agent Builder
OpenAI Agent Builder currently requires API Key authentication (OAuth not supported yet).
- Create a new Agent
- Under "Actions" or "Tools", add a new MCP Server
- URL:
https://transcriptapi.com/mcp - Auth Type: API Key
- Paste your API Key from the dashboard
Install in Cline
Add to your Cline MCP settings:
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"type": "streamableHttp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in Zed
Add to your Zed settings.json:
{
"context_servers": {
"transcript-api": {
"source": "remote",
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in Roo Code
Add to your Roo Code config:
{
"mcpServers": {
"transcript-api": {
"type": "streamable-http",
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in Amp
Run via CLI:
amp mcp add transcript-api https://transcriptapi.com/mcp --header "Authorization: Bearer YOUR_API_KEY"Install in Augment Code
In settings.json under augment.advanced:
"augment.advanced": {
"mcpServers": [
{
"name": "transcript-api",
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
]
}Install in Kilo Code
In .kilocode/mcp.json:
{
"mcpServers": {
"transcript-api": {
"type": "streamable-http",
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in JetBrains AI Assistant
In Settings -> Tools -> AI Assistant -> MCP:
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in Gemini CLI
In ~/.gemini/settings.json:
{
"mcpServers": {
"transcript-api": {
"httpUrl": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in Qwen Coder
In ~/.qwen/settings.json:
{
"mcpServers": {
"transcript-api": {
"httpUrl": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in Google Antigravity
{
"mcpServers": {
"transcript-api": {
"serverUrl": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in Trae
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in LM Studio
In mcp.json:
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in BoltAI
In Plugins -> JSON Config:
{
"mcpServers": {
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}Install in Warp
In Settings -> AI -> MCP:
{
"transcript-api": {
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}Install in Perplexity Desktop
In Settings -> Connectors -> Advanced:
{
"url": "https://transcriptapi.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}Simple and universal. Works with every MCP client.
- Get your API key from dashboard
- Keys start with
sk_prefix - Add to config as Bearer token:
"headers": {
"Authorization": "Bearer sk_your_api_key_here"
}Security Note: Store keys in environment variables where possible and never commit them to version control.
Automatic, secure authentication without manual key management.
Dynamic Client Registration (DCR):
- Supported by: Claude Desktop, ChatGPT
- Just add the MCP URL - client auto-registers
- No credentials needed
- You'll authorize once via browser redirect
Static Client Registration:
- Supported by: ChatGPT (optional/required for some setups)
- Get Client ID + Secret from MCP Integration Dashboard
- More control over client identity
Fetches the transcript for a given YouTube video.
| Parameter | Type | Default | Description |
|---|---|---|---|
video_url |
string | required | YouTube URL (full, short) or 11-char video ID |
send_metadata |
boolean | true |
Include video title, author, thumbnail |
format |
string | "text" |
Output format: "text" (markdown) or "json" |
include_timestamp |
boolean | true |
Add timestamps to each segment |
Example Output (Text):
# Metadata
## Title: Rick Astley - Never Gonna Give You Up
## Author: RickAstleyVEVO
# Transcript
[0.0s] Never gonna give you up
[4.12s] Never gonna let you downExample Output (JSON):
{
"transcript": [
{ "text": "Never gonna give you up", "start": 0.0, "duration": 4.12 },
{ "text": "Never gonna let you down", "start": 4.12, "duration": 3.85 }
],
"metadata": { "title": "Rick Astley...", "author_name": "RickAstleyVEVO" }
}| Use Case | Example Prompt |
|---|---|
| π Summarization | "Summarize the key points from this video: [URL]" |
| π Research | "What are the main arguments presented in [URL]?" |
| π Study Notes | "Create study notes from this lecture: [URL]" |
| βοΈ Comparison | "Compare the perspectives in these two videos: [URL1] [URL2]" |
| π Translation | "Translate this video's content to Spanish: [URL]" |
| βοΈ Content Repurposing | "Turn this video into a blog post: [URL]" |
| Plan | Price | Credits | Rate Limit |
|---|---|---|---|
| Free | $0/month | 100 | 60 req/min |
| Starter | $5/month | 1,000 | 200 req/min |
- 1 Credit = 1 Successful Request (HTTP 200)
- Failed requests or rate-limited requests do not consume credits.
- View Pricing | Manage Credits
Authentication Errors (401)
- Verify your API key starts with
sk_ - Check for extra spaces when copying
- Ensure the key is active in your dashboard
- If using OAuth, try re-authorizing
No Credits (402)
- Check your credit balance at dashboard
- Purchase more credits or upgrade your plan
Video Not Available (404)
- The video might not have captions/subtitles enabled
- The video might be private or age-restricted
- The video might be region-locked
Rate Limiting (429)
- Respect the
Retry-Afterheader - Implement exponential backoff in your client
- Upgrade to a paid plan for higher limits
OAuth Issues
- Clear browser cookies and try again
- For ChatGPT, try switching between Dynamic and Static registration
- Ensure popup blockers aren't preventing the auth window
- π Website: transcriptapi.com
- π Documentation: transcriptapi.com/docs
- π§ API Reference: transcriptapi.com/docs/api
- π¬ Contact: transcriptapi.com/contact
Β© 2025 Zero Point Studio d.o.o.
