YouTube Transcriber logoYouTube Transcriber
API Reference

Bulk transcript

Bulk get transcripts. Up to 50 videos per request.

Quick example

curl -X POST "https://getyoutubetranscriber.com/api/v2/transcripts/bulk" \
  -H "Authorization: Bearer ytt_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"video_urls":["dQw4w9WgXcQ","https://youtu.be/9bZkp7q19f0"]}'

Full parameter list, response schema, and try-it samples in every language are below.


POST
/api/v2/transcripts/bulk
AuthorizationBearer <token>

Send your API key as Authorization: Bearer <api_key>.

In: header

video_urlsarray<string>

Array of YouTube video IDs or URLs. Max 50 per request.

Items1 <= items <= 50
format?string

Response in json or text.

Default"json"
Value in"json" | "text"
include_timestamp?boolean

Include start time and duration on each segment.

Defaulttrue
send_metadata?boolean

Include video title, channel, and thumbnail in each item's metadata field. Defaults to true; already-fetched data, no extra credits or upstream calls. Set false to shrink the response.

Defaulttrue
lang?string

Language code applied to every video in the batch.

Match^[a-zA-Z]{2,3}(-[a-zA-Z0-9]{2,8})*$
Lengthlength <= 16

Response Body

curl -X POST "http://localhost:3011/api/v2/transcripts/bulk" \  -H "Content-Type: application/json" \  -d '{    "video_urls": [      "dQw4w9WgXcQ",      "https://youtu.be/9bZkp7q19f0"    ]  }'
{
  "results": [
    {
      "video_url": "string",
      "video_id": "string",
      "status": "success",
      "language": "string",
      "transcript": [
        {
          "text": "We're no strangers to love",
          "start": 18640,
          "duration": 3240
        }
      ],
      "metadata": {
        "title": "string",
        "author_name": "string",
        "author_url": "string",
        "thumbnail_url": "string"
      }
    }
  ],
  "summary": {
    "total": 0,
    "succeeded": 0,
    "failed": 0,
    "credits_charged": 0
  }
}
{
  "type": "https://getyoutubetranscriber.com/api/errors/validation",
  "title": "Validation failed",
  "status": 422,
  "detail": "video_url is required",
  "instance": "/api/v2/transcript",
  "request_id": "req_01J0XYZ...",
  "code": "E_VALIDATION",
  "errors": [
    {
      "field": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "retry_after": 0
}
{
  "type": "https://getyoutubetranscriber.com/api/errors/validation",
  "title": "Validation failed",
  "status": 422,
  "detail": "video_url is required",
  "instance": "/api/v2/transcript",
  "request_id": "req_01J0XYZ...",
  "code": "E_VALIDATION",
  "errors": [
    {
      "field": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "retry_after": 0
}
{
  "type": "https://getyoutubetranscriber.com/api/errors/validation",
  "title": "Validation failed",
  "status": 422,
  "detail": "video_url is required",
  "instance": "/api/v2/transcript",
  "request_id": "req_01J0XYZ...",
  "code": "E_VALIDATION",
  "errors": [
    {
      "field": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "retry_after": 0
}
{
  "type": "https://getyoutubetranscriber.com/api/errors/validation",
  "title": "Validation failed",
  "status": 422,
  "detail": "video_url is required",
  "instance": "/api/v2/transcript",
  "request_id": "req_01J0XYZ...",
  "code": "E_VALIDATION",
  "errors": [
    {
      "field": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "retry_after": 0
}
{
  "type": "https://getyoutubetranscriber.com/api/errors/validation",
  "title": "Validation failed",
  "status": 422,
  "detail": "video_url is required",
  "instance": "/api/v2/transcript",
  "request_id": "req_01J0XYZ...",
  "code": "E_VALIDATION",
  "errors": [
    {
      "field": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "retry_after": 0
}
{
  "type": "https://getyoutubetranscriber.com/api/errors/validation",
  "title": "Validation failed",
  "status": 422,
  "detail": "video_url is required",
  "instance": "/api/v2/transcript",
  "request_id": "req_01J0XYZ...",
  "code": "E_VALIDATION",
  "errors": [
    {
      "field": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "retry_after": 0
}
{
  "type": "https://getyoutubetranscriber.com/api/errors/validation",
  "title": "Validation failed",
  "status": 422,
  "detail": "video_url is required",
  "instance": "/api/v2/transcript",
  "request_id": "req_01J0XYZ...",
  "code": "E_VALIDATION",
  "errors": [
    {
      "field": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "retry_after": 0
}