YouTube Transcript API avatar

YouTube Transcript API

Pricing

$7.00 / 1,000 results

Go to Apify Store
YouTube Transcript API

YouTube Transcript API

Get YouTube transcripts, captions, and subtitles from any video URL or video ID. Export results as JSON, text, SRT, or WebVTT for automation and analysis.

Pricing

$7.00 / 1,000 results

Rating

0.0

(0)

Developer

Api Merge

Api Merge

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

a day ago

Last modified

Share

What does YouTube Transcript API do?

YouTube Transcript API fetches a transcript for a YouTube video and saves it to the default Apify dataset.

How it works

Provide a YouTube videoId, choose a language, and select a format. The Actor returns the transcript if YouTube exposes it for the selected language. If the first request is blocked, it retries internally.

No translation fallback is performed by this Actor.

Input

FieldRequiredDescription
videoIdYesYouTube video ID. A full YouTube URL is also accepted.
languageYesTranscript language code, for example en, tr, de, es.
formatYesOutput format: json, text, srt, or webvtt.

The Actor also accepts legacy aliases from the copied template: videoUrl for videoId, and targetLanguage for language.

Input example

{
"videoId": "IELMSD2kdmk",
"language": "en",
"format": "json"
}

Text output example:

{
"videoId": "https://www.youtube.com/watch?v=IELMSD2kdmk",
"language": "en",
"format": "text"
}

Output

The Actor pushes one dataset item with a single response field. The response field contains the returned transcript response.

JSON output example

{
"response": {
"videoId": "IELMSD2kdmk",
"language": "English",
"languageCode": "en",
"isGenerated": true,
"snippets": [
{
"text": "Transcript text...",
"start": 0,
"duration": 4.2
}
]
}
}

Text/SRT/WebVTT output example

{
"response": "1\n00:00:00,000 --> 00:00:04,200\nTranscript text...\n"
}

Notes

  • Some videos do not expose transcripts.
  • The requested language must exist as a transcript language for the video.
  • If the request returns an error response, that response is still saved in the response field.