VOOZH about

URL: https://apify.com/agilevendor/youtube-transcript-scraper

โ‡ฑ YouTube Transcript Scraper โ€” SRT, VTT & Text ยท Apify


Pricing

$1.00 / 1,000 transcript scrapeds

Go to Apify Store

YouTube Transcript Scraper

Extract transcripts and subtitles from any public YouTube video, playlist, or channel. Get plain text, timestamped segments, and ready-to-use SRT and VTT files in one run โ€” plus title, channel, and language. Bulk playlists and channels, language selection. You only pay for successful transcripts.

Pricing

$1.00 / 1,000 transcript scrapeds

Rating

0.0

(0)

Developer

๐Ÿ‘ Agilevendor

Agilevendor

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract transcripts and subtitles from any public YouTube video, playlist, or channel โ€” full text, timestamped segments, plus ready-to-use SRT and VTT files, all in one run.

Why this scraper

  • โœ… All subtitle formats in one shot โ€” plain text, timestamped segments, SRT, and VTT returned together, no second run needed.
  • โœ… Playlists and channels expand automatically โ€” paste a single channel URL and get transcripts for every video in it. Each record carries a playlist field with the source playlist ID (empty for single videos), so you can tell which playlist a video came from.
  • โœ… You only pay for successful transcripts โ€” videos without captions, private videos, and age-restricted content are flagged and skipped; no charge for empty results.
  • โœ… Multi-language in one run โ€” list several languages and get a separate record for each one that exists on the video, or leave it empty to grab a single best track per video.
  • โœ… Metadata in every record โ€” title, channel name, language code, and whether captions are auto-generated or human-made, attached to each transcript.
  • โœ… Anti-bot protection handled โ€” residential proxies and PO-token bypass built in and on by default, no setup required.
  • โœ… Low price โ€” $1.00 per 1,000 videos, up to 10ร— cheaper than many alternatives.

What it does

  • One record per video. Each video in the dataset gets its own record with the full transcript text, time-aligned segments, SRT subtitles, VTT subtitles, and metadata โ€” everything in a single dataset row.
  • Flexible input. The videoUrls field accepts YouTube video URLs, playlist URLs, channel URLs, and bare video IDs โ€” any mix in any order.
  • Bulk expansion. Playlist and channel URLs are resolved to their full video lists automatically. Use maxVideos to cap the number of expanded videos and keep the cost predictable.
  • Multi-language. Set languages to a list of ISO 639-1 codes (e.g. ["en", "de", "ru"]). Every selected language that exists for a video is returned as its own record (and billed as one transcript), so you can grab several languages in one run. Leave it empty to get a single best track per video (a human-made track is preferred, otherwise the first available) โ€” roughly one unit per video.
  • Honest status field. Every record carries a status value: ok (transcript returned), no_captions (no captions exist for this video), private, age_restricted, or unavailable. This makes it easy to filter results downstream and understand exactly why a video was skipped.
  • Timestamps optional. Set includeTimestamps to false to omit the segments array and get a leaner output when all you need is the plain text.

How to scrape YouTube transcripts?

  1. Open the YouTube video, playlist, or channel you want to scrape and copy the URL from the browser address bar. You can also copy a plain video ID (the part after ?v=).
  2. Paste one or more URLs or IDs into the Video URLs field. Mix and match โ€” videos, playlists, and channels can go in the same list.
  3. Optionally set languages to the caption languages you want (e.g. ["en", "ru"]) โ€” each one becomes its own record. Leave empty for a single best track per video.
  4. Set maxVideos if you are expanding a large playlist or channel and want to control cost.
  5. Click Start and wait for the run to finish.
  6. Download the results from the Output tab in JSON, CSV, Excel, XML, or HTML.

Input

FieldTypeDescription
videoUrlsarrayYouTube video / playlist / channel URLs or bare video IDs (required).
languagesarrayCaption languages to scrape (ISO 639-1). Each selected language that exists becomes its own record (billed as one transcript). Empty โ†’ a single best track per video (human-made preferred).
maxVideosintegerCap on the number of videos expanded from a playlist or channel (default: 50). Controls cost.
includeTimestampsbooleanInclude the segments array with per-segment timecodes (default: true).
proxyConfigurationobjectProxy settings. Defaults to Apify Residential Proxies, which are required for reliable YouTube access.

Example input:

{
"videoUrls":[
{"url":"https://www.youtube.com/watch?v=jNQXAC9IVRw"}
],
"languages":["en","ru"],
"maxVideos":50,
"includeTimestamps":true
}

To scrape a full playlist, replace the video URL with a playlist URL:

{
"videoUrls":[
{"url":"https://www.youtube.com/playlist?list=PLxxxxxxxxxxxxxxxx"}
],
"maxVideos":100
}

Output format

Each output record is one video and includes the plain text, timestamped segments, source playlist, and metadata (title, channel, language). It also includes srt and vtt fields with properly formatted SRT / VTT subtitle files โ€” ready to drop into a video editor, subtitle tool, or upload to a platform. No conversion needed.

