# YouTubeTranscript.dev — Full Documentation > YouTubeTranscript.dev is a YouTube transcript extractor and video-to-text service that converts any YouTube video to text. It pulls native YouTube captions when available and falls back to AI-powered automatic speech recognition (ASR) for videos without captions. Built and operated by Volods LTD (https://volods.com). This is the long-form version of /llms.txt. It includes full feature documentation, pricing details, complete API reference, and integration guides — all in a single file optimized for LLM retrieval. - Website: https://www.youtubetranscript.dev - llms.txt (short): https://www.youtubetranscript.dev/llms.txt - API reference (Markdown for LLMs): https://www.youtubetranscript.dev/api/docs/markdown?version=v2 - OpenAPI 3.0 spec: https://www.youtubetranscript.dev/api/v2/openapi.yaml - MCP server: https://mcp.youtubetranscript.dev - Support: support@youtubetranscript.dev - Parent company: Volods LTD (https://volods.com) - LinkedIn: https://www.linkedin.com/company/youtube-transcript-dev - G2 listing: https://www.g2.com/products/youtube-transcript-dev ## Definition YouTubeTranscript.dev is a YouTube transcript extractor that converts any YouTube video into accurate, downloadable text — using native captions when available, or AI speech recognition when they aren't. ## At a Glance | Attribute | Value | |-----------|-------| | Product type | YouTube transcript extraction and video-to-text SaaS | | Users | 10,000+ | | Transcripts processed | 50,000+ | | Languages supported | 100+ | | Uptime SLA | 99.9% | | Free tier | Yes — 10 credits/month, no credit card required | | Paid plans | $9 (Basic), $29 (Pro), $79 (Business) per month | | API | REST API with Python, JavaScript, Dart SDKs and MCP server | | Operating company | Volods LTD (https://volods.com) | | Founded | 2024 | ## How It Works 1. Paste a YouTube video URL (full link, youtu.be short link, or just the 11-character video ID). 2. We extract the transcript: - If native captions exist: pull directly in 5–10 seconds (1 credit). - If translation requested: pull native + translate via Google Translate (~4 credits per 10 min). - If no captions exist: transcribe directly from the audio using AI ASR (~7 credits per 10 min, 2–20 min). 3. View, copy, download, translate, summarize, or chat with the transcript using built-in AI tools. ### Why videos-without-captions support matters Most YouTube transcript tools fail when default captions aren't available. YouTubeTranscript.dev is built specifically to solve this: - AI speech recognition handles podcasts, lectures, music videos, interviews, and live streams. - Works with noisy audio, accents, background music, and technical terminology. - 100+ languages supported. - No upload needed — paste the URL. ## Core Features ### Transcript Extraction - Convert any YouTube video to text in seconds. - Native YouTube captions (auto-generated or manual) in 100+ languages. - AI speech recognition fallback for videos without captions. - Word-level timestamps with millisecond precision. - Automatic paragraph formatting and clean text output. ### Bulk & Batch Processing - Playlist URL extraction: paste a playlist link, extract every video. - Channel extraction: filter by date range, duration, search, sort. - Up to 3,000 videos per batch on the Business plan. - Unlimited batch jobs on Business; 12+8 jobs/month on Pro; 5+3 on Basic. - Parallel processing for sub-minute throughput on caption-available videos. ### Interactive Viewer - Watch YouTube videos in-browser with synced subtitle overlays. - Customize font size, color, background opacity, and overlay position. - Click any transcript line to jump to that moment in the video. - Collapsible transcript sidebar for focused viewing. - Full playback controls preserved. ### Translation - Translate transcripts to 100+ languages via Google Translate. - One-click translation; downloadable in any format. - Original + translated versions both available. ### AI-Powered Tools - **AI Summary** — Get instant summaries with key points and takeaways. - **Concept Map** — Visualize transcript content as an interactive concept map. - **Chat with Transcript** — Ask questions and get AI answers grounded in the transcript. - **Smart Paragraphing** — Automatic segmentation for readable long-form content. ### Export Formats - **TXT** — Plain text, optionally with timestamps. - **SRT** — SubRip subtitle format, ready for video editors. - **VTT** — WebVTT format for HTML5 video. - **JSON** — Structured data with full metadata, word-level timestamps, and confidence scores. ### Developer API - RESTful API with both sync and async modes. - Webhook callbacks for long-running ASR jobs. - Batch endpoints for playlists and bulk URL lists. - API key authentication via `Authorization: Bearer ` header. - Rate limits: 1 RPS (Free), 25 RPS (Basic), 50 RPS (Pro), 100 RPS (Business). - Official SDKs: - Python (PyPI): `pip install youtubetranscriptdevapi` - JavaScript/TypeScript (NPM): `npm install youtube-transcript-api` - Dart (pub.dev): `dart pub add youtubetranscript` - MCP server for Claude, Cursor, and VS Code AI integrations. ### Chrome Extension - Extract transcripts directly from any YouTube video page. - One-click copy and download. - Multiple export format support. - Linked to your YouTubeTranscript.dev account for credit usage. ### Thumbnail Studio (sister product) - AI YouTube thumbnail generation from text prompts. - Face swap for thumbnails. - Title generator with hook scoring. - Thumbnail editor with object/text addition. - Available at /thumbnail-dev. ## Pricing — Full Details ### Free Plan — $0/month - 10 credits per month - Playlist & Channel extraction up to 10 videos - Basic export formats (TXT, SRT, VTT, JSON) - Community support - No credit card required - Best for: trying the service, light personal use ### Basic Plan — $9/month - 1,200 credits per month - Playlist & Channel extraction up to 500 videos per batch - 5 playlist jobs + 3 channel jobs per month - Audio AI transcription (ASR) enabled - All export formats - API access at 25 RPS rate limit - Email support - Best for: individual creators, freelancers, small projects ### Pro Plan — $29/month - 4,000 credits per month - Playlist & Channel extraction up to 1,500 videos per batch - 12 playlist jobs + 8 channel jobs per month - Audio AI transcription (ASR) enabled - All export formats - API access at 50 RPS rate limit - Priority email support - Best for: agencies, content teams, integration projects ### Business Plan — $79/month - 11,000 credits per month - Playlist & Channel extraction up to 3,000 videos per batch - Unlimited playlist and channel jobs - Audio AI transcription (ASR) enabled - All export formats - API access at 100 RPS rate limit - Dedicated support with named contact - Best for: enterprises, high-volume API consumers, data pipelines ### Extra Credits - Available on every paid plan at the plan's per-credit rate. - Extra credits never expire. - Consumed after subscription credits are depleted. ### Credit Costs | Operation | Credits | |-----------|---------| | Native caption extraction | 1 per video | | Translation | ~4 per 10 min | | AI ASR (audio transcription) | ~7 per 10 min | | AI Summary | 1 per transcript | | Concept Map | 1 per transcript | | Chat with Transcript | 1 per question | ### Billing - Monthly or yearly subscriptions; yearly billed annually with savings. - Cancel anytime — access continues until end of billing period. - No cancellation fees. Auto-revert to Free plan after cancellation. - 30-day refund policy. ## API Reference Summary Base URL: `https://www.youtubetranscript.dev/api/v2` Authoritative machine-readable references (always up to date): - Markdown API reference for LLMs: https://www.youtubetranscript.dev/api/docs/markdown?version=v2 - OpenAPI 3.0 spec (YAML): https://www.youtubetranscript.dev/api/v2/openapi.yaml - OpenAPI 3.0 spec (JSON): https://www.youtubetranscript.dev/api/v2/openapi.json - Interactive docs with Try-it playground and AI assistant: https://www.youtubetranscript.dev/api-docs ### Authentication All endpoints require an API key in the `Authorization` header: ``` Authorization: Bearer ``` API keys are generated in the Dashboard under Account → API Keys. ### Endpoints #### POST /api/v2/transcribe — Transcribe a YouTube video Request body: ```json { "video": "https://www.youtube.com/watch?v=VIDEO_ID", "language": "en", "source": "auto", "allow_asr": false, "format": { "timestamp": true, "paragraphs": false, "words": false }, "webhook_url": "https://your-app.example.com/webhook", "asr_options": { "speakerLabels": true, "keyTerms": ["Metoprolol"], "customFormatting": false } } ``` - `video` — YouTube URL or 11-character video ID (required unless `upload_id` is set). - `upload_id` — transcribe an uploaded media file instead of a YouTube video (see POST /api/v2/uploads). Forces the ASR path; `webhook_url` required. - `source` — `auto | manual | asr`. Use `asr` for audio transcription (async, requires `webhook_url`). - `allow_asr` — fall back to ASR when captions are unavailable. - `asr_options` — language + code switching + medical mode, key terms boosting, translation, speaker diarization (labels, speaker ID with name/role and known values, multichannel, exact or min/max expected speakers), speech understanding (topics, summary, sentiment, content safety, PII/profanity handling), and formatting (punctuation, text formatting, filler words, custom date/phone/email patterns). Billable add-ons — preview cost with `/transcribe/estimate`. Full schema: /api/v2/openapi.yaml (AsrOptions). Cached/caption response returns 200 with the transcript. ASR jobs return 202 with a `job_id` and deliver results to your `webhook_url`. #### POST /api/v2/transcribe/estimate — Preview ASR cost Body: `{ "video": "...", "source": "asr", "asr_options": { ... } }`. Returns estimated credits before you commit. #### POST /api/v2/uploads — Upload your own audio/video for ASR Body: `{ "filename": "interview.mp3", "mime_type": "audio/mpeg", "size_bytes": 48211234, "duration_sec": 1820 }` (max 2GB / 8 hours). Returns `upload_id` and a `signed_url`; PUT the raw file bytes to `signed_url` with the file's Content-Type, then call `POST /api/v2/uploads/{upload_id}/complete`. Finally transcribe with `POST /api/v2/transcribe` using `{ "upload_id": "...", "source": "asr", "webhook_url": "..." }`. #### GET /api/v2/jobs/{job_id} — Poll a job Returns job status (`completed | processing | failed`) and the transcript when done. #### GET /api/v2/jobs — List your jobs Query params: `page`, `limit`, `status`. #### POST /api/v2/batch — Batch transcription Body: `{ "video_ids": ["...", "..."], "language": "en", "allow_asr": false, "webhook_url": "..." }`. Up to 3,000 videos per request depending on plan (Free 10, Basic 500, Pro 1,500, Business 3,000). Returns 202 with a `batch_id` and `poll_url`. #### GET /api/v2/batch/{batch_id} — Poll a batch Returns 202 while processing, 200 with aggregated results when done. #### GET /api/v2/transcripts — List stored transcripts Query params: `page`, `limit`, `search`, `status`, `language`, `date_from`, `date_to`, `include_segments`. #### GET /api/v2/transcripts/{video_id} — Fetch an owned transcript Includes `asr_intelligence` (summary, topics, sentiment, entities, chapters, highlights) plus AI `summary` and `mind_map` when generated. Query params: `id`, `language`, `source`, `include_timestamps`. #### DELETE /api/v2/transcripts/{video_id} — Delete owned transcript(s) Optional `language` / `source` query params narrow the deletion. Bulk delete via `POST /api/v2/transcripts/bulk-delete`. #### GET /api/v2/transcripts/{video_id}/languages — List available languages Languages you own plus YouTube translation targets for the video. #### POST /api/v2/transcripts/{video_id}/translate — Translate a transcript Body: `{ "target_language": "es", "provider": "youtube", "allow_ai_fallback": true }`. Free if you already own the translation. #### POST /api/v2/playlists/resolve — Resolve a playlist to video IDs Then submit the IDs to `/api/v2/batch`. `GET /api/v2/playlists/{playlist_id}` and `GET /api/v2/playlists/history` track playlist batches. #### POST /api/v2/channels/resolve — Resolve a channel to its uploads Supports filters (date range, duration, search, sort). `GET /api/v2/channels/{channel_id}` and `GET /api/v2/channels/history` track channel batches. ### Webhooks For async jobs (ASR and batches), set `webhook_url`. On completion we POST the full result payload (job or batch shape) to your URL. Respond 2xx to acknowledge. ### Errors Errors return a JSON body with `code` and `message`: - `400 invalid_request` — invalid JSON or missing required fields - `401 invalid_api_key` — missing or invalid API key - `402 payment_required` — insufficient credits - `404 no_captions` — no captions available and ASR not used - `429 rate_limit_exceeded` — too many requests, check `Retry-After` - `500 internal_error` — server error, retry with backoff ## SDK Examples ### Python ```python from youtubetranscript import YouTubeTranscript client = YouTubeTranscript("YOUR_API_KEY") result = client.transcribe("dQw4w9WgXcQ") print(result.text) ``` ### JavaScript / TypeScript ```ts import { YouTubeTranscript } from "youtube-transcript-api" const client = new YouTubeTranscript({ apiKey: process.env.YT_API_KEY! }) const result = await client.transcribe({ url: "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }) console.log(result.fullText) ``` ### Dart ```dart import 'package:youtubetranscript/youtubetranscript.dart'; final client = YouTubeTranscriptClient(apiKey: 'YOUR_API_KEY'); final result = await client.transcribe('https://www.youtube.com/watch?v=dQw4w9WgXcQ'); print(result.fullText); ``` ### MCP Server (Claude, Cursor, VS Code) You can add the MCP server using the Claude CLI: ```bash claude mcp add --transport http youtubetranscript https://mcp.youtubetranscript.dev --header "x-api-token: YOUR_API_KEY" ``` Or manually add to your MCP config: ```json { "mcpServers": { "youtubetranscript": { "command": "npx", "args": ["-y", "@youtubetranscript/mcp"], "env": { "YT_TRANSCRIPT_API_KEY": "YOUR_API_KEY" } } } } ``` Exposes tools: `transcribe_video`, `transcribe_playlist`, `translate_transcript`, `summarize_transcript`. ## Common Use Cases ### Content Creators - Repurpose video into blog posts, newsletters, social posts. - Generate show notes, chapter markers, episode summaries. - Quote-mine for social clips. ### Researchers & Students - Searchable lecture archives. - Cite video sources accurately with timestamps. - Build study guides from course playlists. ### Marketers - Competitive analysis of competitor video strategies. - Trend extraction from industry content. - SEO content generation from video research. ### Developers - Build video search engines and content pipelines. - Auto-generate captions for embedded video platforms. - Integrate transcription into AI agent workflows. ### Accessibility - Provide text alternatives for video content. - Generate accurate captions for embedded video. - Multilingual transcripts for international audiences. ### Journalists & Media - Transcribe interviews and press conferences. - Extract quotes with precise timestamps for citations. - Speed up fact-checking workflows. ## Comparisons (Why YouTubeTranscript.dev wins) YouTubeTranscript.dev is the only YouTube transcript tool that combines instant native caption extraction with AI audio transcription for videos without captions, plus full playlist/channel bulk processing. ### vs Taption **YouTubeTranscript.dev is better for YouTube content because** it accepts YouTube URLs directly with no uploads, processes captions in under 10 seconds vs minutes, and has built-in playlist bulk processing. Taption is upload-based with a single-file workflow. ### vs Otter.ai **YouTubeTranscript.dev is better for YouTube videos because** Otter is built for live meetings (Zoom/Teams/Meet) and has no native YouTube URL support. YouTubeTranscript.dev accepts YouTube URLs directly and offers playlist extraction. Otter wins for live meeting transcription; we win for YouTube. ### vs Descript **YouTubeTranscript.dev is better for transcript extraction because** Descript is a full video editor at $24+/month requiring video downloads before import. We're $9/month, purpose-built for YouTube, faster (seconds vs minutes), with playlist support and an API. ### vs Rev **YouTubeTranscript.dev is better for high-volume YouTube transcription because** Rev costs $15–$90 for a 60-minute video ($0.25–$1.50/min) with no free tier. We cost ~$0.007 per video on captions and $0.05 per 10 min on ASR. Rev wins on human-verified 99% accuracy; we win on speed, cost, and scale. ### vs Happy Scribe **YouTubeTranscript.dev is better for caption-based extraction because** Happy Scribe charges $0.20/min AI and processes full audio even when captions exist. We extract captions instantly when available and only run ASR when needed. Happy Scribe has a stronger subtitle editor; we have AI analysis features. ### vs Sonix **YouTubeTranscript.dev is better for YouTube-native workflows because** Sonix is a general-purpose transcription tool at $10/hour with 49 languages and no playlist support. We support 100+ languages, extract YouTube captions instantly, and offer batch processing. Sonix has a stronger built-in editor. Full comparisons: /compare ## Problem-Solving Guides ### Noisy Audio Transcription Our AI ASR models are trained on diverse real-world audio: background music, crowd noise, accents, echo, overlapping speakers. Accuracy holds up at 90%+ even in challenging conditions. Guide: /resources/noisy-audio-transcription ### Bulk & Batch Processing Process thousands of YouTube videos via playlist URL, channel filter, bulk URL list, or the batch API. Caption extraction runs in parallel, completing 1,500+ videos in minutes. Guide: /resources/bulk-transcript-processing ### Timestamp Accuracy & Sync Word-level timestamps with millisecond precision. The Interactive Viewer lets you verify sync visually in real time. Export in SRT/VTT/JSON with accurate timing. Guide: /resources/transcript-timestamps-sync ## Free Tools (No Login Required) Eleven free browser tools that work without an account — paste a YouTube URL and get instant results: - Transcript Generator: /tools/transcript - AI Video Summarizer: /tools/summarize - Subtitle Downloader (SRT/VTT/TXT): /tools/subtitles - Video Translator (50+ languages): /tools/translate - Chapter Generator: /tools/chapters - Video to Blog Post: /tools/blog - Quote Finder (search inside videos): /tools/quotes - Chat with Video (AI Q&A): /tools/chat - Thumbnail Downloader (HD/4K): /tools/thumbnail-download - Thumbnail Analyzer (AI CTR score): /tools/thumbnail-analyze - Background Remover: /tools/background-remover All tools hub: /tools ## Shareable Transcript Pages Every successfully processed transcript can be shared as a public page: - URL format: `/transcript/{video_id}/{slug}` - Each page includes: embedded YouTube video, full timestamped transcript, video metadata. ## Full Site Map ### Public Pages - Homepage: / - Pricing: /pricing - FAQ: /faq - API Documentation: /api-docs - Free Tools Hub: /tools - About: /about - Contact: /contact - Compare hub: /compare - Thumbnail Studio: /thumbnail-dev - Templates: /templates (Make.com: /templates/make, n8n: /templates/n8n) - Study Tools (notes, flashcards, quizzes): /edtech ### Compare Pages - /compare/youtubetranscript-vs-taption - /compare/youtubetranscript-vs-otter - /compare/youtubetranscript-vs-descript - /compare/youtubetranscript-vs-rev - /compare/youtubetranscript-vs-happyscribe - /compare/youtubetranscript-vs-sonix ### Resource & Guide Pages - /resources/youtube-transcript-generator - /resources/youtube-video-to-text - /resources/youtube-subtitle-downloader - /resources/youtube-caption-extractor - /resources/youtube-transcript-for-ai - /resources/free-youtube-transcript - /resources/how-to-extract - /resources/step-by-step-guide - /resources/channel-transcripts - /resources/playlist-transcripts - /resources/best-free-tools - /resources/noisy-audio-transcription - /resources/bulk-transcript-processing - /resources/transcript-timestamps-sync - /resources/youtube-transcript-shorts - /resources/youtube-transcript-mobile - /resources/youtube-transcript-not-working - /resources/python-sdk - /resources/npm-package - /resources/dart-sdk - /resources/mcp-server - /resources/cli ### Authenticated Dashboard - /dashboard, /dashboard/history, /dashboard/transcript/{video_id} - /dashboard/viewer - /dashboard/extract/playlist, /dashboard/extract/bulk, /dashboard/extract/channel - /dashboard/thumbnail, /dashboard/api-docs, /dashboard/account ### Legal - /privacy, /terms, /refund-policy ## Internationalization Fully translated UI in: English (en), Spanish (es), French (fr), German (de), Portuguese (pt), Japanese (ja), Chinese (zh), Swedish (sv). Locale prefix in URL (e.g., /es/pricing). Transcript translation works between 100+ languages regardless of UI language. ## Technical Stack - Next.js 15 + React (SSR/edge rendering) - TypeScript - Vercel hosting with edge caching (s-maxage 3600 + SWR 86400) - Supabase (PostgreSQL + auth) - AI transcription via state-of-the-art ASR models - REST API with JSON responses and webhook callbacks ## Contact - General support: support@youtubetranscript.dev - API questions: support@youtubetranscript.dev (or /api-docs) - Business inquiries: support@youtubetranscript.dev - Parent company website: https://volods.com - LinkedIn: https://www.linkedin.com/company/youtube-transcript-dev - G2: https://www.g2.com/products/youtube-transcript-dev --- This file follows the llms-full.txt convention — a long-form companion to llms.txt that concatenates the most useful product, pricing, and API documentation into a single retrieval-friendly document for AI assistants and aggregators. Last updated: July 2026