YouTube Transcript Scraper avatar

YouTube Transcript Scraper

Pricing

from $2.80 / 1,000 video transcribeds

Go to Apify Store
YouTube Transcript Scraper

YouTube Transcript Scraper

Get YouTube transcripts with timecodes, chapters and video metadata. Works with single videos, playlists and whole channels, returns SRT or WebVTT subtitles, and splits transcripts into RAG chunks that keep their timecodes. Export data, run via API, or schedule runs.

Pricing

from $2.80 / 1,000 video transcribeds

Rating

0.0

(0)

Developer

Matvey

Matvey

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

Get YouTube transcripts with timecodes, chapters and full video metadata. Point it at a video, a playlist or an entire channel. Returns plain text, timed segments, ready-made SRT or WebVTT subtitle files, and retrieval chunks that keep the moment in the video where each passage was said. No API key, no cookies, no login.

What is YouTube Transcript Scraper?

YouTube Transcript Scraper turns spoken video into structured text you can search, quote and feed to a model. Give it links, get one row per video with the transcript and everything around it: title, channel, publication date, duration, view count, chapters and the languages the video has captions in.

The thing most transcript tools drop is where something was said. Here every caption line keeps its start time, every chapter is returned with its boundaries, and each retrieval chunk carries its own timecode and chapter title — so an answer built on this data can point at minute 14:32 instead of quoting a wall of text.

What you give itWhat you get back
A video URL or bare video idTranscript, segments, chapters, metadata
A playlist URLEvery video in it, up to your limit
A channel URLThe channel's videos, newest first
chunkForRag: trueChunks with chapter titles and timecodes
subtitleFormat: srtA subtitle file ready to attach

What data can YouTube Transcript Scraper extract?

FieldTypeExample
videoIdstringdQw4w9WgXcQ
urlstringhttps://www.youtube.com/watch?v=dQw4w9WgXcQ
titlestringRick Astley - Never Gonna Give You Up
channel / channelId / channelUrlstringRick Astley
publishedAtstring2009-10-25
durationSecondsinteger213
viewCount / likeCount / commentCountinteger1663000000
descriptionstringFull description, when requested
tags / categoriesarray["rick astley", "music"]
thumbnailstringThumbnail URL
isLivebooleanfalse
languagestringen, or a track label such as en-nP7-2PuUl7o
isAutoGeneratedbooleanfalse for human-written subtitles
availableLanguagesarray["en", "de", "ja", "pt"]
transcriptstringWe're no strangers to love…
wordCount / charCount / segmentCountinteger481 / 2510 / 60
segmentsarray[{"start": 0.59, "duration": 5, "text": "…"}]
chaptersarray[{"title": "Intro", "start": 0, "end": 47}]
chunksarray[{"index": 0, "chapter": "Intro", "start": 0.59, "startTimecode": "00:00:00", "text": "…"}]
subtitlesstringA complete SRT or WebVTT file
status / errorCode / errorMessagestringok, or why a video was skipped
scrapedAtstring2026-09-05T10:31:02+00:00

How much does it cost to scrape YouTube transcripts?

EventPriceWhen it is charged
Video transcribed$0.004Per video whose transcript is returned
Video listed$0.0002Per video found inside a channel or playlist

Videos without captions are never charged. Neither are private, removed or age-restricted videos: they come back as error rows with a reason, at no cost.

JobCost
1,000 videos$4.00
A 200-video channel$0.84
50 videos from each of 20 channels$4.20
One long podcast episode$0.004

Comparable transcript Actors charge $5 to $9 per 1,000 videos. The Apify Free plan includes $5 of monthly usage, which is about 1,200 videos before you pay anything.

How to get a YouTube transcript

  1. Click Try for free and sign in to Apify.
  2. Paste video, playlist or channel links into Videos, playlists or channels.
  3. Leave the language as en, or set the two-letter code you need.
  4. Switch on Split into RAG chunks if the text is going into a vector database, or pick a Subtitle file format if you need SRT or WebVTT.
  5. Press Start, then read the Output tab or export as JSON, CSV or Excel.

⬇️ Input

YouTube Transcript Scraper input: video, playlist and channel URLs, language, RAG chunks and subtitle format

{
"videos": [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://www.youtube.com/playlist?list=PLbpi6ZahtOH6Blw3RGYpWkSByi_T7Rygb",
"https://www.youtube.com/@veritasium"
],
"language": "en",
"allowAutoGenerated": true,
"includeSegments": true,
"chunkForRag": false,
"maxVideosPerChannel": 25
}

What counts as an input

Video URLs, bare 11-character video ids, youtu.be short links, Shorts and live URLs, playlist URLs, and channel URLs in every form (/@handle, /channel/UC…, /c/name). Playlists and channels are expanded automatically, up to Max videos per channel or playlist.

Languages

language takes a two-letter code. YouTube labels many tracks en-nP7-2PuUl7o rather than plain en — those count as English here, which is why videos other tools report as "no captions" work fine. Human-written subtitles are preferred; Use auto-generated captions when needed decides whether YouTube's automatic ones are acceptable as a fallback, and isAutoGenerated tells you which you got.

