Apify Actor · early access
YouTube Transcripts
The transcript of any YouTube video as clean dataset rows: timed segments and full text, in the language you ask for. Manual captions first, auto-generated as fallback. No login, no browser, no API key. A free status row says why when a video has no captions.
Early access: no Actor fee yet. You pay only Apify platform usage.
- 16 / 16Videos with captions delivered on Residential, 3 rounds of 20 videos (a small test)
- EN · PT · ES · KOLanguages in our test
- 2 outputsTimed segments and full text
- Early accessNo Actor fee yet
What it does
Any YouTube video, as timed text.
Takes YouTube video URLs or ids and returns one dataset row per video. Each row carries videoId, url, title, channel, channelId, lengthSeconds, language, isAutoGenerated, languageMatched, requestedLanguage, status and scrapedAt, plus segments (start and duration in seconds, and text) and/or text (all segments joined).
Example: the TED talk “Sleep Is Your Superpower” (1158 s) comes back with its manual English captions in 327 segments; the first one starts at 0.829 s and says “Thank you very much.”
Language. Exact code first (en), then the same base language (pt also matches pt-BR); manual captions before auto-generated ones. If the video has nothing in your language, you get its original-language track and languageMatched is false, so you can tell. In our test, Portuguese and Spanish videos requested in English came back that way, in their own language and auto-generated.
Free status rows. no_captions (the video has none), video_unavailable (removed, private, members-only, region-locked, age-restricted), invalid_input (not a YouTube video) and source_unavailable (YouTube kept refusing after retries). In our 20-video test there were 3 videos without captions and 1 that does not exist; they came back as status rows.
Using transcripts to see how AI assistants quote and cite a business? See the AI visibility audit.
Inputs
- videos
- YouTube video URLs (
watch,youtu.be,shorts,embed,live) or 11-character ids. Up to 1000 per run; duplicates are dropped. - language
- Language code of the captions you want:
en(default),pt,pt-BR,es... - outputFormat
both(default): segments and full text.segments: timed segments only.text: full text only.- proxyConfiguration
- Apify Proxy, Residential group by default. See “Why Residential” below.
Use cases
What it is built for.
-
Datasets for research, LLMs and RAG
Turn videos into text you can search, summarise, embed or feed to a model.
-
Content repurposing
Start from the transcript to write articles, newsletters, show notes or quotes.
-
SEO, GEO and citations
See what a video actually says before you cite it or compare it with what AI assistants quote.
-
Accessibility and subtitle review
Check which videos have captions, in which language, and whether they are manual or auto-generated.
-
Competitor video monitoring
Pull the transcripts of videos from channels you follow and look for topics and claims.
Proxy
Why Residential is the default.
From datacenter IPs, YouTube stops answering normally: the player request starts coming back LOGIN_REQUIRED (a bot check) after one or two videos, and caption downloads get HTTP 429. So the Actor sends both the player request and the caption download through Apify Proxy, with a fresh IP on each retry.
That is why proxyConfiguration defaults to the Residential group, also for API runs and Store tests that send no proxy input. Residential traffic is part of your Apify platform usage.
This was a small test: 20 videos, 3 rounds. It is not a guarantee, and we have not measured how YouTube reacts to hundreds of videos in one run.
Same 20 videos, 9 Nov 2026
- No proxy
- 1 of 16 videos with captions delivered
- Datacenter proxy
- 4 of 16
- Residential (default)
- 16 of 16, in 3 rounds out of 3
- The other 4 videos
- 3 without captions and 1 that does not exist: free status rows
Price
Early access, no Actor fee yet.
Early accessno Actor fee yet
Early access: no Actor fee yet. You pay only standard Apify platform usage, including the Residential proxy. In our tests on 9 Nov 2026 (3 rounds of 20 videos on Residential) platform usage averaged about US$ 0.40 per 1,000 videos (range US$ 0.21–0.51). Pay-per-result pricing may be introduced later; Apify notifies users 14 days in advance.
Open on ApifyWhat you pay
- Actor fee
- None yet
- Apify platform usage
- Standard Apify rates, including Residential proxy
- Status rows
- Free rows that say why a video has no transcript
Good to know
Limits, stated plainly.
What the rows can and cannot tell you.
- Not affiliated with YouTube or Google. Independent tool.
- Only captions the video already has: no audio transcription and no automatic translation.
- Live streams and premieres in progress usually have no captions yet.
- YouTube may change its clients without notice, and the Actor may need an update when that happens.
- Scraping YouTube is subject to YouTube’s terms of service. Use reasonable volumes and check what you may do with the text.
- The volume tested is small (20 videos per run, 3 rounds). Auto-generated captions can contain recognition errors that come from YouTube, not from the Actor.
More from Errand Code
Other products.
- GEOAI visibility auditView product →
- Google Sheets add-onCNPJ & CEP for Google SheetsView product →
- MCP serverBrazil Company Due DiligenceView product →
- MCP serverBrazil Public ProcurementView product →
- MCP serverEU VAT & Peppol E-Invoicing CheckView product →
- Apify ActorAmericanas Product ScraperView product →
- Apify ActorGoogle Ads Transparency ScraperView product →
- Apify ActorCNPJ Due DiligenceView product →
- Apify ActorBuscapé Price ScraperView product →
- Apify ActorGoogle Trends ScraperView product →
- Apify ActorMeta Ad Library ScraperView product →