YouTube Transcript API - RAG Chapters, Summary & Chunks avatar

YouTube Transcript API - RAG Chapters, Summary & Chunks

Pricing

from $7.00 / 1,000 transcript extracteds

Go to Apify Store
YouTube Transcript API - RAG Chapters, Summary & Chunks

YouTube Transcript API - RAG Chapters, Summary & Chunks

Turn any YouTube video, playlist, or channel into RAG-ready data: clean transcript, timestamped segments, AI chapters, summary, key quotes, and embeddings-ready chunks. Built for AI agents and RAG pipelines.

Pricing

from $7.00 / 1,000 transcript extracteds

Rating

5.0

(1)

Developer

WebDataLabs

WebDataLabs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Turn any YouTube video, playlist, or channel into RAG-ready data in one call — a clean transcript, timestamped segments, AI-generated chapters and summary, key quotes, and embeddings-ready chunks. Built for AI agents, RAG pipelines, researchers, and content teams.

Apify Actor Maintained License: MIT

Most YouTube transcript scrapers stop at raw captions. This one ships the structured layer your vector database and LLM actually need — chapters, summaries, key quotes, and token-bounded chunks with timestamps — so you can go straight from a URL to a knowledge base.

🆚 Why choose this YouTube Transcript API?

FeatureThis ActorTypical transcript scrapers
Clean transcript (filler/sound-cues removed)⚠️ Sometimes
Timestamped segments
AI chapters (timestamped)
AI summary
Key quotes (timestamped)
Embeddings-ready chunks (token-bounded + timestamps)
Video, playlist & channel input (auto-detected)⚠️ Often video-only
SRT / VTT / JSON / plain-text / chunks output⚠️ Limited
100+ languages⚠️ Varies
MCP-ready for AI agents

✨ Key features

  • 🧱 Embeddings-ready chunks — deterministic, token-bounded (cl100k_base) chunks, each carrying startTime/endTime so retrieval links back to the exact moment in the video.
  • 🤖 AI structuring — chapters, a concise summary, and timestamped key quotes generated with a fast, low-cost model.
  • 🔗 Any URL — paste a video, a playlist, or a whole channel; playlists and channels auto-expand into their videos (capped by maxVideos).
  • 🧹 LLM-optimized transcript — sound cues ([Music], [Applause]) and speaker markers stripped for cleaner embeddings.
  • 🌍 100+ languages — pick a preferred caption language; falls back to the best available track and reports the actual language used.
  • 📄 Multiple formatstext, json (timestamped segments), srt, vtt, and chunks — choose what you need.
  • 🔁 Incremental mode — skip already-processed videos on scheduled re-runs.
  • ⚡ Fast & lightweight — pure HTTP extraction (no browser), with residential proxy support for reliability.

🎯 Use cases

RAG pipelines & knowledge bases

Ingest a creator's entire channel into a vector store with chunks that are already sized and timestamped.

{
"urls": ["https://www.youtube.com/@channelname"],
"outputFormats": ["chunks", "text"],
"chunkSize": 512,
"chunkOverlap": 64,
"maxVideos": 100
}

AI agents (MCP)

Give an agent a tool that returns chunked, timestamped transcript context for any video.

{
"urls": ["https://www.youtube.com/watch?v=VIDEO_ID"],
"includeChapters": true,
"includeSummary": true,
"includeKeyQuotes": true
}

Research & content repurposing

Searchable archives, citable quotes with timestamps, and chapter outlines for long talks and podcasts.

{
"urls": ["https://www.youtube.com/playlist?list=PLAYLIST_ID"],
"outputFormats": ["text", "srt"],
"includeSummary": true
}

🚀 Quick start

  1. Input — add one or more YouTube URLs (video, playlist, or channel) or bare video IDs.
  2. Run — the actor extracts captions, structures them with AI, and chunks them.
  3. Export — pull results as JSON/CSV via the API or dataset, or feed the chunks straight into your embedding pipeline.

⚙️ Input