RAG chunks with timecodes

With chunkForRag: true the transcript is split into chunks that break on chapter boundaries and sentence ends rather than on a raw character count. Each chunk carries the chapter it belongs to and the timecode where it starts:

{
"index": 3,
"chapter": "How the engine works",
"start": 872.5,
"end": 954.1,
"startTimecode": "00:14:32",
"text": "The compression stage is where most of the loss happens…",
"charCount": 1180
}

chunkOverlapSeconds repeats a few seconds of the previous chunk at the start of the next one, which helps when a sentence straddles a boundary.

Subtitle files

subtitleFormat returns a complete SRT or WebVTT file in the subtitles field, timings included, ready to save next to the video.

⬆️ Output

YouTube Transcript Scraper output: one row per video with channel, duration, language, word count and timed segments

{
"videoId": "dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video)",
"channel": "Rick Astley",
"publishedAt": "2009-10-25",
"durationSeconds": 213,
"language": "en",
"isAutoGenerated": false,
"availableLanguages": ["en", "de", "ja", "pt"],
"transcript": "We're no strangers to love. You know the rules and so do I…",
"wordCount": 481,
"segmentCount": 60,
"segments": [{ "start": 0.59, "duration": 5, "text": "We're no strangers to love" }],
"chapters": [],
"status": "ok",
"scrapedAt": "2026-09-05T10:31:02+00:00"
}

Error rows

errorCodeMeaning
no-captionsThe video has no captions in the language you asked for; availableLanguages lists what it does have
video-unavailableRemoved, or the id does not exist
private-videoPrivate or members-only
age-restrictedBehind an age gate
rate-limitedYouTube throttled the run after several retries
invalid-inputNot a YouTube video, playlist or channel

Use cases

Feeding video into a RAG pipeline

Chunks with timecodes let a retrieval answer cite the exact moment, so a support bot trained on tutorial videos can link to 14:32 rather than to the video as a whole.

Content research and repurposing

Pull a competitor's channel, read what they cover, and turn talks into articles, newsletters or show notes.

Subtitles and translation workflows

Take the SRT out, translate it, put it back. Auto-generated captions are marked, so you know which files need a human pass.

Search across a channel

Transcribe a whole channel once, index the text, and search hundreds of hours of video by phrase.

Dataset building

Transcripts with duration, view count and publication date make a clean training or analysis set, one row per video.

Integrations

  • API: POST https://api.apify.com/v2/acts/lergassy~youtube-transcript-scraper/runs
  • Python: ApifyClient(token).actor('lergassy/youtube-transcript-scraper').call(run_input={'videos': ['dQw4w9WgXcQ']})
  • JavaScript: await client.actor('lergassy/youtube-transcript-scraper').call({ videos: ['dQw4w9WgXcQ'] })
  • n8n, Make, Zapier, Google Sheets, Airtable: run the Actor and map the dataset onward.
  • MCP: available through the Apify MCP server as a callable tool.
  • Webhooks: fire a webhook when a run finishes.

🤖 For AI agents and LLM apps

{ "videos": ["dQw4w9WgXcQ"], "language": "en", "chunkForRag": true }
  • One row per video; status is ok or error, so a skipped video needs no log parsing.
  • transcript is the field to summarise; chunks is the field to embed.
  • Every chunk carries startTimecode and chapter, so an answer can cite where in the video it came from.
  • isAutoGenerated warns when the text is machine-heard rather than human-written.
  • Videos without captions are never charged, so agent retries stay cheap.

❓ FAQ

The Actor reads captions that YouTube publishes openly on public video pages, with no login. What you may do with that text depends on the video's copyright and on YouTube's terms, so check both before republishing. This is not legal advice.

Do I need an API key or cookies?

No. There is nothing to configure beyond the links.

Why does it use a proxy by default?

YouTube refuses data-centre addresses outright — in testing, nine requests in ten came back with "Sign in to confirm you're not a bot". The Actor uses residential proxies with a fresh address per video, which measured a 95% success rate. You can override the proxy setting, but success will drop sharply.

Does it work with videos that have no subtitles?

No. If a video has no captions at all, nothing exists to fetch, and the row comes back as no-captions at no charge. For those, transcribe the audio instead.

Can it do whole channels?

Yes. Pass the channel URL and set Max videos per channel or playlist. Listing a video costs $0.0002; only the ones that produce a transcript cost the full price.

Can I use it with the Apify API or an MCP server?

Yes to both, like any Apify Actor.

Your feedback

Missing a field or a format? Open an issue on the Issues tab — issues are answered quickly.

You might also like

ActorWhat it does
Document Text ExtractorPDF, Word, Excel and PowerPoint to Markdown, tables and RAG chunks
OCR Text ExtractorImages and scanned PDFs to text with confidence scores
Trustpilot Reviews APITrustpilot reviews, ratings and company replies
Software Reviews ScraperCapterra, Software Advice, GetApp and TrustRadius in one schema