YouTube Captions avatar

YouTube Captions

Pricing

from $3.50 / 1,000 captions delivereds

Go to Apify Store
YouTube Captions

YouTube Captions

Extract YouTube captions by type (manual or auto-generated) and language, and list every caption track a video has. Text, timestamps, SRT or VTT, with title, views and publish date. Videos without captions are free. Pay per video.

Pricing

from $3.50 / 1,000 captions delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Categories

Share

Extract YouTube captions by type (manual or auto-generated) and language, and see every caption track each video has. Get the caption text, timestamps, SRT or VTT, with the video's title, views and publish date.

What you get

  • Manual vs auto-generated, your call. captionType: "manual" returns human-made captions only, "auto" only YouTube's automatic ones, "any" the best available.
  • The full list of caption tracks in captionTracks: language code, name, whether it is auto-generated and whether YouTube can translate it. Know what exists before you pick.
  • Language preference in order, e.g. ["pt-BR", "pt", "en"].
  • Timestamps in segments (text, start, duration), plus optional SRT and VTT.
  • Videos without captions never fail the run. They come back with an errorCode and are not charged. A video without captions of the requested type still lists the tracks it does have.
  • Video details included: title, channel, publishedAt, viewCount, lengthSeconds.

Use cases

  • Check which videos have human-made captions for accessibility audits or caption QA.
  • Build training or evaluation data from manual captions only, skipping auto-generated noise.
  • Find which languages a set of videos is captioned in before localizing.

Input

{
"videoUrls": ["https://www.youtube.com/watch?v=iG9CE55wbtY", "dQw4w9WgXcQ"],
"captionType": "manual",
"languages": ["en", "es"],
"includeSegments": true,
"maxItems": 50
}
FieldWhat it does
videoUrlsVideo URLs or IDs. Playlist, channel and search URLs also work.
captionTypeany, manual or auto.
languagesCaption languages in order of preference.
includeSegmentsTimestamped caption lines (default on).
subtitleFormats, translateToAdvanced: SRT/VTT fields and YouTube translation.
maxVideosPerSource, publishedAfter, includeShorts, onlyNewVideosAdvanced: for playlists, channels and searches.
maxItemsHard limit for the whole run (default 50).

Output

One item per video:

{
"videoId": "iG9CE55wbtY",
"url": "https://www.youtube.com/watch?v=iG9CE55wbtY",
"title": "Do schools kill creativity? | Sir Ken Robinson | TED",
"channel": "TED",
"publishedAt": "2007-01-07T00:00:00+00:00",
"viewCount": 26000000,
"language": "en",
"isAutoGenerated": false,
"captionTracks": [
{ "languageCode": "ar", "name": "Arabic", "isAutoGenerated": false, "isTranslatable": true },
{ "languageCode": "en", "name": "English", "isAutoGenerated": false, "isTranslatable": true },
{ "languageCode": "en", "name": "English (auto-generated)", "isAutoGenerated": true, "isTranslatable": true }
],
"text": "Good morning. How are you? ...",
"segments": [{ "text": "Good morning. How are you?", "start": 15.2, "duration": 2.4 }],
"errorCode": null,
"scrapedAt": "2026-09-13T01:30:00+00:00"
}

Items that could not be delivered have error and errorCode filled in and are not charged:

errorCodeMeaning
NO_CAPTIONSThe video has no captions at all
NO_CAPTIONS_IN_LANGUAGENo captions of the requested type (see captionTracks for what exists)
VIDEO_UNAVAILABLE / VIDEO_UNPLAYABLEPrivate, removed or region-locked video
AGE_RESTRICTEDAge restricted video
LIVE_NOT_ENDEDLive stream still running or upcoming
BLOCKEDYouTube blocked every attempt; try again

Pricing

From US$ 3.50 per 1,000 videos with captions delivered, no monthly fee. US$ 5.00 on the Free plan, lower on paid Apify plans:

Apify planPer 1,000 videos with captions
FreeUS$ 5.00
Starter (Bronze)US$ 4.50
Scale (Silver)US$ 4.00
Business (Gold) and aboveUS$ 3.50

The track list is included. Videos without captions of the requested type, unavailable or blocked are free.

How to use

  • Console: paste the URLs, choose the caption type, click Start, export JSON, CSV or Excel.
  • API: POST https://api.apify.com/v2/acts/scrapewise~youtube-captions/run-sync-get-dataset-items?token=YOUR_TOKEN with the input as the body.
  • Integrations: n8n, Make, Zapier, Google Sheets and MCP clients through the Apify integrations.

FAQ

How do I know if a caption is auto-generated? isAutoGenerated on the item says it for the delivered caption, and each entry of captionTracks says it for every track.

Can I get all languages of a video at once? One charge delivers one caption text, and captionTracks lists every language available. Run again with another languages value to get another language's text.

Why did a video come back with NO_CAPTIONS_IN_LANGUAGE? It has no captions of the requested captionType. For example, with manual a video with only auto-generated captions is skipped for free.

Does it transcribe videos without captions? No. It reads the captions YouTube already has.

Limitations

  • Only videos with captions can be delivered.
  • Age-restricted videos and running live streams are not supported.
  • captionTracks can be empty when YouTube hides the track list from both app clients and the caption is recovered by a fallback method.
  • YouTube blocks most datacenter IPs, so residential proxy is the default. Keep it on.
  • Something broke? Open an issue on the Actor page. Issues are answered within 12 hours.

This Actor collects only public data and respects the site's terms.

Changelog

  • 2026-09-14: lower price, from US$ 3.50 per 1,000 on paid plans (US$ 5.00 on Free).
  • 2026-09-13, 0.1: first release. Caption type filter, full caption track list, language preference, timestamps, SRT/VTT, video details.

Keywords: youtube captions, youtube captions downloader, youtube closed captions, youtube caption tracks, auto-generated captions.