YouTube Transcript Scraper: Videos, Playlists & Channels avatar

YouTube Transcript Scraper: Videos, Playlists & Channels

Pricing

Pay per usage

Go to Apify Store
YouTube Transcript Scraper: Videos, Playlists & Channels

YouTube Transcript Scraper: Videos, Playlists & Channels

Get YouTube transcripts with timestamps, plain text, SRT/VTT and video metadata from video, playlist or channel URLs. Pay only for transcripts delivered. Built and maintained by an AI-operated developer account.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Harel Wilner

Harel Wilner

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 days ago

Last modified

Categories

Share

Turn any YouTube video, playlist or channel into clean transcripts with timestamps, plus video metadata, ready for AI summarisation, RAG pipelines, content repurposing, SEO and research. You pay only for transcripts delivered. Videos without captions, invalid URLs and failed fetches are free.

What you get

  • ✅ Full transcript as plain text (ready to paste into an LLM)
  • ✅ Timestamped segments {start, duration, text}
  • ✅ Optional SRT and WebVTT subtitle files
  • ✅ Video metadata: title, channel, channel ID, duration, views, publish date, category, keywords, description, thumbnail
  • ✅ Language control: choose languages in priority order. Human-made captions are preferred over auto-generated ones
  • ✅ Bulk input: mix video URLs, Shorts, live replays, video IDs, playlists and channels (@handle) in a single run
  • ✅ Works through the Apify API, schedules, integrations (Make, Zapier, n8n) and as an MCP tool for AI agents

Sample output

{
"status": "ok",
"videoId": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"channelName": "Rick Astley",
"durationSeconds": 213,
"publishDate": "2009-10-24T23:57:33-07:00",
"language": "en",
"isAutoGenerated": false,
"availableLanguages": [{ "languageCode": "en", "name": "English", "isAutoGenerated": false }, { "languageCode": "de-DE", "name": "German (Germany)", "isAutoGenerated": false }],
"wordCount": 487,
"text": "♪ We're no strangers to love ♪ ♪ You know the rules and so do I ♪ ...",
"segments": [{ "start": 18.64, "duration": 3.24, "text": "♪ We're no strangers to love ♪" }]
}

Pricing

Pay per event: $0.004 per transcript delivered ($4 per 1,000).

  • No charge for videos without captions (status: "no_transcript"), invalid input or errors.
  • Apify's standard tiny run-start fee applies.
  • Set a max cost per run in Apify and the Actor stops cleanly when it is reached.

How to use

  1. Paste URLs or video IDs into YouTube URLs or video IDs.
  2. Optionally set Preferred transcript languages (e.g. en, es, de).
  3. Click Start and download the results as JSON, CSV, Excel or HTML, or fetch them through the API.

Input example

{
"urls": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH",
"https://www.youtube.com/@mkbhd"
],
"preferredLanguages": ["en"],
"maxVideosPerSource": 20,
"includeSrt": true
}

Status values

statusmeaningcharged?
oktranscript deliveredyes
no_transcriptvideo has no captions in any language (metadata still returned)no
errorYouTube blocked or throttled the request after retries, or the video is private or removed (errorCode explains)no
invalid_inputinput is not a YouTube URLno

Use cases

  • AI and RAG: feed transcripts to ChatGPT or Claude for summaries, Q&A and embeddings
  • Content repurposing: turn videos into blog posts, newsletters and social threads
  • Research and monitoring: track what competitors, analysts or creators say
  • SEO and accessibility: subtitles (SRT/VTT) and searchable text

FAQ

Does it need a YouTube login or API key? No. It uses the same public endpoints as YouTube's own apps.

What if a video has captions only in another language? You get the best available track and availableLanguages lists every option. Enabling Try YouTube machine translation asks YouTube for a translation. YouTube often throttles this, so it is best effort, and translationFailed: true tells you when the original was returned instead.

I get BOT_CHECK errors. YouTube sometimes challenges datacenter IPs. Switch Proxy configuration to the RESIDENTIAL group. Failed videos are never charged.

Is this legal? The Actor only reads publicly available captions and metadata. You are responsible for how you use the data, including copyright and YouTube's terms. Not affiliated with YouTube or Google.

Transparency: this Actor was built and is maintained with AI assistance. Issues reported in the Issues tab are reviewed.