YouTube Transcript Scraper: Subtitles to Text, SRT & API
Pricing
from $1.60 / 1,000 transcripts
YouTube Transcript Scraper: Subtitles to Text, SRT & API
Get YouTube transcripts and subtitles of videos, Shorts, whole channels and playlists: plain text, timestamped segments, SRT or VTT, any caption language, manual or auto-generated. Search words inside transcripts with links to the moment. Only-new mode for new uploads. No API key.
Pricing
from $1.60 / 1,000 transcripts
Rating
0.0
(0)
Developer
Superior Actors
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
YouTube Transcript Scraper: Subtitles to Text, SRT & API
Get the transcript of any YouTube video, Short, whole channel or playlist: plain text, timestamped segments, SRT or VTT subtitles, in any caption language the video has, manual or auto-generated. Search words inside transcripts and get a link to the exact second, or schedule Only new videos to get the transcripts of new uploads.
{ "videos": ["https://www.youtube.com/watch?v=rfscVS0vtbw"], "languages": ["en"] }
No YouTube API key, no quota, no browser extension, no login. Use it as a YouTube transcript API: one call returns clean JSON.
What you get
One row per video. Real example, September 2026:
| title | channelName | language | wordCount | text |
|---|---|---|---|---|
| Learn Python - Full Course for Beginners | freeCodeCamp.org | English | 50,862 | In this course, I'm going to teach you everything you need to know to get started programming in Python... |
| iPhone 18 Pro Review: All About that Chip | Marques Brownlee | English (auto-generated) | 3,343 | ... |
| Never Gonna Give You Up (4K Remaster) | Rick Astley | English | 487 | [♪♪♪] ♪ We're no strangers to love ♪ ... |
| Field | Description |
|---|---|
text | The whole transcript as plain text |
segments | [{start, duration, text}] in seconds, one per caption line |
timestampedText | [1:23] text on every line (option) |
srt, vtt | Subtitle files as text, with no overlapping lines (options) |
language, languageCode, isAutoGenerated | The caption track used, e.g. English (auto-generated), en, true |
availableLanguages | Every caption track of the video: code, name, auto-generated or not |
wordCount, characterCount, segmentCount | Size of the transcript |
matches, matchCount | With Search words: {word, timestamp, text, url}, the url opens the video at that second |
title, channelName, channelId, durationSeconds, views, videoUrl | The video |
description, keywords | Description and tags (option) |
transcriptAvailable, error | Why there is no transcript: no captions, not in your languages, video unavailable. These rows are free |
How it works
- Add videos, Shorts, channels or playlists:
youtube.com/watch?v=...,youtu.be/...,/shorts/..., video IDs,youtube.com/@handle,/channel/UC...or?list=... - Set Transcript languages in order of preference:
en,es,de... - Pick the output formats: segments, text with timestamps, SRT, VTT
- Run, then download as JSON, CSV or Excel, or call it as an API
| Input | What it does |
|---|---|
| Videos per channel or playlist | A channel gives its latest uploads, a playlist its videos (default 10) |
| Transcript languages | First language the video has; en also matches en-GB |
| Otherwise use the original language | No preferred language: the transcript in the spoken language instead of nothing |
| Auto-generated captions | Use when there are no manual captions (default), prefer them, or never |
| Search words in transcripts | Timestamped links to every mention; Only videos that mention the words skips the rest for free |
| Only new videos | Monitoring: each scheduled run returns only videos not seen before |
Why this Actor
| 📺 Channels and playlists | A whole channel or course in one run, one row per video |
| 🔍 Search inside transcripts | Where a word is said, with a link to the second: brand mentions, quotes, topics |
| 🎞️ All formats at once | Text, segments, timestamped text, SRT and VTT in the same row |
| 🌍 Language control | Your language order, manual or auto-generated, and the list of all tracks |
| 🔔 Only new videos | Transcripts of new uploads on a schedule, for summaries and research feeds |
| 💰 $2 per 1,000 transcripts | Videos without captions are free; the popular transcript Actors charge $5-10 per 1,000 |
Only new videos: transcripts of new uploads
- Add channels or playlists, switch on Only new videos, give the task a Monitor name
- Save as a task and add a schedule, e.g. every morning
- First run returns the latest videos (up to Videos per channel or playlist) and remembers them. Every later run returns only videos it has not seen. An empty result means no new uploads
Send the new transcripts to Slack, email, Google Sheets or an AI summary with an integration.
Pricing
Pay per result, no subscription needed. Apify Scale and Business plans pay less:
| Event | Free and Starter plans | Scale plan | Business plan |
|---|---|---|---|
| Run start | $0.001 | $0.001 | $0.001 |
| Transcript (one video, all formats you chose) | $0.002 | $0.0018 | $0.0016 |
| Task | Cost |
|---|---|
| 1 video | $0.003 |
| The 50 latest videos of a channel | ~$0.10 |
| New videos of 5 channels, daily for a month (~1 new video a day each) | ~$0.33 per month |
Videos without captions, unavailable videos and videos skipped by Only videos that mention the words are not charged.
Ready-made tasks
Open one, change the videos, channels or playlists, and run:
| Task | What you get |
|---|---|
| Download YouTube Transcript as Text | Full transcript of one video |
| YouTube Transcript with Timestamps: [1:23] Text per Line | A timestamp on every line |
| YouTube Channel Transcripts in Bulk: Latest Videos | A channel's latest videos |
FAQ
Does it work for videos without subtitles? It uses YouTube's captions: the creator's or the auto-generated ones, which most spoken videos have. A video with no captions at all (music without words, some live streams) gets a free row with error. It does not transcribe audio itself.
Can it translate a transcript? No. YouTube blocks its machine translation for automated requests, so the Actor returns the languages the video really has (availableLanguages). Translate the text with your own tool or an LLM.
Are auto-generated transcripts accurate? They are YouTube's speech recognition: good for search, summaries and AI, without punctuation and with some misheard words. Choose Auto-generated captions: Never to get only creator-written captions.
Why does it need a proxy? YouTube asks many server IPs to sign in before it shows captions. The Actor takes a fresh Apify datacenter IP for each attempt and, if needed, a residential one; the proxy cost is included in the price.
Very long videos? Yes: a 4.5-hour course gives about 50,000 words in one row.
Use with the API and AI agents
Run it via the Apify API from Python, Node.js or any HTTP client, or connect it to Claude, ChatGPT and other AI agents through the Apify MCP server: "Get the transcripts of the last 5 videos of @mkbhd and summarize what he says about battery life."
Other YouTube tools
| Tool | What it does |
|---|---|
| YouTube Comments Scraper | Comments and replies of videos, Shorts and channels, only-new monitoring |
| YouTube SEO & Rank Tracker | Searches a video ranks for, keyword rankings, tags, suggestions |
| Google Sheets Import & Export | Send the results to a Google Sheet |
Is it legal?
The Actor reads only public captions that YouTube shows to any visitor, without logging in, and does not download video or audio. Transcripts are the creators' content: use them for research, accessibility, search and analysis, and respect copyright when you republish them.