YouTube Transcript API: Captions with Timestamps avatar

YouTube Transcript API: Captions with Timestamps

Pricing

from $5.00 / 1,000 transcripts

Go to Apify Store
YouTube Transcript API: Captions with Timestamps

YouTube Transcript API: Captions with Timestamps

Get YouTube video transcripts from video URLs or IDs: full caption text, timestamped segments and language. Uses the video's existing captions only, no AI guessing. Videos without captions are free.

Pricing

from $5.00 / 1,000 transcripts

Rating

0.0

(0)

Developer

SteadyScrape

SteadyScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

43 minutes ago

Last modified

Security

Limited permissions

Share

Get the transcript of any public YouTube video from its URL or video ID: full caption text, timestamped segments (start/end in seconds) and video link. Paste one link or a list of up to 200 videos and get clean JSON, CSV or Excel back. $0.005 per transcript; videos without captions are free.

Only real captions. We return the captions that exist on the video (creator-uploaded or YouTube auto-generated). No AI guessing, no speech-to-text, no invented text. If a video has no captions, you get a clear no_captions row and you are not charged.

What you can use it for

  • Feed video transcripts into LLMs, RAG pipelines and summarizers
  • Content research, SEO and repurposing videos into articles
  • Searching what was said in a video, with timestamps to jump to
  • Subtitle analysis across many videos

Input

FieldDescription
videosYouTube links (watch, youtu.be, shorts, embed, live) or 11-character IDs. Duplicates removed. Max 200 per run.
includeSegmentsTimestamped caption lines (default on). Turn off for plain text only.
mockTest mode: returns sample text (not real captions) so you can test your integration. Free.
{ "videos": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ", "https://youtu.be/9bZkp7q19f0"], "includeSegments": true }

Output (one row per video, illustrative example)

{
"videoId": "dQw4w9WgXcQ",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"status": "ok",
"language": null,
"requestedLanguage": "en",
"text": "We're no strangers to love ...",
"chars": 2089,
"segmentCount": 61,
"durationSec": 211.3,
"segments": [{ "start": 18.6, "end": 21.9, "text": "We're no strangers to love" }],
"truncated": false,
"chargeEvent": "transcript"
}

status is one of: ok, no_captions, unavailable (private, removed or restricted), invalid (not a YouTube video link), timeout, failed, skipped. Only ok rows are charged.

Language fields: language is null in this version because the data source does not reliably report which caption track it returned. requestedLanguage is only the preference sent with the request, not the spoken or caption language. Captions are returned as the video provides them; translation is not offered.

no_captions vs unavailable: the data source often cannot tell a video without captions apart from a deleted, private or mistyped video ID, so those may all show as no_captions. All of them are free.

Pricing

Pay only when you get transcripts:

  • $0.005 per transcript returned (status ok)
  • $0.003 per run, charged only if the run returned at least one transcript
  • Plus Apify's standard $0.00005 Actor start fee.

Videos without captions, unavailable or invalid videos, timeouts, errors, skipped videos and test mode are free. A run where no video had a transcript pays only the Apify start fee.

Examples: 1 video = $0.008. 10 videos with captions = $0.053. 1,000 videos with captions (5 runs of 200) = $5.015.

Limits

  • Public videos with existing captions only. No logins, no cookies, no private or members-only videos. No AI or audio transcription.
  • Up to 200 videos per run; very long transcripts are cut at 1,000,000 characters (truncated: true).
  • Captions are usually ready within a minute; a video still pending after 5 minutes is returned as timeout (free) so you can retry it.
  • Maximum charge per run is respected: videos are only sent when the remaining budget can pay for them; the rest are returned as skipped (free).
  • Runs full of videos without captions stop early: a run stops after 25 videos without a transcript, plus one more for each transcript returned. Remaining videos are skipped (free); split very large lists or remove videos without captions.
  • Free Apify plan: up to 10 videos per run and a daily usage limit per account.
  • Comments, video stats and search are not included.

FAQ

Do you generate transcripts with AI? No. Only captions already on the video (uploaded or YouTube auto-generated). Why is language empty? The data source doesn't reliably say which caption track it returned, so we don't guess. Can I translate captions? Not in this version. Can I use it from my code or AI agent? Yes: Apify API, scheduling, webhooks, Make, Zapier, n8n and MCP clients all work with this Actor.

Data source & terms

Captions are retrieved from YouTube via the DataForSEO API. This service is not affiliated with or endorsed by YouTube or Google. The service is not offered to customers in Russia, Belarus, Syria, North Korea, or occupied Crimea.

More from SteadyScrape

See every SteadyScrape (steady-scrape) Actor on our Apify profile.

Support

Questions or a video that should have worked? Open an issue in the Issues tab.

Built and maintained by SteadyScrape.