YouTube Transcriber logoYouTube Transcriber
API Reference

Search videos in a channel by keyword

Keyword-search within a channel. Both `channel` and `q` are required on the first page (pass `continuation` for subsequent pages). To list every upload from a channel without a search keyword, use `/api/v2/channel/videos` instead.

Quick example

curl "https://getyoutubetranscriber.com/api/v2/channel/search?channel=%40TED&q=sleep" \
  -H "Authorization: Bearer ytt_your_key_here"

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


GET
/api/v2/channel/search
AuthorizationBearer <token>

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

In: header

Query Parameters

channel?string

Channel identifier. Accepts an @handle (e.g. @TED), a channel URL (e.g. https://www.youtube.com/@TED), or a bare UCID (e.g. UCAuUUnT6oDeKwE6v1NGQxug). Required on the first page (with q); omit and pass continuation on subsequent pages.

Length1 <= length <= 200
q?string

Search keyword scoped to the specified channel. Matches against the channel's video titles, descriptions, and tags. Required on the first page. To list every upload from a channel without a keyword, use /api/v2/channel/videos instead.

Length1 <= length <= 200
continuation?string

Cursor for the next page of results. Provide instead of channel + q after the first page.

Length1 <= length <= 8192

Response Body

curl -X GET "http://localhost:3011/api/v2/channel/search?channel=%40TED&q=sleep&continuation=string"
{
  "results": [
    {
      "type": "video",
      "video_id": "string",
      "title": "string",
      "channel_id": "string",
      "channel_title": "string",
      "channel_handle": "string",
      "channel_verified": true,
      "length_text": "string",
      "view_count_text": "string",
      "published_time_text": "string",
      "has_captions": true,
      "thumbnails": [
        {
          "url": "string",
          "width": 0,
          "height": 0
        }
      ]
    }
  ],
  "result_count": 0,
  "continuation_token": "string",
  "has_more": true,
  "playlist_info": {
    "title": "string",
    "num_videos": "string",
    "description": "string",
    "owner_name": "string",
    "view_count": "string"
  }
}
{
  "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
}