YouTube Get Transcript
PythonYouTubePOST api.upapi.io/youtube-get-transcript.getBest-effort video transcript/captions via youtube-transcript-api. No API key or auth needed (no quota). Returns empty transcript on failure.
Request schema
| Field | Type | Description |
|---|---|---|
videoIdreq | string | YouTube video ID |
maxChars | integer | Max transcript length· default: 4000 |
Response schema
| Field | Type | Description |
|---|---|---|
successreq | boolean | |
videoIdreq | string | |
languagereq | string | |
charCountreq | integer | |
elapsedMsreq | integer | |
transcriptreq | string |
Try it
Try it
YouTube video ID
Max transcript length
Run this endpoint live
Jump in as a guest — no signup — and run youtube-get-transcript.get with your own inputs. Create a free account anytime to get your own API key.
Code examples
curl -X POST https://api.upapi.io/youtube-get-transcript.get \
-H 'Content-Type: application/json' \
-H 'x-api-key: YOUR_API_KEY' \
-d '{ "videoId": "dQw4w9WgXcQ", "maxChars": 4000 }'Developer tools
YouTube Get Transcript API reference
Request parameters
- videoId
- stringrequired— YouTube video ID
- maxChars
- integer— Max transcript length
Response fields
- success
- booleanrequired
- videoId
- stringrequired
- language
- stringrequired
- charCount
- integerrequired
- elapsedMs
- integerrequired
- transcript
- stringrequired
How to call it
Send one POST to api.upapi.io/youtube-get-transcript.get with your key in the X-Api-Key header and the parameters above as a JSON body. Each call spends 4 weighted units of your monthly quota. The operation times out after 15 seconds. Identical requests are served from cache for 3600 seconds, unbilled.
{
"videoId": "dQw4w9WgXcQ",
"maxChars": 4000
}{
"success": false,
"videoId": "dQw4w9WgXcQ",
"language": "en",
"charCount": 1,
"elapsedMs": 1,
"transcript": "example"
}The example response is generated from this operation's published output schema — it shows the shape and field names, not values from a recorded call.