YouTube Transcript Scraper avatar

YouTube Transcript Scraper

Pricing

from $2.00 / 1,000 transcripts

Go to Apify Store
YouTube Transcript Scraper

YouTube Transcript Scraper

Transcripts from YouTube videos, Shorts, whole channels and playlists, with timestamps, SRT/VTT and AI-ready chunks. Watch channels for new videos on a schedule. Pay only for transcripts delivered.

Pricing

from $2.00 / 1,000 transcripts

Rating

0.0

(0)

Developer

Lean Pilar

Lean Pilar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

YouTube Transcript Scraper: videos, Shorts, channels and playlists

Get YouTube transcripts as clean JSON, plain text, SRT or WebVTT subtitles, or AI-ready chunks with timestamp links. Paste video links, whole channels or playlists, pick your languages, and schedule it to pick up new uploads automatically. You only pay for transcripts that are delivered.

What you get

For every video:

FieldWhat it contains
textThe whole transcript as one string
segmentsEach caption line with start and duration in seconds
srt, vttReady-to-use subtitle files
chunksPassages of up to ~1,500 characters, each with its start time and a link that opens the video at that moment. Made for ChatGPT, Claude, RAG and search tools
language, isAutoGeneratedWhich transcript you got, and whether YouTube generated it
availableLanguagesEvery transcript language the video has
Video detailsTitle, channel, duration, views, description, keywords, thumbnail (free)

Why this scraper

  • Pay per transcript, not per row. Videos without captions, private or removed videos, and failed requests are listed with a clear reason and never charged.
  • Whole channels and playlists. Paste @handle, a channel link or a playlist link. Choose videos, Shorts and live streams, and how many of the newest to take.
  • Watch channels for new videos. Turn on Only new videos and schedule the actor daily. Each run returns only transcripts of uploads it has not delivered before, so you can feed a newsletter, a research database or an AI agent without duplicates.
  • The right language. List your languages in order. Human-made captions are preferred over auto-generated ones, and if none match you get the language the video is spoken in (or skip it, free, if you prefer). Or get every language at once.
  • Reliable. In our tests, 180 of 180 videos from 12 channels resolved without a single block, using residential proxies that are included in the price.
  • Every URL format. watch links, youtu.be, Shorts, live, embed, mobile links and bare IDs.

Pricing

EventPrice
Transcript (one delivered transcript)$2.00 per 1,000 ($0.002 each)

Proxy and platform usage are included. Records with status noTranscript, unavailable, noVideos or error are free. Example: the newest 50 videos from 20 channels = 1,000 transcripts = $2.00.

Input example

{
"urls": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"@veritasium",
"https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab"
],
"languages": ["en"],
"outputFormats": ["text", "segments", "chunks"],
"maxVideosPerSource": 20
}

Monitor channels for new uploads

{
"urls": ["@veritasium", "@kurzgesagt"],
"onlyNewVideos": true,
"monitorName": "science-channels",
"maxVideosPerSource": 10
}

Schedule this daily in Apify Console (Schedules). The first run delivers the 10 newest videos per channel; later runs deliver only new ones. Use a different monitorName for each schedule.

Output example

{
"status": "ok",
"videoId": "dQw4w9WgXcQ",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"channelName": "Rick Astley",
"durationSeconds": 213,
"language": "en",
"languageName": "English",
"isAutoGenerated": false,
"availableLanguages": [{"code": "en", "name": "English", "autoGenerated": 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"}],
"chunks": [{"index": 0, "start": 18.64, "end": 95.2, "text": "We're no strangers to love ...",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ&t=18s"}]
}

Status values

StatusMeaningCharged
okTranscript deliveredYes
noTranscriptThe video has no captions, or none in your languages (see availableLanguages)No
unavailablePrivate, removed, age-restricted or members-only videoNo
noVideosThe channel or playlist has no videos in the selected tabsNo
errorBad input or YouTube kept blocking after several retries. Try again laterNo

Good to know

  • Transcripts come from YouTube's own captions. Videos without captions cannot be transcribed by this actor (very fresh uploads often get auto-captions within hours).
  • Translation into other languages is not offered: YouTube blocks automated access to its translate feature. You get every language the creator uploaded plus the auto-generated one.
  • Use the transcripts in line with YouTube's terms and copyright law.

Other tools by the same author