YouTube Transcript Scraper: Text + Timestamps avatar

YouTube Transcript Scraper: Text + Timestamps

Pricing

$2.50 / 1,000 transcript delivereds

Go to Apify Store
YouTube Transcript Scraper: Text + Timestamps

YouTube Transcript Scraper: Text + Timestamps

Download YouTube transcripts (captions/subtitles) from videos, Shorts and playlists as plain text plus timestamped segments for LLMs, summaries and search. Choose language and manual vs auto captions. Pay only per transcript delivered.

Pricing

$2.50 / 1,000 transcript delivereds

Rating

0.0

(0)

Developer

402xAgent

402xAgent

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

YouTube Transcript Scraper: captions and subtitles with timestamps

Get the transcript (captions) of any public YouTube video, Short or playlist as plain text and timestamped segments, ready for LLMs, search, summaries and subtitles.

Features

  • Input: watch / youtu.be / Shorts / live URLs, playlist URLs, or bare IDs. Playlists are expanded automatically (with retries).
  • Choose a preferred language plus fallback languages, and whether to prefer manual (human) or auto-generated captions.
  • Output per video: videoId, title, channel, language, isAutoGenerated, text, and segments [{start, duration, text}] (seconds).
  • Reliable: each attempt uses a fresh US residential proxy session, with automatic retries on blocks and network errors.
  • maxItems caps how many videos are processed.

Pricing

Pay per event: you are charged only for each transcript delivered (transcript event). Videos without captions, unavailable videos and failures return a free row with status and reason.

Input example

{ "urls": ["https://www.youtube.com/watch?v=aircAruvnKk", "https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi"],
"preferredLanguage": "en", "fallbackLanguages": [], "captionPreference": "manual", "maxItems": 50 }

Output example

{ "videoId": "aircAruvnKk", "status": "success", "title": "But what is a neural network?", "channel": "3Blue1Brown",
"language": "en", "isAutoGenerated": false, "text": "This is a 3. It's sloppily written...",
"segments": [{ "start": 4.22, "duration": 3.1, "text": "This is a 3." }] }

Non-success rows: status is no_captions (reason no_captions_available, live_stream_without_captions, requested_language_not_available) or failed (e.g. blocked, network_error, video_error, unrecognized_url). availableLanguages lists the tracks a video has.

Notes

  • Only public captions are fetched; no login, no audio download or speech-to-text.
  • Live streams usually have no captions until they end.
  • Playlist expansion reads the first page of the playlist (up to ~100 videos).

Use cases

  • Summarize YouTube videos with AI: feed the transcript text to an LLM for summaries, notes or Q&A.
  • Search and research: make video content searchable across channels and playlists.
  • Subtitles and repurposing: reuse timestamped segments for clips, blog posts or translations.

FAQ

How do I get the transcript of a YouTube video? Paste the video, Shorts or playlist URL (or a bare video ID) into urls and run. Each video becomes one dataset item with text and segments.

Does it work with auto-generated captions? Yes. Set captionPreference to prefer manual or auto-generated captions; the isAutoGenerated field tells you which you got.

Can I pick the transcript language? Yes, with preferredLanguage and fallbackLanguages. availableLanguages lists what each video has.

What if a video has no captions? You get a free row with status: "no_captions". There is no speech-to-text.

What does it cost? $0.0025 per transcript delivered ($2.50 per 1,000). Videos without captions and failures are free.

Made by withgrokbot.