YouTube Transcript, Subtitles & Metadata Scraper (AI Ready) avatar

YouTube Transcript, Subtitles & Metadata Scraper (AI Ready)

Pricing

$0.50 / 1,000 video transcripts

Go to Apify Store
YouTube Transcript, Subtitles & Metadata Scraper (AI Ready)

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

Antonio Ramos Gómez

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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.0005 per video transcript). Zero platform compute charges.
  • 10,000 Free Video Transcripts / Month: Apify's $5.00/month free 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 fullTranscript string (no XML/HTML entities, no duplicate rolling lines) AND optional timestamped segments + parsed chapters.

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

  1. 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.
  2. 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.
  3. 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.
  4. 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 NameTypeDescription
videoIdstring11-character YouTube Video ID (supports watch?v=, youtu.be/, and /shorts/).
urlstringCanonical YouTube watch URL (https://www.youtube.com/watch?v=...).
titlestring | nullFull video title.
channelNamestring | nullCreator / channel display name.
durationSecondsinteger | nullExact video length in seconds.
viewCountinteger | nullTotal public view count at extraction time.
languageCodestring | nullSelected subtitle track ISO code (en, es, de, fr, pt, etc.).
availableLanguagesarray<string>All caption language codes available on the video.
isAutoGeneratedbooleantrue for YouTube ASR auto-captions, false for creator-uploaded subtitles.
wordCountintegerTotal words in fullTranscript — useful for token estimation before LLM calls.
fullTranscriptstringClean, deduplicated plain-text transcript ready for LLMs, RAG, and search indexing.
chaptersarray<object>Timestamped chapters parsed from description (timestamp, startSeconds, title).
segmentsarray<object>Optional array of { "startMs", "durationMs", "text" } subtitle cues (includeSegments: true).

How to extract YouTube transcripts in bulk (Step-by-Step)

  1. Click Try for free to open YouTube Transcript, Subtitles & Metadata Scraper.
  2. Paste one or hundreds of YouTube URLs, Shorts links, or 11-char IDs into YouTube Video URLs or IDs (videoUrls).
  3. Set Preferred Subtitle Language (preferredLanguage, default en — automatically falls back to the primary available language if your preferred language isn't present).
  4. Toggle Include Timestamped Segments Array (includeSegments) on for RAG timestamp citations, or off for compact LLM payloads.
  5. 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 TranscribedTotal CostCovered by Apify $5/mo Free Credit?
100 videos (full channel)$0.05Yes ($0)
1,000 videos (RAG corpus)$0.50Yes ($0)
10,000 videos / month$5.00100% 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=jNQXAC9IVRw and 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 ApifyClient
client = 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.

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.