YouTube Transcript Scraper
Pricing
from $1.50 / 1,000 results
YouTube Transcript Scraper
๐ฌ EXTRACT YOUTUBE TRANSCRIPTS in seconds. Get timestamped captions in 40+ languages with auto-translation built in. Supports auto-generated subtitles, batch processing and three output formats: segments, full text or [MM:SS]. Built for AI, LLMs and content teams.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Data Xplorer
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
๐ฌ What is YouTube Transcript Scraper?
YouTube Transcript Scraper extracts the full transcript of any YouTube video and gives it back as clean, structured data: every line with its timestamp, the language, and the video details (title, channel, views, likes, publish date). Paste one YouTube URL or a hundred, pick a language, and download the YouTube transcripts as JSON, CSV or Excel.
It works with manual subtitles and with YouTube's auto-generated captions, in 40+ languages. If a video has no transcript in your language, the transcript is translated for you and the timestamps stay in place. No YouTube API key, no Google Cloud project and no proxy setup are needed.
Use this YouTube transcript scraper to summarize videos with ChatGPT or Claude, to turn videos into blog posts, to feed a RAG pipeline, or to research what is said in interviews, talks and podcasts. Run it from the Apify Console, call it as a YouTube Transcript API from your code, or connect it to Make, n8n, Zapier and your AI agents.
What can this YouTube Transcript Scraper do?
- โก Fast: 10 YouTube transcripts in about 20 seconds, 25 in under a minute (see the timings below)
- ๐ Full transcript with timestamps: start, end and duration of every line, to the millisecond
- ๐ 40+ languages: choose the transcript language, or enter any language code
- ๐ Translation built in: no transcript in your language? It is translated, with the same timestamps
- ๐ค Auto-generated captions supported, next to manual subtitles
- ๐ Video details included: title, channel, subscribers, views, likes, publish date, category, description, tags and thumbnails
- ๐ 3 output formats: timestamped segments, plain text, or
[MM:SS]lines - ๐ Every YouTube URL format:
watch?v=,youtu.be, Shorts, live streams and bare video IDs - ๐ธ No transcript, no charge: videos without a transcript are not added to your results
- ๐ No API key, no proxy to configure: paste the links and press Start
- โ๏ธ Everything the Apify platform offers: API, scheduling, monitoring, integrations, and export to JSON, CSV, Excel or HTML
โก How fast is this YouTube Transcript Scraper?
Timings measured on real runs in October 2026:
| Run | Time |
|---|---|
| 1 video | about 10 seconds |
| 10 videos | about 20 seconds |
| 10 videos translated | about 20 seconds |
| 25 videos | about 53 seconds |
Several videos are processed at the same time (10 by default). Times depend on how quickly YouTube answers, so yours can differ.
๐ก Why scrape YouTube transcripts?
A YouTube transcript turns a video into text you can search, quote, summarize and analyze. With this YouTube transcript extractor you can:
- ๐ค Feed AI tools: summarize videos, ask questions about them, or build a RAG pipeline and a video search engine
- โ๏ธ Repurpose content: turn your videos or podcasts into blog posts, newsletters, threads and show notes
- ๐ Research: collect what experts, competitors or politicians say in interviews, talks, lectures and hearings
- ๐ Analyze topics: track keywords and themes across a channel or a niche over time
- ๐ Study and accessibility: get notes from lectures and readable text for people who cannot watch the video
- ๐ Translate: read a video in your own language, with timestamps that still point to the right moment
๐ How to scrape YouTube transcripts
- Click Try for free to open the Actor in the Apify Console.
- Paste one or more YouTube video URLs (or video IDs) in YouTube video URLs.
- Choose the transcript language and the output format.
- Click Start.
- Download the YouTube transcripts as JSON, CSV, Excel or HTML, or read them with the API.
๐ฐ How much does it cost to scrape YouTube transcripts?
You pay for the transcripts you get, and videos without a transcript are free. Platform usage and proxies are included.
| Apify plan | Price per transcript | 1,000 transcripts |
|---|---|---|
| Free | $0.01 | $10 |
| Bronze | $0.005 | $5 |
| Silver | $0.003 | $3 |
| Gold and above | $0.0015 | $1.50 |
A small fee of $0.025 is also charged when a run starts, so send your videos in one run rather than one run per video.
Apify's free plan includes monthly credits, enough for hundreds of YouTube transcripts to try the Actor. To control your spending, set a maximum cost per run in the run options. The current prices are always on the Pricing tab.
โฌ๏ธ Input
| Field | Type | Default | Description |
|---|---|---|---|
videoUrls | array | YouTube video URLs or video IDs | |
preferredLanguage | string | en | Language of the transcript (40+ languages in the list) |
customLanguageCode | string | Any other language code (for example sw, eu, lb). Overrides the list | |
outputFormat | string | segments | segments, text or timestamps |
maxConcurrency | integer | 10 | Videos processed at the same time (1 to 20) |
Supported YouTube URLs
https://www.youtube.com/watch?v=dQw4w9WgXcQhttps://youtu.be/dQw4w9WgXcQhttps://www.youtube.com/shorts/VIDEO_IDhttps://www.youtube.com/live/VIDEO_IDdQw4w9WgXcQ(a bare 11-character video ID)
Output formats
| Format | Field | Best for |
|---|---|---|
| Segments (default) | segments array | AI pipelines, RAG, search indexes, subtitles |
| Full text | fullText string | LLM prompts, summaries, articles |
| Timestamps | fullText string with [MM:SS] lines | Reading, quoting, video editing |
Input example
{"videoUrls": ["https://www.youtube.com/watch?v=jNQXAC9IVRw","https://youtu.be/iG9CE55wbtY"],"preferredLanguage": "fr","outputFormat": "segments"}
โฌ๏ธ What data can you extract from YouTube videos?
| Field | Description |
|---|---|
videoId, videoUrl | Video ID and watch URL |
title | Video title |
author, channelId, channelUrl | Channel name, ID and URL |
channelSubscribers, channelSubscriberCount | Subscribers as shown by YouTube ("6.72M subscribers") and as a number |
durationSeconds | Video length in seconds |
language, languageName | Language of the returned transcript |
nativeLanguage | Original language of the captions |
isAutoTranslated | true when the transcript was translated from nativeLanguage |
isAutoGenerated | true for YouTube's auto-generated captions |
segmentCount, wordCount | Number of transcript lines and words |
transcriptDurationSeconds | End time of the last transcript line |
availableLanguages | Every caption track available on the video |
viewCount, likeCount | Views and likes (likeCount is null when hidden) |
publishDate, uploadDate | Dates in ISO 8601 |
category, description, keywords | YouTube category, description and tags |
isLiveContent, isFamilySafe | Live stream and family-safe flags |
thumbnailUrl, thumbnails | Largest thumbnail and all sizes |
segments | [{ start, duration, end, text }], times in seconds |
fullText | The transcript as one text, plain or with [MM:SS] lines |
Output example
{"videoId": "jNQXAC9IVRw","videoUrl": "https://www.youtube.com/watch?v=jNQXAC9IVRw","title": "Me at the zoo","author": "jawed","channelSubscribers": "6.72M subscribers","durationSeconds": 19,"language": "en","nativeLanguage": "en","isAutoTranslated": false,"isAutoGenerated": false,"segmentCount": 6,"wordCount": 39,"viewCount": 446981249,"likeCount": 20117466,"publishDate": "2005-04-23T20:31:52-07:00","category": "Film & Animation","segments": [{ "start": "1.200", "duration": "2.160", "end": "3.360", "text": "All right, so here we are, in front of the elephants" },{ "start": "12.616", "duration": "1.751", "end": "14.367", "text": "and that's cool" }]}
With "outputFormat": "timestamps", fullText looks like this:
[00:01] All right, so here we are, in front of the elephants[00:12] and that's cool[00:16] and that's pretty much all there is to say
๐ Is there a YouTube Transcript API?
YouTube's official Data API only lets you download captions of videos you own, and it needs a Google Cloud project and OAuth. To get the transcript of any public video, this Actor works as a YouTube Transcript API: send video URLs in one request and get the transcripts back as JSON.
๐ How to use this YouTube Transcript Scraper as an API
Call it with the Apify API from any language.
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("data_xplorer/youtube-transcript").call(run_input={"videoUrls": ["https://www.youtube.com/watch?v=jNQXAC9IVRw"],"preferredLanguage": "en","outputFormat": "text",})for video in client.dataset(run["defaultDatasetId"]).iterate_items():print(video["title"], video["wordCount"], video["fullText"][:200])
Node.js:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('data_xplorer/youtube-transcript').call({videoUrls: ['https://youtu.be/iG9CE55wbtY'],preferredLanguage: 'es',outputFormat: 'segments',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].title, items[0].segments.length);
cURL (one request that starts the run and returns the transcripts):
curl -X POST "https://api.apify.com/v2/acts/data_xplorer~youtube-transcript/run-sync-get-dataset-items" \-H "Authorization: Bearer <YOUR_API_TOKEN>" \-H "Content-Type: application/json" \-d '{"videoUrls":["https://www.youtube.com/watch?v=jNQXAC9IVRw"],"outputFormat":"text"}'
๐ค Use YouTube Transcript Scraper with AI agents (MCP)
AI assistants such as Claude, Cursor or VS Code can call this Actor as a tool through the Apify MCP server. The agent sends a YouTube link, the Actor returns the transcript, and the agent answers with what is really said in the video.
Use this server URL to give your agent this Actor only:
https://mcp.apify.com?tools=data_xplorer/youtube-transcript
Claude Code:
$claude mcp add --transport http youtube-transcript "https://mcp.apify.com?tools=data_xplorer/youtube-transcript"
Cursor, VS Code and other MCP clients (MCP config file):
{"mcpServers": {"youtube-transcript": {"url": "https://mcp.apify.com?tools=data_xplorer/youtube-transcript"}}}
Example prompts:
- "Summarize this YouTube video in five bullet points: https://youtu.be/iG9CE55wbtY"
- "What does the speaker say about creativity, with the timestamps?"
- "Translate the transcript of this video into Spanish and turn it into a blog post."
Tips for agents:
- Use
"outputFormat": "text"to put the whole transcript in a prompt, and"segments"when timestamps matter. - Set
preferredLanguageto the language you want to read, even if the video is in another one. - Send several URLs in one call rather than one call per video.
๐งฉ Integrations
YouTube Transcript Scraper runs on the Apify platform, so you can connect it to the rest of your stack without code:
- Make: Make and Apify integration
- n8n: n8n and Apify integration
- Zapier: send new transcripts to Google Docs, Notion, Slack or email. See Apify integrations
- Google Sheets: export each run to a spreadsheet
- Schedules: run the same list of videos on a schedule with Apify schedules
- Webhooks: get notified when a run finishes and process the transcripts in your own app. See webhooks
๐ Other scrapers you may like
- Google Trends Scraper: trending searches by country and keyword interest over time
- Google News Scraper: the latest news articles for any keyword
- TikTok Trends: trending hashtags, songs, creators and videos on TikTok
- TikTok Ads Library FAST: competitor ad campaigns and creatives from the TikTok Ads Library
- Facebook Ads Library: your competitors' Facebook and Instagram ads from the Meta Ad Library
- LinkedIn Ads Scraper: LinkedIn ads with impressions by country and targeting
- Trustpilot Scraper: the Trustpilot reviews of any company, with filters and company replies
โ FAQ
Do I need a YouTube API key or a Google account?
No. Paste the video URLs and press Start. You do not need an API key, a Google Cloud project, a login or your own proxies.
Can I get YouTube's auto-generated captions?
Yes. Most videos have auto-generated captions even without uploaded subtitles, and the Actor returns them. The isAutoGenerated field tells you which kind you got.
Can I get a transcript in another language than the video?
Yes. Set preferredLanguage (or customLanguageCode). If the video has a transcript in that language, you get it as is. If not, the transcript is translated from the original language, with the same timestamps, and isAutoTranslated is true. Translations are machine translations, so they can be less natural than a human one.
What happens if a video has no transcript?
It is not added to your results, so you are not charged for it. It is listed with the reason in the FAILED_VIDEOS record of the run's key-value store, and the run message gives the count. The other videos are processed normally.
How many videos can I process in one run?
There is no fixed limit. Several videos are processed at the same time (maxConcurrency, 10 by default, up to 20). For large lists, keep the default or lower it if you see errors.
Does it work with Shorts and live streams?
Yes, as long as the video has captions. Shorts, youtu.be links, /live/ URLs and bare video IDs are all supported. For a live stream, the transcript is available once YouTube has published captions for it.
Can I scrape all the videos of a channel or a playlist?
Not directly: this Actor takes video URLs. Collect the video URLs of the channel or playlist first, then paste them in YouTube video URLs.
What is the difference between the three output formats?
segments gives one object per line with start, end, duration and text. text gives the whole transcript as one string. timestamps gives one string with a [MM:SS] time before each line. The video details are the same in all three formats.
Is it legal to scrape YouTube transcripts?
The Actor only collects transcripts and details that YouTube shows publicly on each video. Transcripts are part of the creator's content: you are responsible for how you use them, including copyright and YouTube's terms. If in doubt, ask a legal professional. See also Is web scraping legal?.
I need another feature or found a bug.
Open an issue in the Issues tab: we read every one and answer quickly. If this Actor saves you time, a short review helps other people find it.