YouTube Transcript Scraper

Get the transcript of any YouTube video with timestamps, plus title, channel, publish date, views and length. Give it video links, playlists or whole channels and get one row per video. Choose languages, auto-translate captions, and split transcripts into chunks ready for embeddings, summaries and AI agents. Videos without captions, private or unavailable videos are never charged.

Run it on Apify

What it does

  • Videos, playlists, channel URLs and @handles in one list
  • Manual captions preferred over auto-generated; auto-translation into your language when the video allows it
  • Optional RAG chunks of a fixed number of seconds
  • Residential proxies, IP rotation and retries built in, with a clear per-video status

Example input

{
  "urls": [
    "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "@mkbhd"
  ],
  "languages": [
    "en"
  ],
  "maxVideosPerSource": 20,
  "chunkSeconds": 60
}

Example output row

Illustrative values.

{
  "status": "ok",
  "videoId": "dQw4w9WgXcQ",
  "title": "Rick Astley - Never Gonna Give You Up",
  "channelName": "Rick Astley",
  "language": "en",
  "isAutoGenerated": false,
  "wordCount": 342,
  "transcript": "[Music] We're no strangers to love ..."
}

Pricing (pay per event)

EventPrice
Actor start (per run)$0.0001
Transcript scraped$0.0060

$6 per 1,000 transcripts. 100 videos cost about $0.60. Only delivered transcripts are billed.

Prices as listed on Apify, last checked 2026-10-14. The Apify listing is the source of truth.

FAQ

Can I get transcripts for a whole channel or playlist?

Yes. Pass the channel URL, @handle or playlist URL and set the maximum number of videos.

Are videos without captions charged?

No. Only transcripts that are actually delivered are billed.

Can I get a language the video does not offer?

If the video allows translation, captions are auto-translated into your first preferred language and flagged as translated.

Related Actors