YouTubePOST /v1/youtube/transcript

YouTube Transcript API

Transcript of a YouTube video from its captions: timed segments, joined plain text, chosen language and the list of available caption languages.

Cost
1 credit
Failed requests
Refunded
Cache hits
Free
Response fields
8
Limits
Videos with captions only
All limits

What the YouTube Transcript API does

The YouTube Transcript API returns the transcript of a public YouTube video from its captions: timed segments, the whole text joined into one string, the language used, whether the track is auto-generated and every other caption language available on the video. Send any common link (watch, youtu.be, Shorts, live or embed) or the 11-character video ID, and optionally a language code such as en, de or pt-BR. There is no OAuth, no Google Cloud project and no quota units: you pay 1 credit per successful request, whatever the length of the video. Transcripts of published videos rarely change, so caching them with cache_days makes repeat requests free.

What you get

Top-level fields of the response. Every field is typed and documented; nullable fields are null when the platform does not show them.

FieldTypeDescription
video_idstring11-char video ID
languagestringLanguage code of the returned track
language_namestringTrack name, e.g. 'English' or 'English (auto-generated)'
is_auto_generatedbooleanTrack is YouTube's automatic captions
available_languagesarray<object> (3 fields each)All caption tracks of the video
segment_countintegerNumber of segments
textstringAll segments joined as plain text
segmentsarray<object> (3 fields each)Timed caption segments

Request example

Send the API key as a Bearer token. The body is a small JSON object.

curl -X POST https://api.scrapeeverything.com/v1/youtube/transcript \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'
ParameterRequiredDescription
urlNoYouTube video URL (watch, youtu.be, shorts, live or embed link; a bare ID also works).
idNo11-character video ID.
langNoCaption language code such as en, de, pt-BR or es-419. Default: the video's original language.

What it costs

Each successful request costs 1 credit. Your first 100 credits are free. With credit packs, 1,000 requests to this endpoint cost:

  • Builder pack

    $1.56

    25,000 credits for $39.00

  • Growth pack

    $1.19

    100,000 credits for $119.00

  • Scale pack

    $0.90

    500,000 credits for $449.00

See pricing for all packs and rate limits.

Use cases

  • Feed transcripts to an LLM to summarize, translate or answer questions about videos.
  • Build RAG pipelines and searchable video archives with timestamps for citations.
  • Run topic and brand-mention analysis across a whole channel's uploads.

Limitations: Unofficial API: not affiliated with or endorsed by the platform. Public data only, as a logged-out visitor sees it. Counts can be YouTube's rounded figures; comments are top-level only; transcripts exist only for videos with captions.

  • Without lang, the hand-written track in the video's spoken language is preferred, then YouTube's default track, then automatic captions.
  • lang matches the exact code first, then the same base language (pt matches pt-BR). Machine-translated transcripts are not offered.
  • Returns 404 with code NO_TRANSCRIPT when the video has no captions or none in the requested language (the message lists the available codes).

Questions

Can I get transcripts of videos I do not own?

Yes, for public videos that have a caption track. The official YouTube Data API generally only lets you download captions for videos you can edit.

How do I pick a language?

Pass lang (for example en, de, pt-BR or es-419). The response lists available_languages so you can choose an existing track.

What if a video has no captions?

There is nothing to return and you get an error instead of data. Some new uploads get automatic captions later, so trying again a day later can help.

How much does the YouTube Transcript API cost?

1 credit per successful request. Credits are bought in one-time packs and never expire. New accounts get 100 free credits. No payment details needed.

Am I charged for failed requests?

No. If the platform blocks the request, it times out or something fails on our side, the credits are refunded automatically. A definitive answer such as "this account does not exist" is billed because the lookup completed.

Can I re-read a result without paying again?

Yes. Send cache_days (1 to 14) and a repeat request for the same target within that window is served from your cache for free.

More YouTube endpoints

Start with 100 free credits.

Continue with Google, create an API key and send your first request in under a minute.

Get 100 free credits