yt-transcript

Fetch the transcript of any YouTube video as JSON, plain text, or SRT, and list the languages a video offers. If you're piping transcripts into an LLM, indexing video content, or generating subtitles, this is the fastest way to get captions out of YouTube.

Endpoint
GET /{video_id} — transcript
GET /{video_id}/languages — available languages
Quick start
curl https://yt-transcript.net/dQw4w9WgXcQ
curl https://yt-transcript.net/dQw4w9WgXcQ?fmt=text
curl https://yt-transcript.net/dQw4w9WgXcQ?fmt=srt
curl https://yt-transcript.net/dQw4w9WgXcQ?lang=fr
curl https://yt-transcript.net/dQw4w9WgXcQ/languages
Response formats ?fmt=
json default
[
  { "text": "We're no strangers to love", "start": 18.53, "duration": 3.2 },
  { "text": "You know the rules and so do I", "start": 21.73, "duration": 2.82 }
]
text
We're no strangers to love
You know the rules and so do I
srt
1
00:00:18,530 --> 00:00:21,730
We're no strangers to love

2
00:00:21,730 --> 00:00:24,550
You know the rules and so do I
Available languages /{video_id}/languages
{
  "languages": [
    { "code": "en", "name": "English" },
    { "code": "de-DE", "name": "German (Germany)" }
  ]
}