YouTube Transcript REST API & SDKs
The fastest developer platform for extracting clean YouTube transcripts, closed captions, and video knowledge into AI models, agents, and applications.
Sub-Millisecond Cache
A local cache can speed up repeated transcript requests; availability still depends on the caption provider and deployment configuration.
Native MCP Protocol
Plug-and-play Model Context Protocol server for Claude Desktop, Cursor, and autonomous AI agents.
Sliding Window Limits
Tiered quotas, CORS support, cryptographic API key authentication, and predictable headers.
Endpoints & Live Code Examples
# 1. Simple GET Request
curl "https://www.tubetotranscript.com/api/v1/transcript?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ" \
-H "Authorization: Bearer YOUR_API_KEY"
# 2. POST with Language Fallback
curl -X POST "https://www.tubetotranscript.com/api/v1/transcript" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"language": "en"
}'{
"language": "en",
"language_name": "English",
"is_generated": false,
"length_seconds": 213,
"lengthText": "03:33",
"metadata": {
"videoId": "dQw4w9WgXcQ",
"title": "Never Gonna Give You Up",
"channel": "Rick Astley",
"thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg"
},
"transcript": [
{
"text": "We're no strangers to love",
"start": 18.5,
"duration": 3.2
},
{
"text": "You know the rules and so do I",
"start": 22.8,
"duration": 4.1
}
],
"available_languages": [
{
"code": "en",
"name": "English",
"is_generated": false
}
]
}All Endpoints
Base URL https://www.tubetotranscript.com/api/v1. Every call needs an API key. Free endpoints don't use up your request allowance; paginated endpoints count 1 request per page and return a continuation_token for the next one.
| Endpoint | What it returns | Cost |
|---|---|---|
| GET|POST /transcript | Transcript with timestamps. language accepts a priority list (de,en,asr); format=text and include_timestamp=false supported. | 1 request |
| POST /batch | Transcripts for many videos in one call. | 1 request |
| GET /info | Title, channel and every available caption language. | Free |
| GET /video/metadata | Description and links, views, likes, publish date, channel; include=details,related for tags, captions and suggested videos. | 1 request |
| GET /search | Search videos, channels, playlists or movies, with sort, upload-date, duration and feature filters. | 1 per page |
| GET /channel/resolve | @handle or channel URL to its UC… channel ID. | Free |
| GET /channel/info | Subscribers, video and view counts, join date, country, links, avatar and banner. | 1 request |
| GET /channel/videos | A channel’s videos, Shorts or live streams, sorted latest, popular or oldest. | 1 per page |
| GET /channel/search | Search a channel’s videos by title and description. | 1 per page |
| GET /channel | Search what is said across a channel’s transcripts. | 1 request |
| GET /channel/playlists | A channel’s playlists. | 1 per page |
| GET /channel/posts | Community posts with video, image and poll attachments. | 1 per page |
| GET /channel/sections | The shelves on a channel’s Home tab. | 1 request |
| GET /channel/latest | Latest ~15 uploads with dates, views and likes. | Free |
| GET /playlist/videos | A playlist’s videos, ~100 per page, with title and owner. | 1 per page |
| GET /playlist | A playlist’s videos with their transcripts. | 1 request |
Full parameters and response schemas are in the OpenAPI spec. New to the API? Start with the step-by-step JSON guide.
Standard Response Codes
| Status Code | Meaning | Description |
|---|---|---|
| 200 OK | Success | Transcript successfully retrieved and formatted. |
| 400 Bad Request | Invalid Input | Missing or malformed YouTube URL or parameter. |
| 404 Not Found | No Subtitles | Video exists but contains no creator or automatic caption tracks. |
| 429 Too Many Requests | Rate Limited | Quota exceeded for active tier. Check Retry-After header. |
New to the API? Follow the step-by-step guide to getting YouTube transcripts as JSON with cURL, Python, and Node.js examples.
API Implementation & Rate Limits FAQ
Find answers to common questions about generating and exporting YouTube transcripts.
Explore All Free YouTube Transcript Tools
Interlinked utilities for creators, researchers, developers, and AI engineers. Web tools are available without an account, subject to caption availability and fair-use limits.
Generator Alternatives
Compare free YouTube transcript tools side-by-side by format and signup.
YouTube AI Transcript
AI-ready clean transcript engine for LLMs, Claude, and NotebookLM.
Transcript for ChatGPT
Pre-chunked transcripts with 1-click custom prompt presets.
Video Study Worksheet
Create timestamped review cues and flashcards from available captions.
Editable Video Blog Draft
Create an editable Markdown draft from an available transcript.
Transcript Translator
AI-translate a transcript into nearly 60 languages, not just YouTube’s own caption tracks.
YouTube to SubRip (.SRT)
Export timed subtitle files with exact sequential millisecond timestamps.
YouTube to WebVTT (.VTT)
Standard WebVTT cue files for HTML5 video players and LMS systems.
YouTube to Clean Text (.TXT)
Download continuous text dialogue without timestamps or noise.
YouTube to Markdown (.MD)
Export structured markdown with YAML headers for Obsidian & Notion.
YouTube to JSON (.JSON)
Structured start/duration data payloads for developers and NLP pipelines.
YouTube to CSV / Excel
Export time-aligned rows to Google Sheets, Airtable, and Excel.
Transcript Downloader Hub
Universal multi-format export hub supporting all file formats.
Without Timestamps
Extract clean prose with zero numbers or timecode clutter.
With Timestamps
Extract dialogue with clickable [00:00] timestamp markers.
In-Transcript Word Search
Search exact spoken phrases and instantly jump to timestamps.
Video Quote Finder
Find exact verbatim quotes with surrounding context and links.
Caption Availability Checker
Verify human and auto-generated subtitle streams for any URL.
Word Count & Speech Speed
Calculate speech WPM, character count, and estimated reading time.
Academic Citation Generator
Generate APA, MLA, Chicago, and Harvard video citations.
Transcript Text Cleaner
Strip [Music], [Applause], stray timestamps, and awkward line breaks.
Roman Urdu & Urdu Transcriber
Transcribe and transliterate Hindi/Urdu videos into Roman text.
Batch Multi-Video (Bulk)
Transcribe up to 30 YouTube videos in parallel into 1 combined file.
Full Playlist Transcriber
Provider-backed playlist enumeration and transcript export.
Channel Speech Search
Provider-backed search across supported channel transcript catalogs.
YouTube Shorts Transcriber
Extract captions and dialogue from vertical YouTube Shorts.
API Documentation & SDKs
Full interactive documentation with Python, cURL, and Node.js examples.
Need to extract transcripts in bulk or connect to AI Agents?
Get your free developer API key with 10 free requests or connect TubeToTranscript directly to Claude Desktop and Cursor using native MCP.