YouTube Transcript Scraper Lowcost (0.5$/1K 🤑)
Pricing
from $0.50 / 1,000 transcripts
YouTube Transcript Scraper Lowcost (0.5$/1K 🤑)
Extract YouTube transcripts with timestamps, language and video details, without login or API key. $0.50 per 1,000 transcripts.
Pricing
from $0.50 / 1,000 transcripts
Rating
0.0
(0)
Developer
Samy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
YouTube Transcript Scraper (Low-Cost)
Get the transcript of any public YouTube video, with timestamps and the video's details, for $0.50 per 1,000 transcripts. No YouTube account, no API key.
What does YouTube Transcript Scraper do?
Paste YouTube video links or ids. For every video that has captions, you get one row with:
- 📝 The full transcript as one text, ready for search, summaries or an AI model
- ⏱️ Timestamps: the transcript line by line, with the start time and duration of each line
- 🌍 The language you want when the video has it, and the list of every language the video has
- 🎬 The video's details: title, channel, handle, duration, exact view count, publish date, category, description and thumbnail
It works on regular videos, Shorts, past live streams and podcasts of several hours, in any language YouTube captions.
Why is it cheaper?
- 💰 $0.50 per 1,000 transcripts, a fraction of what most transcript scrapers charge.
- 🎯 You pay for the transcripts you get. A video without captions, a private video or a mistyped link has no per-item charge. The only other charge is $0.005 per run start (per GB of memory; runs use 1 GB by default).
- ⚡ Fast and light. No browser runs behind it: 45 videos take about 40 seconds.
- 🛡️ Reliable. Runs finish even when YouTube is slow, with nothing to tune on your side.
Who uses it?
- AI and LLM builders: feed transcripts to retrieval (RAG), summarization, question answering or fine-tuning.
- Marketers and content teams: study what competitors say in their videos, find quotes, repurpose your own videos into articles and posts.
- Researchers and journalists: search what was said in talks, interviews, lectures and news, in many languages.
How to use it
- Create a free Apify account.
- Open the Actor and paste your video links in YouTube videos.
- Optionally choose the Preferred language (
enby default) and whether to Include timestamps. - Click Start, then download the results as JSON, CSV, Excel or HTML, or read them through the Apify API.
Input
{"videos": ["https://www.youtube.com/watch?v=iG9CE55wbtY","https://youtu.be/dQw4w9WgXcQ","https://www.youtube.com/shorts/R6yNUnRXZ64"],"language": "en","includeSegments": true}
| Field | Type | Required | Description |
|---|---|---|---|
videos | Array | Yes | Video links or 11-character video ids. Watch links, youtu.be links, Shorts, embed and live links all work. |
language | String | No | Language code of the transcript you want: en, es, de, pt-BR, ja… Default: en. |
includeSegments | Boolean | No | Add the transcript line by line with timestamps. Turn off to get the full text only. Default: true. |
Entries that are not YouTube videos (a channel link, a typo) are skipped and counted in the run's status; the same video entered twice is fetched once.
Which language do I get?
The scraper exports one transcript per video, chosen in this order:
- Captions the uploader added in your language
- YouTube's automatic captions in your language
- Captions the uploader added in the language spoken in the video
- YouTube's automatic captions in the spoken language
- The captions YouTube shows by default
- Any captions the video has
YouTube tells the spoken language through its automatic captions. A video without them, such as many music videos, gets the captions YouTube shows an English-speaking viewer by default: English ones when the video has them, even if it is sung in another language.
A region is matched loosely: en also takes en-GB, and es takes es-419. Each row tells you which transcript you got (language, languageName, isAutoGenerated) and lists every language the video has in availableLanguages, so you can run again with another language.
Output
One row per video with a transcript:
{"videoId": "iG9CE55wbtY","url": "https://www.youtube.com/watch?v=iG9CE55wbtY","title": "Do schools kill creativity? | Sir Ken Robinson | TED","channelName": "TED","channelId": "UCAuUUnT6oDeKwE6v1NGQxug","channelHandle": "@TED","channelUrl": "https://www.youtube.com/@TED","durationSeconds": 1203,"viewCount": 25053272,"publishedAt": "2007-01-07T05:00:34.000Z","description": "Visit http://TED.com to get our entire library of TED Talks, transcripts, translations…","thumbnailUrl": "https://i.ytimg.com/vi/iG9CE55wbtY/hqdefault.jpg","category": "Education","language": "en","languageName": "English","isAutoGenerated": false,"availableLanguages": [{ "code": "en", "name": "English", "isAutoGenerated": false },{ "code": "en", "name": "English (auto-generated)", "isAutoGenerated": true },{ "code": "de", "name": "German", "isAutoGenerated": false }],"transcript": "Good morning. How are you? (Audience) Good. It's been great, hasn't it? I've been blown away by the whole thing. In fact, I'm leaving. (Laughter) …","segments": [{ "start": 27.103, "duration": 2.575, "text": "Good morning. How are you?" },{ "start": 29.702, "duration": 1.403, "text": "(Audience) Good." },{ "start": 31.129, "duration": 1.668, "text": "It's been great, hasn't it?" }],"scrapedAt": "2026-10-20T23:11:38.182Z"}
Times are in seconds. channelHandle, viewCount, publishedAt and category are null in the rare case YouTube does not show them. The dataset's Overview tab shows the thumbnail, title, channel, language, duration, views, publish date and transcript of each video.
Each run also saves a RUN_SUMMARY record in its key-value store: how many transcripts were exported, and for every video whether it gave a transcript (scraped), had none (without_items), was unavailable (not_found) or could not be fetched (not_scraped).
Pricing
- $0.50 per 1,000 transcripts ($0.0005 per transcript)
- $0.005 per run start (per GB of memory; runs use 1 GB by default)
Besides the run start, you pay only for the rows in your dataset. Fetching the transcripts of 1,000 videos costs $0.505. Videos without a transcript and unavailable videos have no per-item charge. Set a spending limit on the run and the scraper stops when it reaches it.
Limits
- No translation. You get the transcripts that exist on YouTube: the uploader's captions and YouTube's automatic captions. A video with English captions only gives an English transcript, whatever language you ask for.
- Age-restricted and members-only videos have no transcript. YouTube shows age-restricted videos only to signed-in viewers, and members-only videos only to the channel's members. They are reported as "no transcript available", with no per-item charge.
- Live streams get their transcript once the stream has ended. A stream that is live right now, or a premiere that has not started, has none yet.
- Private, removed and blocked videos are reported as "video unavailable", with no per-item charge.
- Videos restricted in some countries are retried. A video that stays blocked is reported as not fetched: run it again later.
- Some videos have no captions at all, for example many music videos and videos made for kids. They are reported as "no transcript available".
- Automatic captions are what YouTube's speech recognition heard: names and technical terms may be misspelled, and music-only parts read as
[Music].
FAQ
Do I need a YouTube account or an API key? No. Paste links and start.
How many videos can I put in one run? Up to 10,000. Runs of thousands of videos are fine: progress is saved, and a run that the platform restarts continues where it stopped without fetching or charging a video twice.
Can I get the transcript of a whole channel or playlist? Use YouTube Scraper (Low-Cost) to list the videos of a channel or playlist, then paste their links here.
Why does a video give a transcript in another language than the one I asked for? The video has no captions in your language. The row's availableLanguages lists those it has.
Can I get SRT or VTT subtitles? The segments field holds each line with its start and duration in seconds, which converts directly to SRT or VTT.
What happens if a video cannot be fetched? It is reported in the run's status and in RUN_SUMMARY as not fetched, with no per-item charge. Run it again later.
Legal
This Actor collects public information that YouTube shows to anyone without signing in. Transcripts and video details can be protected by copyright and by YouTube's Terms of Service. You are responsible for how you use the data: check that your use is lawful in your country, respect the rights of the creators, and do not republish transcripts you have no right to publish. Read Apify's article on whether web scraping is legal.