YouTube Transcript Scraper — Captions & Subtitles to Text
Pricing
from $0.0025 / transcript scraped
YouTube Transcript Scraper — Captions & Subtitles to Text
Get the full transcript of any YouTube video: clean text plus timestamped segments, in any available language (auto-translation supported). Paste video URLs and export as JSON, CSV or Excel — perfect for summaries, subtitles, research and LLMs.
Pricing
from $0.0025 / transcript scraped
Rating
0.0
(0)
Developer
hiper soft
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Get the full transcript of any YouTube video — clean, readable text plus timestamped segments — in any available language, with auto-translation when your language isn't published natively. Paste video links and export to JSON, CSV or Excel, or pull straight from the API.
Perfect for video summaries, content repurposing, subtitles and captions, SEO, research, accessibility, and feeding transcripts to LLMs and RAG pipelines.
What you get
One row per video:
| Field | Description |
|---|---|
videoId / videoUrl / videoTitle | The video |
hasTranscript | Whether a transcript was found |
language / langName | Transcript language |
isAutoGenerated | Auto (ASR) captions vs. human-written |
isAutoTranslated | Whether it was auto-translated to your language |
segmentCount | Number of caption lines |
durationSeconds | Length covered by the transcript |
fullText | The complete transcript as one clean string |
segments | Timestamped lines: { start, end, dur, text } (when timestamps are enabled) |
availableLanguages | Languages offered for the video (when no transcript in your language) |
collectedAt | When the row was scraped |
How to use
1. Add videos
{"videoUrls": ["https://www.youtube.com/watch?v=arj7oStGLkU","https://youtu.be/dQw4w9WgXcQ"],"language": "en","includeTimestamps": true,"maxItems": 200}
2. Options
- Language — a 2-letter code (
en,es,fr,de,pt,hi,ar,ja, …). If the video has no native track in that language, it's auto-translated. Useautofor the video's default track. - Include timestamped segments — add per-line
{start, end, text}alongside the full text. - Max videos — cap the number processed (0 = no limit).
Example output
{"videoId": "arj7oStGLkU","videoTitle": "Inside the Mind of a Master Procrastinator | Tim Urban | TED","hasTranscript": true,"language": "en","isAutoGenerated": false,"isAutoTranslated": false,"segmentCount": 315,"durationSeconds": 842.6,"fullText": "So in college, I was a government major, which means I had to write a lot of papers…","segments": [{ "start": 12.645, "end": 14.015, "dur": 1.37, "text": "So in college," }],"collectedAt": "2026-09-20T09:00:00.000Z"}
Common use cases
- Summaries & repurposing — turn talks and tutorials into articles, notes or threads.
- Subtitles & captions — export text for translation, editing or reuse.
- SEO & content — mine video transcripts for keywords and quotes.
- Research & analysis — search across many videos' transcripts at once.
- LLMs & RAG — feed clean transcripts into models and knowledge bases.
Frequently asked questions
Do I need any login, account or key? No. Just paste video links and run.
Which languages are supported? Whatever the video offers, plus auto-translation into your chosen language when a native track isn't available.
Does it work for auto-generated captions? Yes — both human-written and auto-generated (ASR) captions are returned; isAutoGenerated tells you which.
What if a video has captions disabled? The row is returned with hasTranscript: false — the run never fails.
Can I process many videos at once? Yes — list multiple videos and set Max videos.
What format is the data? A flat table you can export as JSON, CSV or Excel, or fetch from the Apify API.
Related scrapers
Building a YouTube toolkit? Pair this with our YouTube comments scraper, YouTube channel scraper and YouTube search scraper — all with the same clean, one-row-per-item output.