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.
| Endpoint | What it returns | Credits/call | USD/call (Freelance plan) |
|---|---|---|---|
/v1/youtube/video_captions | Transcript | 1 | $0.0017 |
/v1/youtube/video_captionsTranscript 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | yes | YouTube video or short URL |
language | string | no | Language 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_audio | boolean | no | Set 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_age | string | no | If 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"
}curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/youtube/video_captions"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())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.
No. One Scrapall API key header is enough; there is no Google Cloud project or quota setup.
If YouTube exposes no caption track, the call returns an error instead of a transcript, so your code can skip that video.
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.
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.
Full reference: all youtube endpoints.