Output (one record per video):

๐Ÿ‘ YouTube transcript scraper output table

{
"videoId":"jNQXAC9IVRw",
"videoUrl":"https://www.youtube.com/watch?v=jNQXAC9IVRw",
"playlist":null,
"title":"Me at the zoo",
"channelName":"jawed",
"language":"en",
"isAutoGenerated":false,
"status":"ok",
"text":"All right, so here we are, in front of the elephants, and the cool thing about these guys is that they have really, really, really long trunks.",
"segments":[
{"start":1.2,"dur":2.16,"text":"All right, so here we are,"},
{"start":3.36,"dur":2.4,"text":"in front of the elephants,"},
{"start":5.76,"dur":5.04,"text":"and the cool thing about these guys is that they have really, really, really long trunks."}
],
"srt":"1\n00:00:01,200 --> 00:00:03,360\nAll right, so here we are,\n\n2\n00:00:03,360 --> 00:00:05,760\nin front of the elephants,\n",
"vtt":"WEBVTT\n\n00:00:01.200 --> 00:00:03.360\nAll right, so here we are,\n\n00:00:03.360 --> 00:00:05.760\nin front of the elephants,\n"
}

Videos without available captions return a record with "status": "no_captions" and empty transcript fields โ€” so you can see exactly which videos were skipped.

Proxy and cost

YouTube requires a non-datacenter IP for reliable access. This scraper uses Apify Residential Proxies by default, which rotate automatically and handle YouTube's bot detection together with PO-token support baked into the scraper.

When someone else runs your Actor on Apify, proxy traffic is billed to their account, not yours. The same applies here โ€” proxy consumption charges go to whoever runs the scraper.

Pricing: $1.00 per 1,000 successfully extracted transcripts. You are only charged for records with "status": "ok". Videos that turn out to have no captions, are private, age-restricted, or unavailable do not count toward the bill.

Is it legal to scrape YouTube transcripts?

YouTube transcripts and subtitles are publicly accessible without logging in โ€” the same content any visitor can read or download in their browser. Scraping publicly available data without bypassing authentication or access controls has generally been found permissible under US law (see hiQ Labs v. LinkedIn, 2022), though terms of service may still apply.

This scraper does not log into YouTube, does not access private or members-only content, and does not bypass any access controls โ€” it only retrieves captions that are already publicly available.

Note that transcript text may be subject to copyright (belonging to the video creator), and names or usernames attached to content may qualify as personal data under GDPR or CCPA. You are responsible for how you use the extracted data and for ensuring your use complies with applicable laws and platform terms in your jurisdiction.

This is not legal advice. If you have questions about your specific use case, consult a qualified attorney.

Your feedback

Found a bug or have a feature request? Open an issue here: https://console.apify.com/actors/5LUyoa5qazqEd6R9A/issues

You might also like

YouTube Transcript Scraper โ€“ Download Subtitles & Captions

harshmaur/youtube-transcript-scraper

Extract transcripts, captions & subtitles from YouTube videos, channels or playlists โ€” no API key. Timestamped or plain text, SRT/VTT export, 156-language translation, plus full video & channel metadata. Built for AI summaries, ChatGPT & research. Pay only for transcripts returned.

2

5.0

YouTube Transcript Scraper

silentflow/youtube-transcript-scraper

Extract transcripts from YouTube videos in bulk. Get timestamped segments and full text in any language. Proxies included.

Youtube Transcript Scraper

veeronica/youtube-transcript-scraper

Extract transcripts and subtitles from any YouTube video. Returns clean full text plus timestamped segments, optional SRT/WebVTT subtitles, translation to any language, and video details. No API key, no rate limits.

YouTube Transcript & Subtitle Scraper

dataharvest/youtube-transcript-scraper

Extract transcripts and subtitles from YouTube videos, channels or search results. Plain text, timestamped or SRT format. Optional translation.

YouTube Transcript & Subtitle Scraper

abotapi/youtube-transcript-scraper

Extract transcripts and subtitles from YouTube videos in bulk using video, playlist, channel URLs, or keyword search. Returns timed transcript segments, plain text, SRT, and WebVTT subtitle files, with optional auto-translation to other languages.

TikTok Transcript Scraper

crawlerbros/tiktok-transcript-scraper

Extract transcripts and subtitles from TikTok videos in all available languages. Returns timestamped segments plus full plain-text transcript per language.

132

5.0

Youtube Transcript Scraper

crawlerbros/youtube-transcript-scraper

Extract transcripts and captions from YouTube videos with language selection support. Returns timestamped segments, full concatenated text, and basic video metadata.

42

5.0

YouTube Transcript Scraper

embion/youtube-transcript-scraper

Get transcripts from YouTube videos and Shorts as plain text or structured timestamped segments. Results come with title, description, likes, channel details, and other metadata.