---
title: "Search YouTube videos, channels, or playlists"
method: GET
path: "/api/v1/search"
---

# Search YouTube videos, channels, or playlists

`GET /api/v1/search`

## Request

- Base URL: `https://bulktranscripts.co`
- URL: `https://bulktranscripts.co/api/v1/search`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Search YouTube videos, channels, or playlists Cost: 1 credit.

## Query parameters

- `q` string, required
- `type` string
- `limit` integer

## Response `200`

OK

- SearchResults
  - `query` string
  - `type` string
  - `count` integer
  - `results` object[]
    - `id` string
    - `type` string
    - `title` string
    - `url` string
    - `channel` string, nullable
  - `billing` Billing: Present on every credited response. When billing is disabled on a self-hosted install only enabled/unlimited are set.
    - `enabled` boolean
    - `unlimited` boolean
    - `kind` 'anon' | 'license' | 'admin'
    - `remaining` integer
    - `used` integer
    - `granted` integer
    - `freeLimit` integer
    - `creditsCharged` integer

## Other responses

- `400`: Bad request (invalid_input, resolution_failed, or empty_source)
- `401`: Unauthorized (missing_api_key, invalid_api_key, or invalid_token)
- `402`: Out of credits (out_of_credits; carries purchase_url and reconnect_steps)
- `429`: Rate limited (rate_limited; honour the Retry-After header (seconds))

---

[API](https://skmtc.dev/bulktranscripts/apis/bulktranscripts-api.md) · [All operations](https://skmtc.dev/bulktranscripts/apis/bulktranscripts-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bulktranscripts/apis/bulktranscripts-api/revisions/4949830b74d7?raw)
