YouTube Transcript API: get video captions as JSON

Send a YouTube video URL and get its caption track back as JSON, ready for summaries, search indexing or an LLM pipeline. One API key header is all you need; there is no Google Cloud project, OAuth screen or daily quota to manage.

Buy credits

Use cases

Endpoints and cost

EndpointWhat it returnsCredits/callUSD/call (Freelance plan)
/v1/youtube/video_captionsTranscript1$0.0017

Endpoint details

/v1/youtube/video_captions

Transcript 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
urlstringyesYouTube video or short URL
languagestringnoLanguage code, ie 'en', 'es', 'fr' or 'en-US'. Overrides the default track selection unless original_audio=true. If omitted, prefers captions matching the origi
original_audiobooleannoSet to true to return captions only in the original spoken language identified by YouTube. Takes precedence over language. If the original audio cannot be relia
cache_max_agestringnoIf we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp).

Sample response (trimmed):

{
 "video_id": "bjVIDXPP7Uk",
 "type": "video",
 "url": "https://www.youtube.com/watch?v=bjVIDXPP7Uk",
 "transcript": [
  {
   "text": "welcome back to the hell farm and the",
   "start_ms": "160",
   "end_ms": "1920",
   "start_time_text": "0:00"
  }
 ],
 "transcript_only_text": "welcome back to the hell farm and the backyard trails we built these jumps two years ago and last year we just kind of rebuilt them and this year......",
 "language": "English"
}

Example: curl

curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/youtube/video_captions"

Example: Python

import os, requests
r = requests.get("https://api.scrapall.bipsport.com/scapi/v1/youtube/video_captions",
    headers={"X-Scapi-Key": os.environ["SCAPI_KEY"]})
print(r.json())

FAQ

Does it work for videos that are not in English?

The endpoint returns the caption track that YouTube exposes for that video. Test a few videos in your target language first and check the sample response below.

Do I need a Google developer key?

No. One Scrapall API key header is enough; there is no Google Cloud project or quota setup.

What happens if a video has no captions?

If YouTube exposes no caption track, the call returns an error instead of a transcript, so your code can skip that video.

How do I pay and get my API key?

Open the Buy page, pick the Freelance plan and pay in USDT on TRC20 or ERC20. The key is shown once, right after the payment is confirmed on-chain.

How many credits does one call use?

The cost table on this page lists credits per call for each endpoint. The Freelance plan is $45 for 27,000 credits per 30 days.

Get an API key and credits

Full reference: all youtube endpoints.