YouTube Transcript Scraper: Chapter Extractor
Pricing
Pay per usage
YouTube Transcript Scraper: Chapter Extractor
A powerful automation actor that extracts full transcripts from YouTube videos with timestamps and speaker data. It enables content analysis, keyword extraction, translation, and SEO research, helping creators and analysts access precise, structured video text data instantly.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
SimpleAPI
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
YouTube Transcript Scraper — Captions, Chapters and AI Summaries
YouTube Transcript Scraper: Chapter Extractor extracts YouTube video transcripts and slices them by real chapter markers — official creator-defined chapters first, with a description-timestamp fallback when none exist. Coverage is honestly partial: chapters are a creator-optional feature, so when a video has none, the Actor reports zero chapters rather than inventing a chapter grid. It's built for content researchers, course creators repurposing video content, and anyone who needs a video's transcript organized by topic, not just a wall of text.
What is YouTube Transcript Scraper: Chapter Extractor?
YouTube Transcript Scraper: Chapter Extractor is an Apify Actor that pulls a video's transcript and, optionally, its real chapter structure, mapping every transcript line into its correct chapter window. Key capabilities:
- Extract transcripts for one or more videos by URL, in plain text or timestamped style
- Include auto-generated English captions as a fallback when no manual transcript exists, and optionally include non-English transcripts
- Detect real chapter markers — official YouTube chapter data first, with an optional description-timestamp fallback parser — and slice the transcript per chapter
- Optionally add a one-line AI summary per detected chapter, using your own AI provider key
- Honest, never-fabricated chapter coverage: a video with no chapters reports
chapterCount: 0andchapterOrigin: "none", not an invented chapter grid
What data can I extract with YouTube Transcript Scraper: Chapter Extractor?
| Field | Example Value | Use Case |
|---|---|---|
id / url / input | video ID / video link / your original input value | Identify the video |
transcripts | full transcript text (all available languages) | The core transcript output |
chapterOrigin | "official" | Confirm whether chapters came from real creator markers or the description fallback (or "none") |
chapterCount / chapterTitles | 4 / ["Intro", "Setup", "Demo", "Wrap-up"] | See how many real chapters were detected and their titles |
chapters | [{"title": "Setup", "start": 45, "end": 210, "text": "...", "aiSummary": null}] | Full per-chapter data: title, real time bounds, and its transcript slice |
scrapedAt | "2026-07-26T14:02:11Z" | Record when this transcript was collected |
Real chapter detection, never fabricated
detectChapters extracts YouTube's own creator-defined chapter markers (title plus real start/end time) when they exist. chapterSource controls the strategy: official uses only real creator-defined markers, descriptionFallback only parses "00:00 Intro"-style timestamp lines from the video description, and both (default) tries official markers first and only falls back to description parsing when none exist. Coverage is genuinely partial — chapters are a creator-optional YouTube feature, so many videos simply have none. The Actor never invents a chapter grid to fill that gap: a video with no chapters reports chapterCount: 0 and chapterOrigin: "none", and the full transcript is still returned.
Optional AI chapter summaries
summarizeChapters is a separate, fully optional layer: only when it's on and a valid AI provider key is supplied (via chapterAiApiKey or a matching provider environment variable), each detected chapter gets a one-line AI summary of its own transcript slice, added as aiSummary. With no key available, aiSummary is simply left null — every other chapter and transcript field is unaffected.
Why not build this yourself?
YouTube's official Data API v3 doesn't expose video transcripts or chapter markers to third-party developers at all — captions.download requires special OAuth permissions rarely granted, and chapter data has no public API surface whatsoever. Building an equivalent tool yourself means reverse-engineering transcript retrieval, correctly falling back between official chapter markers and description-timestamp parsing, and mapping transcript lines into the correct chapter windows. All of that is already implemented in this Actor's source.
How to use data extracted from YouTube?
Content research and repurposing
Pull a video's chapters array to quickly find and extract the specific topic segment you need, using each chapter's own transcript slice instead of scrubbing through a full-length transcript manually.
Course creators and educational content teams
Extract chapter-sliced transcripts from educational videos to build structured lesson notes or quiz content per topic segment, using chapterTitles as ready-made section headers.
Market and competitive content research
Compare chapterTitles structure across competitor videos in the same topic to see how they organize content, informing your own video's chapter/segment planning.
AI agents and automated pipelines
An agent can call this Actor to pull chapter-sliced transcripts as structured input for a downstream summarization or content-repurposing pipeline, using aiSummary (when enabled) as a quick per-chapter preview before deeper processing.
🔼 Input sample
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
videoUrls | No | array | YouTube video URLs to extract transcripts from | ["https://www.youtube.com/watch?v=4KbrxIpQgkM"] |
includeAutoCaptions | No | boolean | Include auto-generated English captions as a fallback | true (default) |
includeNonEnglishCaptions | No | boolean | Include transcripts in non-English languages | false (default) |
transcriptStyle | No | string (enum) | timestamp or text (default) | "text" |
detectChapters | No | boolean | Extract real chapter markers and slice the transcript per chapter | true (default) |
chapterSource | No | string (enum) | official, descriptionFallback, or both (default) | "both" |
summarizeChapters | No | boolean | Add a one-line AI summary per chapter | false (default) |
chapterAiModel | No | string (enum) | AI provider/model for chapter summaries | "claude-haiku-4-5" (default) |
chapterAiApiKey | No | string (secret) | Your own AI provider API key; falls back to a provider env var | "(your API key)" |
proxyConfiguration | No | object | Optional proxy; residential by default when needed | {"useApifyProxy": true} |
{"videoUrls": ["https://www.youtube.com/watch?v=4KbrxIpQgkM"],"transcriptStyle": "timestamp","detectChapters": true,"chapterSource": "both"}
Common pitfall: chapterCount: 0 and chapterOrigin: "none" on a video is not an error — it honestly means that video has no creator-defined chapters and no parseable description timestamps, not that the extraction failed.
🔽 Output sample
Output is typed, normalized JSON — one row per video (exportable as JSON, CSV, or Excel).
{"id": "4KbrxIpQgkM","url": "https://www.youtube.com/watch?v=4KbrxIpQgkM","input": "https://www.youtube.com/watch?v=4KbrxIpQgkM","chapterOrigin": "official","chapterCount": 4,"chapterTitles": ["Intro", "Setup", "Demo", "Wrap-up"],"chapters": [{"title": "Setup","start": 45,"end": 210,"text": "Now let's walk through the setup process...","aiSummary": null}],"transcripts": [{"language": "en", "text": "Full transcript text here..."}],"scrapedAt": "2026-07-26T14:02:11Z"}
All 9 fields shown above are the Actor's real dataset columns — this is the full output shape, not a subset.
How do you filter and target specific videos?
This is a direct-lookup tool rather than a discovery/directory search — videoUrls sets exactly which videos to process, one row back per video. There's no category or keyword filter to teach here. The real configuration choices are chapterSource (which chapter-detection strategy to trust) and transcriptStyle (timestamped versus plain text), plus the opt-in summarizeChapters layer for AI summaries.
{ "videoUrls": ["https://www.youtube.com/watch?v=4KbrxIpQgkM"], "chapterSource": "official", "summarizeChapters": true, "chapterAiApiKey": "(your key)" }
{ "videoUrls": ["VIDEO_URL_1", "VIDEO_URL_2"], "includeNonEnglishCaptions": true, "transcriptStyle": "timestamp" }
{ "videoUrls": ["https://www.youtube.com/watch?v=4KbrxIpQgkM"], "detectChapters": false }
▶️ Want to try other YouTube scrapers?
| Scraper Name | What it extracts |
|---|---|
| YouTube Scraper: Channel, Playlist & Community Data Insights | Full channel/playlist expansion, including bulk transcript downloads |
| YouTube Comments Scraper With Commenter Lead Enrichment | Video comments with commenter lead data |
| YouTube Channel Finder: Influencer Category (Nano/Micro/Macro) | Channel discovery with subscriber-tier classification |
| Instagram Hashtag Scraper: Content Planner | Comparable content-topic research for Instagram |
| Reddit Comment Scraper With Author Profile | Comparable thread/text-content extraction for Reddit |
| Google Trends Scraper: Rising & Breakout Keywords | Comparable keyword/topic research |
How to extract YouTube data programmatically
Every run is a standard Apify Actor call — one API request with your token, JSON input, JSON results back.
Python example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_API_TOKEN>")run_input = {"videoUrls": ["https://www.youtube.com/watch?v=4KbrxIpQgkM"],"detectChapters": True,"chapterSource": "both",}run = client.actor("<YOUR_USERNAME>/youtube-transcript-scraper-chapter-extractor").call(run_input=run_input)for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["id"], row["chapterCount"], row["chapterTitles"])
Export to spreadsheets or CRM
Export the dataset directly as CSV or Excel, then map id/url to a content-library spreadsheet and chapterTitles/transcripts to content-organization columns for repurposing.
Is it legal to scrape YouTube transcripts?
Video transcripts are content data tied to the video, not personal data about individuals in most cases — this is closer to public content data than personal contact data. Public YouTube videos and their transcripts are visible to any logged-out visitor. Consult legal counsel for commercial applications involving bulk automated querying of YouTube's services.
❓ FAQ
Does every video have chapters?
No — chapters are a creator-optional YouTube feature. When a video has none, this Actor reports chapterCount: 0 and chapterOrigin: "none" honestly rather than inventing a chapter structure. The full transcript is still returned regardless.
How accurate is the description-timestamp fallback?
It's a real parser for "00:00 Intro"-style timestamp lines in the video description, only used (in both mode) when no official chapter markers exist, or exclusively when chapterSource is set to descriptionFallback.
How accurate are the AI chapter summaries?
They're genuine LLM-generated one-line summaries of each chapter's real transcript text, but entirely optional — requiring your own API key — and left null when no key is available or the summary call fails.
Can I get transcripts in languages other than English?
Yes — enable includeNonEnglishCaptions to include non-English transcripts alongside (or instead of) English ones.
Do I need a YouTube account to use this?
No — the Actor reads YouTube's public transcript and chapter data, requiring no login.
Does YouTube Transcript Scraper: Chapter Extractor work with Claude, ChatGPT, and AI agent frameworks?
It has no dedicated MCP server registration in this Actor's current setup, but it is callable as a standard Apify API endpoint by any agent framework that can make an authenticated HTTP request and parse JSON.
How does this compare to other YouTube transcript scrapers?
No independently verifiable competitor listing could be confirmed at the time of writing, so no specific comparison is made here. This Actor's distinguishing feature is real chapter detection with honest zero-coverage reporting, plus optional AI chapter summaries.
What happens if a video has no transcript at all?
The row is still returned with the video's ID/URL, but the transcripts field will reflect the honest absence of caption data rather than a fabricated transcript.
Conclusion
YouTube Transcript Scraper: Chapter Extractor turns a raw video transcript into a chapter-organized, ready-to-use dataset — real chapter detection with honest zero-coverage reporting when a video has none, plus optional AI-generated chapter summaries. It's built for content researchers, course creators, and anyone who needs a transcript organized by topic. Start a run with your video URLs to get transcripts and chapters back in one pass.