Skip to content

YouTube transcript extractor

Paste a link and get the whole transcript — as plain text for reading or pasting into a model, with timestamps, or as an SRT file for subtitles. Nothing to install and no account.

Full URLs, youtu.be links, Shorts links, and bare 11-character video IDs all work.

How this works

YouTube stores captions as a separate track alongside the video, whether the creator uploaded them or YouTube generated them automatically. This tool asks for that track, reassembles the timed cues into readable text, and hands you the result in whichever shape you asked for.

When a video offers more than one language, they appear in a picker above the transcript. Auto-generated and auto-translated tracks are labelled, because their accuracy is noticeably lower than a human-written track and you should know which one you have.

The same call in code is one line. Adding cache_max_age says how stale a copy you will accept — transcripts almost never change, so a week is usually right, and a cache hit costs nothing.

the same request, in code
curl "$API/v1/youtube/transcript?url=8XkPqR2nLvE&cache_max_age=7d" \
  -H "x-api-key: $KEY"

Questions

Which videos have transcripts?
Any public video with captions — either uploaded by the creator or auto-generated by YouTube. If a video has captions turned off entirely, no tool can extract them, and this one will tell you that rather than returning an empty box.
Can I get the transcript in another language?
Yes, when the creator published one. Pick a language after the first extraction and the tool re-fetches that caption track. Auto-translated tracks are marked as auto-generated.
Do I need an account?
No. The tool runs against our own API using our key. If you want to do this in code, or for thousands of videos, that is what the API is for.
Is there a limit?
This page is rate limited per visitor so it stays available. For volume, the API endpoint is GET /v1/youtube/transcript at 1 credit per video, and a batch job takes up to 500 URLs in one call.