FieldTypeDescription
urls (required)arrayVideo / playlist / channel URLs, or bare 11-char video IDs
languagestringPreferred caption language (ISO code, default en); falls back to the best available
outputFormatsarrayAny of text, json, srt, vtt, chunks (default text, json, chunks)
includeChaptersbooleanGenerate timestamped chapters with AI (default true)
includeSummarybooleanGenerate a concise summary with AI (default true)
includeKeyQuotesbooleanExtract timestamped key quotes with AI (default true)
chunkSizeintegerTarget tokens per chunk (default 512)
chunkOverlapintegerToken overlap between chunks (default 64)
maxVideosintegerCap on videos per playlist/channel (default 50)
incrementalModebooleanSkip videos processed in previous runs (default false)
proxyConfigurationobjectProxy settings — residential recommended (default)

📤 Output

One flat record per video:

{
"videoId": "UF8uR6Z6KLc",
"url": "https://www.youtube.com/watch?v=UF8uR6Z6KLc",
"status": "ok",
"title": "Steve Jobs' 2005 Stanford Commencement Address",
"channel": { "id": "UC-EnprmCZ3OXyAoG7vjVNCA", "name": "Stanford", "url": "https://www.youtube.com/channel/UC-EnprmCZ3OXyAoG7vjVNCA" },
"duration": 904,
"views": 48682246,
"publishedAt": "Mar 8, 2008",
"language": "en",
"transcript": "Thank you. I'm honored to be with you today...",
"segments": [{ "text": "Thank you.", "start": 8.96, "end": 10.2 }],
"chapters": [{ "title": "Connecting the Dots", "start": 60.76, "end": 390.84 }],
"summary": "Steve Jobs shares three stories about life, loss, and following your intuition...",
"keyQuotes": [{ "quote": "Stay hungry, stay foolish.", "timestamp": 841.68 }],
"chunks": [{ "text": "Thank you. I'm honored...", "startTime": 8.96, "endTime": 195.56, "tokens": 499 }],
"srt": null,
"vtt": null,
"scrapedAt": "2026-06-29T17:36:59.000Z",
"schemaVersion": "1.0"
}

Field notes

  • statusok, no_transcript (captions disabled / none available), or error (video unavailable). statusDetail explains non-ok results.
  • transcript / segments / srt / vtt are populated only when their format is selected in outputFormats.
  • chapters / summary / keyQuotes are populated when the matching AI toggle is on.
  • chunks carry startTime/endTime and an approximate tokens count (cl100k_base, the OpenAI embeddings tokenizer).

💰 Pricing (pay-per-event)

  • transcript-extracted — charged per video that yields a transcript.
  • ai-structured — charged per video when chapters/summary/quotes are generated.

You pay only for videos that produce output — caption-less or unavailable videos are reported and not billed. See current per-event prices in the Apify Console when you start a run.

🔍 How it works

The actor extracts captions over plain HTTP using maintained innertube clients and adds the structured layer on top — no browser, so it's fast and cheap. YouTube intermittently blocks datacenter IPs, so the actor routes its requests through residential proxies by default for reliable results.

❓ FAQ

Which languages are supported? 100+. Set language to your preferred ISO code; if that track isn't available the actor uses the best alternative and reports the actual language in the language field.

Why do some videos return no_transcript? The uploader disabled captions or no caption track exists. These are reported (not billed).

Does it need proxies? Residential proxies are the default and recommended — YouTube throttles datacenter IPs, so direct/datacenter runs are unreliable.

Can it process an entire channel or playlist? Yes — paste the channel or playlist URL and it auto-expands into individual videos, capped by maxVideos.

Is it good for RAG / embeddings? That's the point: chunks are token-bounded and timestamped, and transcript is cleaned of filler so embeddings stay focused.

Is this legal? It processes public, non-personal video captions. YouTube's Terms discourage scraping; use responsibly and at your own discretion.

Can AI agents call it? Yes — it's exposed via the Apify MCP server, so agents can discover and run it as a tool inside RAG workflows.

  • YouTube Comments Harvester — scrape and analyze YouTube comments
  • YouTube Shorts Scraper — extract Shorts metadata and analytics
  • Reddit Scraper Pro — posts, comments, and sentiment analysis

Roadmap: caption translation (targetLanguage), Whisper speech-to-text fallback for caption-less videos, and TikTok + podcast support.