# TubeToTranscript > Free, privacy-first YouTube (and TikTok) transcript extractor, batch processor, and developer API platform. TubeToTranscript reads accessible YouTube caption tracks and converts them into clean, formatted text, subtitles (SRT, VTT), Markdown (.md), JSON (.json), and CSV (.csv) files. TikTok video URLs work through the same tool. Normal web use does not require registration. ## Core Capabilities - **Direct Extraction**: Extract closed captions and speech-to-text transcripts with or without timestamps, from YouTube or TikTok URLs. - **Batch Processing**: Transcribe up to 30 YouTube URLs concurrently with single merged text or multi-file ZIP downloads. - **AI Prompt Integration**: Package transcripts with custom prompts (Summary, Key Takeaways, Quiz, Action Items) and token estimation for ChatGPT, Claude, and NotebookLM. - **Transcript Search & Quote Finder**: Search spoken dialogue with exact timestamp jump deep-links and citation extraction. - **Transcript Noise Cleaner**: Remove sound cues (`[Music]`, `[Applause]`), timestamp noise, and merge broken caption lines. - **Academic Citations**: Generate formatted APA (7th), MLA (9th), Chicago (17th), and Harvard references with in-text timestamps. - **Multi-Script Converter**: Convert Hindi/Urdu dialogue into Nastaliq Urdu (اردو), Roman Urdu (English alphabet), or Devanagari Hindi. - **Developer REST API & MCP**: Public JSON endpoints and Model Context Protocol (MCP) servers for AI agents. ## MCP Server (Claude, Cursor, AI agents) - Local, free, no API key: `npx -y tubetotranscript-mcp` (npm: https://www.npmjs.com/package/tubetotranscript-mcp). Tools: get_youtube_transcript, get_available_languages, export_youtube_transcript (txt, srt, vtt). - Remote, no install, API key: https://www.tubetotranscript.com/mcp (Streamable HTTP). Tools: get_youtube_transcript, get_video_info. - Claude Desktop config: {"mcpServers": {"tubetotranscript": {"command": "npx", "args": ["-y", "tubetotranscript-mcp"]}}} - Server card: https://www.tubetotranscript.com/.well-known/mcp/server-card.json ## Pricing - Free web use: up to 10 transcript requests a day, no account needed. - Request pack: 250 requests for $0.99, one-time, never expires; used after the free daily allowance runs out. - Pro: $4.49/month or $39.99/year for 1,500 requests a month, shared between the website and the API. - Details: https://www.tubetotranscript.com/pricing ## Primary Tools & URLs - [Free YouTube Transcript Generator](https://www.tubetotranscript.com/): Instant transcript extraction. Also accepts TikTok video URLs (including vm.tiktok.com / vt.tiktok.com short links) through the same paste-a-link flow. Instagram and Facebook are not yet supported. - [YouTube Playlist Transcriber](https://www.tubetotranscript.com/youtube-playlist-transcript): Enumerate and batch transcribe playlists when the optional upstream provider is configured. - [Channel Speech Search](https://www.tubetotranscript.com/youtube-channel-transcript): Search channel captions when the optional upstream provider is configured. - [YouTube to Study Notes](https://www.tubetotranscript.com/youtube-to-study-notes): Generate Cornell notes and Anki flashcards from lecture videos. - [YouTube to Blog Post](https://www.tubetotranscript.com/youtube-to-blog-post): Repurpose video dialogue into SEO blog articles and newsletter issues. - [Transcript Translator (AI)](https://www.tubetotranscript.com/youtube-transcript-translator): AI-translate a transcript into nearly 60 languages (Pro plan), or switch between YouTube's own available caption tracks — timestamps preserved either way. - [Batch Transcript Processor](https://www.tubetotranscript.com/youtube-batch-transcript): Multi-URL bulk extraction. - [Transcript for ChatGPT & Claude](https://www.tubetotranscript.com/youtube-transcript-for-chatgpt): AI prompt packaging and context chunking. - [In-Transcript Search](https://www.tubetotranscript.com/youtube-transcript-search): Search spoken words with timestamps. - [YouTube Quote Finder](https://www.tubetotranscript.com/youtube-quote-finder): Find exact quotes with context. - [Caption Availability Checker](https://www.tubetotranscript.com/youtube-caption-checker): Inspect subtitle tracks. - [Word Count & Speech Speed](https://www.tubetotranscript.com/youtube-transcript-word-count): Calculate speech WPM and reading duration. - [Academic Citation Generator](https://www.tubetotranscript.com/youtube-transcript-citation-generator): APA, MLA, Chicago, Harvard video citations. - [Universal Transcript Cleaner](https://www.tubetotranscript.com/transcript-cleaner): Strip timestamps and sound noise. - [Roman Urdu & Urdu Converter](https://www.tubetotranscript.com/youtube-transcript-roman-urdu): Transliterate between Urdu, Roman Urdu & Hindi. - [YouTube to Markdown](https://www.tubetotranscript.com/youtube-transcript-to-markdown): Export Markdown with YAML frontmatter. - [YouTube to JSON](https://www.tubetotranscript.com/youtube-transcript-to-json): Export structured JSON data. - [YouTube to CSV](https://www.tubetotranscript.com/youtube-transcript-to-csv): Export spreadsheet timecodes. - [Developer REST API Docs](https://www.tubetotranscript.com/youtube-transcript-api): API endpoints and MCP server instructions. - [Browser Extension & Bookmarklet](https://www.tubetotranscript.com/youtube-transcript-extension): 1-click browser integration. ## API Documentation ### Single Video API `POST https://www.tubetotranscript.com/api/v1/transcript` `GET https://www.tubetotranscript.com/api/v1/transcript?url=https://youtube.com/watch?v=VIDEO_ID` Request Body: ```json { "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "language": "en" } ``` Response: ```json { "success": true, "data": { "video": { "videoId": "dQw4w9WgXcQ", "title": "Video Title", "channelName": "Channel Name", "durationMs": 213000 }, "language": { "code": "en", "name": "English", "isGenerated": false }, "segments": [ { "text": "Never gonna give you up", "startMs": 18000, "durationMs": 2500 } ] } } ``` ### Batch Video API `POST https://www.tubetotranscript.com/api/v1/batch` Request Body: ```json { "urls": [ "https://www.youtube.com/watch?v=VIDEO_1", "https://www.youtube.com/watch?v=VIDEO_2" ] } ``` ### Video, Search, Channel & Playlist Endpoints - `GET /api/v1/info?video_url={id_or_url}` — title, channel and available caption languages (free) - `GET /api/v1/video/metadata?video_url={id_or_url}&include=details,related` — description, links, views, likes, publish date, channel, tags, related videos - `GET /api/v1/search?q={query}&type=video|channel|playlist|movie&sort=relevance|views|upload_date|rating&upload_date=hour|today|week|month|year&duration=short|medium|long&features=hd,subtitles,4k,...` — YouTube search, ~20 results per page - `GET /api/v1/channel/resolve?channel={@handle_or_url}` — @handle or URL to UC… channel ID (free) - `GET /api/v1/channel/info?channel=...` — subscribers, video/view counts, join date, country, links, avatar, banner - `GET /api/v1/channel/search?channel=...&q={query}` — search a channel's videos by title - `GET /api/v1/channel/videos?channel=...&tab=videos|shorts|streams&sort=latest|popular|oldest` — paginated uploads - `GET /api/v1/channel/playlists?channel=...` — paginated playlists - `GET /api/v1/channel/posts?channel=...` — paginated community posts - `GET /api/v1/channel/sections?channel=...` — Home-tab shelves - `GET /api/v1/channel/latest?channel=...` — latest ~15 uploads via RSS (free) - `GET /api/v1/playlist/videos?playlist={url_or_id}` — paginated playlist listing (~100 per page) Paginated endpoints return `results`, `result_count`, `continuation_token` and `has_more`; pass `continuation={token}` for the next page. Endpoints marked free need an API key but don't use up your request allowance; the rest count as 1 request per page. `/api/v1/transcript` also accepts `language` as a priority list (`de,en,asr`; `asr` = auto-generated, `asr-hi` = auto-generated Hindi), `format=text` for a single string, and `include_timestamp=false`. ## AI Translation The Transcript Translator supports AI translation of a transcript into nearly 60 languages (Pro plan) (not limited to whichever caption tracks a video happens to have) — see https://www.tubetotranscript.com/youtube-transcript-translator. Separately, Urdu, Roman Urdu, and Hindi script transliteration (not translation) is available at https://www.tubetotranscript.com/youtube-transcript-roman-urdu.