YouTube Transcript Scraper - Captions, Subtitles & RAG API
Pricing
from $1.00 / 1,000 results
YouTube Transcript Scraper - Captions, Subtitles & RAG API
Extract YouTube transcripts, captions, subtitles, timestamps, metadata, SRT, WebVTT, Markdown, and RAG-ready chunks from videos, Shorts, channels, and playlists. Works with bulk URLs and residential proxy support.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Glamour Meow
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
YouTube Transcript Scraper - Captions, Subtitles & RAG API — $1/1K
Extract YouTube transcripts, captions, subtitles, timestamps, metadata, SRT, WebVTT, Markdown, and RAG-ready chunks from videos, Shorts, channels, and playlists.
Built for AI agents, RAG pipelines, video summarization, subtitle export, research, SEO, content repurposing, and bulk YouTube video-to-text workflows.
Why use this YouTube Transcript Scraper?
- $1 per 1,000 results — far cheaper than many transcript actors priced around $10/1K.
- Works in 2026 — uses PoToken/BotGuard support plus residential proxy compatibility for reliable caption extraction.
- No YouTube Data API key — works from public YouTube URLs and video IDs when captions are available.
- Videos, Shorts, playlists, channels — process one video or resolve bulk URLs from playlists/channels.
- Manual + auto-generated captions — tries manually uploaded subtitles first, then auto-generated captions.
- Language fallback — pass
languages: ["en", "es", "ko"]; the Actor tries each language in order. - Optional translation — pass
translateTowhen YouTube built-in translation is available. - 5 output formats — JSON, plain text, SRT, WebVTT, and Markdown.
- RAG-ready chunks — split transcripts into chunks for vector databases, LLM apps, and AI datasets.
- Metadata included — title, channel, duration, views, publish date, thumbnail, description, and tags.
- Graceful failures — no-caption/private/blocked videos return a clear
erroritem instead of crashing the whole batch.
Common use cases
- YouTube transcript API for AI apps
- Bulk YouTube captions downloader
- Video-to-text datasets for LLMs
- RAG ingestion from YouTube channels
- YouTube subtitle export to SRT or WebVTT
- Summaries, keyword extraction, and content repurposing
- Market research and competitor video analysis
- Academic/research transcript collection
- Channel and playlist transcript scraping
Recommended input
Use residential proxies for the highest success rate. The default sample is a known public video with captions.
{"urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"outputFormat": "json","languages": ["en", "es", "ko"],"includeMetadata": true,"includeTimestamps": true,"includeAvailableLanguages": true,"includeRagChunks": false,"chunkSize": 1000,"maxVideos": 100,"maxConcurrency": 2,"fallbackToAnyLanguage": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Input fields
| Field | Type | Default | Description |
|---|---|---|---|
urls | array | required | YouTube video URLs, Shorts URLs, playlist URLs, channel URLs, or raw video IDs. |
outputFormat | string | json | json, text, srt, vtt, or markdown. |
languages | array | ["en"] | Language priority list. The Actor tries each language in order. |
translateTo | string/null | null | Optional target language code for YouTube auto-translation. |
includeMetadata | boolean | true | Include title, channel, duration, views, publish date, thumbnail, description, and tags. |
includeTimestamps | boolean | true | Include timestamped transcript segments. |
includeAvailableLanguages | boolean | true | Include all available caption languages. |
includeRagChunks | boolean | false | Return chunked text for vector databases and RAG. |
chunkSize | integer | 1000 | Approximate max characters per RAG chunk. |
maxVideos | integer | 100 | Max videos to process after resolving channels/playlists. |
maxConcurrency | integer | 2 | Videos processed in parallel. Increase carefully. |
fallbackToAnyLanguage | boolean | true | Use any available transcript if requested languages are not found. |
proxyConfiguration | object | residential proxy | Recommended for YouTube reliability. |
Proxy recommendation
YouTube aggressively blocks datacenter IPs and may return LOGIN_REQUIRED, HTTP 429, or empty caption responses.
For best results, use:
"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}
Direct/no-proxy runs may work for some public videos, but residential proxies are strongly recommended for production and bulk extraction.
Output example
{"videoId": "dQw4w9WgXcQ","videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","sourceUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","sourceType": "video","title": "Rick Astley - Never Gonna Give You Up (Official Video)","channelName": "Rick Astley","channelId": "UCuAXFkgsw1L7xaCfnd5JJOw","channelUrl": "http://www.youtube.com/@RickAstleyYT","duration": 213,"viewCount": 1780000000,"publishDate": "2009-10-24T23:57:33-07:00","thumbnail": "https://i.ytimg.com/vi_webp/dQw4w9WgXcQ/maxresdefault.webp","language": "English","languageCode": "en","isAutoGenerated": false,"hasTranscript": true,"transcriptText": "Full transcript text...","formattedTranscript": null,"outputFormat": "json","segments": [{"start": 18.64,"duration": 3.24,"text": "We're no strangers to love"}],"ragChunks": [],"wordCount": 285,"characterCount": 1580,"availableLanguages": [{"language": "English","languageCode": "en","isGenerated": false,"isTranslatable": true}],"error": null,"scrapedAt": "2026-06-27T06:00:00Z"}
Output formats
JSON
Structured transcript segments, full text, metadata, language info, available languages, and optional RAG chunks.
Plain text
A clean full transcript string for LLM prompts and automation.
SRT
Subtitle format for video editors.
100:00:18,640 --> 00:00:21,880We're no strangers to love
WebVTT
Subtitle format for web players.
WEBVTT00:00:18.640 --> 00:00:21.880We're no strangers to love
Markdown
Readable transcript document with title, metadata, and timestamped text.
# Video title**Channel:** Channel name | **Duration:** 3:33 | **Views:** 123456---## Transcript[0:18] We're no strangers to love
RAG chunks
Set includeRagChunks: true to return chunks like:
{"index": 0,"start": 18.64,"end": 63.2,"text": "Chunk text suitable for embeddings...","characterCount": 998}
Use this for vector databases, semantic search, AI agents, and long-video summarization.
Pricing
This Actor is configured at $1 per 1,000 results plus Apify platform usage costs.
Example:
| Results | Actor price |
|---|---|
| 1,000 transcripts | $1 |
| 10,000 transcripts | $10 |
| 100,000 transcripts | $100 |
Residential proxy traffic is charged by Apify as platform usage. It is recommended because it significantly improves YouTube success rate.
FAQ
Do I need a YouTube Data API key?
No. The Actor does not require a YouTube Data API key.
Does it support auto-generated captions?
Yes. It tries manual captions first, then auto-generated captions.
Does it support playlists and channels?
Yes. The Actor resolves video URLs, Shorts URLs, playlist URLs, and channel/handle URLs up to maxVideos.
Does it support private or members-only videos?
No. Private, members-only, age-restricted, or login-only videos may fail because they require authenticated YouTube access.
Why did a video return hasTranscript: false?
Common reasons:
- The video has no captions.
- The video is private, deleted, age-restricted, or region-blocked.
- YouTube returned bot detection (
LOGIN_REQUIRED). - The run did not use residential proxy.
The Actor returns a dataset item with metadata when available and a clear error reason.
Why use residential proxies?
YouTube often blocks datacenter IPs. In cloud testing, residential proxy mode had a much higher success rate for public videos with captions.
Can I use this for AI/RAG?
Yes. Use includeRagChunks: true and outputFormat: "json" for structured chunks that can be embedded into vector databases.
SEO keywords
YouTube transcript scraper, YouTube transcript API, YouTube captions extractor, YouTube subtitles scraper, YouTube transcript downloader, YouTube video to text, YouTube captions API, YouTube transcript bulk download, YouTube playlist transcript scraper, YouTube channel transcript scraper, YouTube transcript for AI, YouTube transcript for RAG, YouTube SRT subtitles, YouTube WebVTT captions.