YouTube Transcript, Subtitles & Metadata Scraper (AI Ready)
Pricing
$0.50 / 1,000 video transcripts
YouTube Transcript, Subtitles & Metadata Scraper (AI Ready)
Fast bulk YouTube transcript, timestamped subtitles, description chapters & video metadata extractor. Outputs clean plain text, LLM Markdown & timestamped segments.
Pricing
$0.50 / 1,000 video transcripts
Rating
0.0
(0)
Developer
Antonio Ramos Gómez
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does YouTube Transcript, Subtitles & Metadata Scraper API do?
YouTube Transcript, Subtitles & Metadata Scraper extracts clean full-text transcripts, millisecond-accurate subtitle segments, description chapters, and video metadata (title, channel, views, duration, language) from standard YouTube videos, youtu.be links, and YouTube Shorts in bulk — engineered specifically for AI agents, RAG pipelines, LLM summarization, n8n, Make, and MCP workflows.
Unlike brittle web-page caption scrapers that return 0 bytes due to YouTube web PoToken checks, this YouTube Transcript API uses native Innertube mobile player negotiation + automatic cloud proxy fallback for fast, reliable extraction.
- Ultra-low Pay-Per-Event pricing:
$0.50 per 1,000 videos($0.0005per video transcript). Zero platform compute charges. - 10,000 Free Video Transcripts / Month: Apify's
$5.00/monthfree plan credit covers 10,000 full YouTube transcripts every month at$0. - AI & RAG Ready Out of the Box: Outputs both a clean paragraph-ready
fullTranscriptstring (no XML/HTML entities, no duplicate rolling lines) AND optional timestampedsegments+ parsedchapters.
Why use this YouTube Transcript & Subtitles API?
YouTube's official Data API v3 restricts captions.download via OAuth ownership, meaning you cannot download transcripts for public third-party videos through Google's API. Meanwhile, standard Python youtube-transcript-api deployments on AWS, GCP, Vercel, or Railway get blocked with 429 or empty timedtext bodies.
Built for AI, Content & Research Teams
- RAG, Vector Databases & Knowledge Bases (Pinecone, Supabase, Qdrant, LangChain): Ingest entire YouTube channels, podcasts, or university lectures with clean text + exact timestamps for clickable video citations.
- AI Assistants via MCP (Claude, Cursor, VS Code, ChatGPT): Paste any YouTube URL into Claude or Cursor and get an instant deep summary, code walkthrough, or action-item checklist without watching a 90-minute video.
- Content Repurposing Automation (n8n, Make, Zapier): Automatically convert new YouTube uploads or Shorts into SEO blog posts, LinkedIn carousels, X/Twitter threads, and Substack newsletters.
- Competitor & Creator Trend Intelligence: Analyze hooks, sponsor reads, chapter pacing, and keyword density across top-performing videos in your niche.
What data can YouTube Transcript Scraper extract?
Each output item contains complete video metadata plus clean full-text and timestamped captions:
| Field Name | Type | Description |
|---|---|---|
videoId | string | 11-character YouTube Video ID (supports watch?v=, youtu.be/, and /shorts/). |
url | string | Canonical YouTube watch URL (https://www.youtube.com/watch?v=...). |
title | string | null | Full video title. |
channelName | string | null | Creator / channel display name. |
durationSeconds | integer | null | Exact video length in seconds. |
viewCount | integer | null | Total public view count at extraction time. |
languageCode | string | null | Selected subtitle track ISO code (en, es, de, fr, pt, etc.). |
availableLanguages | array<string> | All caption language codes available on the video. |
isAutoGenerated | boolean | true for YouTube ASR auto-captions, false for creator-uploaded subtitles. |
wordCount | integer | Total words in fullTranscript — useful for token estimation before LLM calls. |
fullTranscript | string | Clean, deduplicated plain-text transcript ready for LLMs, RAG, and search indexing. |
chapters | array<object> | Timestamped chapters parsed from description (timestamp, startSeconds, title). |
segments | array<object> | Optional array of { "startMs", "durationMs", "text" } subtitle cues (includeSegments: true). |
How to extract YouTube transcripts in bulk (Step-by-Step)
- Click Try for free to open YouTube Transcript, Subtitles & Metadata Scraper.
- Paste one or hundreds of YouTube URLs, Shorts links, or 11-char IDs into YouTube Video URLs or IDs (
videoUrls). - Set Preferred Subtitle Language (
preferredLanguage, defaulten— automatically falls back to the primary available language if your preferred language isn't present). - Toggle Include Timestamped Segments Array (
includeSegments) on for RAG timestamp citations, or off for compact LLM payloads. - Click Start and download your transcripts in JSON, CSV, Excel, or Markdown-ready text.
How much does it cost to scrape YouTube transcripts?
Priced on Pay-Per-Event ($0.50 / 1,000 videos) — among the lowest and most predictable rates on Apify Store, with compute 100% included:
| Videos Transcribed | Total Cost | Covered by Apify $5/mo Free Credit? |
|---|---|---|
| 100 videos (full channel) | $0.05 | Yes ($0) |
| 1,000 videos (RAG corpus) | $0.50 | Yes ($0) |
| 10,000 videos / month | $5.00 | 100% Free every month |
| 100,000 videos | $50.00 | $0.0005 per video — 100x cheaper than Whisper ASR |
Use with AI Assistants & MCP (Claude, Cursor, VS Code, ChatGPT)
Turn Claude Desktop, Cursor, Windsurf, or ChatGPT into an instant YouTube research assistant via Apify's remote MCP server:
{"mcpServers": {"youtube-transcripts": {"url": "https://mcp.apify.com/?actors=ramgoxxx/youtube-transcript-chapters-scraper","headers": {"Authorization": "Bearer YOUR_APIFY_API_TOKEN"}}}}
Ask your AI agent directly:
- "Extract the transcript of
https://www.youtube.com/watch?v=jNQXAC9IVRwand summarize key takeaways with timestamps." - "Pull transcripts for these 5 competitor tutorials and extract every tool they mention."
Input examples
Example 1: Clean LLM-Ready Transcripts (Compact Mode)
{"videoUrls": ["https://www.youtube.com/watch?v=jNQXAC9IVRw","https://youtu.be/dQw4w9WgXcQ"],"preferredLanguage": "en","includeSegments": false}
Example 2: Spanish Transcripts + Millisecond Segments for RAG Citations
{"videoUrls": ["jNQXAC9IVRw"],"preferredLanguage": "es","includeSegments": true}
Output example
[{"videoId": "jNQXAC9IVRw","url": "https://www.youtube.com/watch?v=jNQXAC9IVRw","title": "Me at the zoo","channelName": "jawed","durationSeconds": 19,"viewCount": 348912045,"languageCode": "en","availableLanguages": ["en", "es", "de", "fr"],"isAutoGenerated": false,"wordCount": 37,"fullTranscript": "All right, so here we are in front of the elephants, the cool thing about these guys is that they have really, really, really long trunks...","chapters": [],"segments": [{ "startMs": 1200, "durationMs": 3100, "text": "All right, so here we are in front of the elephants" }]}]
Use in n8n, Make, LangChain & Python
Python (apify-client)
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_API_TOKEN")run = client.actor("ramgoxxx/youtube-transcript-chapters-scraper").call(run_input={"videoUrls": ["https://www.youtube.com/watch?v=jNQXAC9IVRw"],"preferredLanguage": "en","includeSegments": True,})for video in client.dataset(run["defaultDatasetId"]).iterate_items():print(video["title"], f"({video['wordCount']} words)")print(video["fullTranscript"][:500])
n8n / Make HTTP Request (run-sync-get-dataset-items)
curl -X POST "https://api.apify.com/v2/acts/ramgoxxx~youtube-transcript-chapters-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_API_TOKEN" \-H "Content-Type: application/json" \-d '{"videoUrls":["https://www.youtube.com/watch?v=jNQXAC9IVRw"],"preferredLanguage":"en","includeSegments":false}'
Frequently Asked Questions & Disclaimer
Does this work on YouTube Shorts and auto-generated captions?
Yes. Standard videos (youtube.com/watch?v=...), shortened URLs (youtu.be/...), YouTube Shorts (youtube.com/shorts/...), manual creator subtitles, and automatic ASR captions are all supported.
What if a video has captions completely disabled by the uploader?
If a video has zero subtitle or auto-caption tracks enabled on YouTube, no empty garbage item is billed.
Legal, GDPR & Ethical Notice
Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or private location. They only extract publicly accessible captions and metadata published on public YouTube videos. Personal data is protected by the GDPR in the European Union and by other regulations worldwide. Always respect creator copyrights and YouTube's Terms of Service when republishing content. Open an issue in the Issues tab if you need support.