Body parameters
Video URLs or bare YouTube IDs, from any supported platform. Up to your plan's batch cap: 50 on free/Basic/Pro, 500 on Mega/Scale. Also accepted as the legacy key videoIds (send one or the other, not both).
Where each entry's text may come from. "auto" (the default) reads captions and uses AI Fallback Transcription when there are none, charged on delivery at 1 credit per started 5 minutes of audio. "captions" reads an existing caption track only, so a captionless entry fails (error code no_captions) and nothing is charged for audio. "audio" is not accepted here: skipping captions for 50 videos at once is a job queue, not a batch fetch.
{
"ok": true,
"request_id": "req_…",
"data": {
"kind": "transcript_batch",
"results": [
{
"video_id": "dQw4w9WgXcQ",
"outcome": "ok",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"title": "Example video",
"channel": "Example Channel",
"duration": 212,
"language": "en",
"thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/mqdefault.jpg",
"source": "captions",
"text": "Full transcript text …",
"segments": [
{
"start": 0,
"duration": 3.5,
"text": "Full transcript …"
}
],
"bytes": 14233
},
{
"video_id": "9bZkp7q19f0",
"outcome": "processing",
"job_id": "asr_…",
"poll_url": "/api/v2/transcripts/jobs/asr_…"
},
{
"video_id": "jNQXAC9IVRw",
"outcome": "error",
"error": {
"code": "no_captions",
"number": 4103,
"message": "No caption track (manual or auto-generated) is available.",
"docs": "https://transcriptfetch.com/docs/errors/no_captions",
"retry_with": {
"mode": "auto"
}
}
}
]
},
"usage": {
"credits_spent": 1,
"balance": 97
}
}Frequently asked questions
How many videos can one batch hold?
It depends on the plan, as stated on the endpoint: a smaller cap on the free tier, Basic and Pro, and a larger one on Mega and Scale. A batch over your cap fails whole, before anything is fetched or charged.
What happens to videos without captions in a batch?
With the default mode, auto, each one goes to AI Fallback Transcription: its entry comes back as processing with a job_id, costs nothing on this call, and is billed on delivery. Send mode captions to have such entries fail as no_captions instead.
Do failed entries cost credits?
No. Only successfully delivered caption transcripts are billed on the call, and AI Fallback Transcription only on delivery. An entry that is private, removed or blocked reports an error and costs nothing.
How do I collect the transcripts that were still processing?
Re-send the same batch after the jobs have had time to finish. Finished entries return their text from the cache and are not charged twice; polling each job_id is optional.