YouTube Transcript Scraper - Bulk, No Browser avatar

YouTube Transcript Scraper - Bulk, No Browser

Pricing

from $2.50 / 1,000 transcript delivereds

Go to Apify Store
YouTube Transcript Scraper - Bulk, No Browser

YouTube Transcript Scraper - Bulk, No Browser

Transcripts from YouTube videos, playlists and channels, charged only when a transcript is actually delivered. No browser, so a run finishes in seconds. Benchmarked 45/45 videos with zero failures. Every video that cannot be fetched says exactly why instead of disappearing from the output.

Pricing

from $2.50 / 1,000 transcript delivereds

Rating

0.0

(0)

Developer

Halil Erdogan

Halil Erdogan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

YouTube Transcript Scraper — bulk, no browser, $2.50 per 1,000

Pull transcripts from YouTube videos, playlists and channels. Paste anything — watch links, youtu.be links, Shorts, playlist URLs, @channel handles, or bare video IDs — and get back clean text, timestamped segments, or an SRT file.

Price

$0.0025 per transcript delivered ($2.50 per 1,000), plus $0.001 per run. You are charged only for rows that contain a transcript. A video with captions disabled, an age gate or a region block still gets a row that explains what happened — and that row is free.

There is no platform-usage surcharge on top: the price above is the whole price.

Measured, not claimed

Benchmark on 2026-09-05 (build 0.2.5), default settings: three channels (TED, Veritasium, BBC News), 45 videos → 45 transcripts, 0 failures, 24 seconds. Median transcript 2,403 words; 22 auto-generated and 23 human-written; 44 English and 1 Arabic.

Two notes on that number:

  • Keep the default settings. They are what the benchmark was measured on. Changing them to cut cost will cut the success rate with it.
  • 45 videos is a benchmark, not a guarantee. Captions the uploader disabled, age-gated videos and region blocks will still fail — and when they do, the row tells you which one it was.

What makes it different

No browser. Transcripts come from YouTube's own caption endpoints over plain HTTP. There is no Chrome instance to start, so a run finishes in seconds instead of minutes and costs a fraction of a browser-based scraper. That saving is what makes the price possible.

Nothing fails silently. Give it 500 URLs and some of them will have captions disabled, be age-gated, or be region-blocked. Those come back as rows that say exactly which problem it was — you never have to diff your input against your output to work out what went missing.

What happenedWhat you get in the row
Captions turned off by the uploaderthe uploader disabled captions on this video
No track in your languagesno caption track matched your language settings
Private, deleted or region blockedthe video is private, deleted or region blocked
Age restrictedthe video is age restricted and needs a signed-in session
YouTube throttled the requestsplit the batch into smaller runs

Title, channel and duration come free. They are read from the same response as the caption list, so there is no extra request and no extra cost per video.

Input

FieldNotes
YouTube URLsVideos, playlists, channels or bare IDs, one per line
Preferred languagesIn order, e.g. en, es, tr. First one the video has wins
Accept auto-generated captionsOn by default — most videos have nothing else
Translate if missingAsk YouTube to translate a track it does have
Output formatPlain text · timestamped segments · SRT · all three
Include title, channel, durationOn by default; costs nothing extra
Max videos per playlist/channelSingle video URLs are never limited
Parallel requests10 is a good balance
ProxyLeave on the default — it is what the benchmark was measured on

Output

videoId · url · title · channel · language · languageName · isGenerated · segmentCount · wordCount · durationSeconds · ok · error, plus text, segments and/or srt depending on the format you chose.

Plain text is what you feed an LLM or a RAG pipeline; segments keep the caption cue timestamps; SRT is a ready subtitle file.

Notes

Most transcripts are machine-generated. YouTube auto-captions the majority of videos and few uploaders write their own. Auto-captions have no punctuation and misread names. If you need human-written captions only, turn off Accept auto-generated captions — and expect most videos to return nothing.

Very large batches can still hit limits. If a long run starts returning block errors partway through, split it into smaller runs. The error rows tell you the moment it happens, and you are not charged for them.

Timestamps are the caption track's own. They are accurate to the caption cue, not to the word.