# YouTube Video Search API

> Search YouTube videos by keyword and get video ID, title, channel, views, length and publish time, with country, language and upload-date filters and continuation-token pagination.

Source: https://www.sandbase.ai/apis/youtube/web/search-video
API reference: https://www.sandbase.ai/apis/youtube/web/search-video/docs

## Facts

- Provider: YouTube
- Type: Data API
- Endpoint: `POST https://api.sandbase.ai/v1/api/youtube/web/search-video`
- Price: $0.0015 per call
- Free allowance: 100 calls per organization per UTC day, shared across eligible APIs
- Capabilities: api, youtube
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

`POST https://api.sandbase.ai/v1/api/youtube/web/search-video` with `Authorization: Bearer $SANDBASE_API_KEY` and the parameters as a JSON body.

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `search_query` | string | yes |  |
| `continuation_token` | string | no |  |
| `country_code` | string | no |  |
| `language_code` | string | no |  |
| `order_by` | string | no |  |

## FAQ

### How do I use the YouTube Video Search API?

Send a POST request to https://api.sandbase.ai/v1/api/youtube/web/search-video with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

### How much does the YouTube Video Search API cost?

$0.0015 per call. Every organization gets 100 free calls per UTC day, shared across eligible SandBase APIs including this one; after that each call is billed at this price from your SandBase balance. There is no subscription.

### What parameters does the YouTube Video Search API accept?

Required: search_query (string). Optional: continuation_token (string), country_code (string), language_code (string) and order_by (string). The Parameters table and the Playground on this page list every field.

### What does the YouTube Video Search API return?

A JSON response returned in the same HTTP request (synchronous). The README on this page includes a sample response.

### Do I need a YouTube developer account or API key?

No. YouTube Video Search runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for YouTube API access separately.

## README

### YouTube Video Search API

Search YouTube for a keyword and get matching videos with their title, channel, view count, length and publish time.

#### Use cases

- Monitor new videos about a brand or topic.
- Research competitors and popular formats.
- Find creators for sponsorships.

#### Request

```bash
curl -X POST "https://api.sandbase.ai/v1/api/youtube/web/search-video" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"search_query": "OpenAI"}'
```

#### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `search_query` | string | Yes | Search keyword. |
| `order_by` | string | No | Order by, default is this_month, optional values are this_week, this_month, this_year, last_hour, today. |
| `country_code` | string | No | Country code, default is us. |
| `language_code` | string | No | Language code, default is en. |
| `continuation_token` | string | No | Token to continue fetching search results. |

#### Example response

Real response for the request above, trimmed to the main fields. User names and long IDs are masked.

```json
{
  "query": "OpenAI",
  "country": "US",
  "lang": "en",
  "number_of_videos": 20,
  "estimated_results": 395560,
  "continuation_token": "<token>",
  "videos": [
    {
      "video_id": "Fls_onRviPM",
      "title": "OpenAI DevDay 2026 Keynote (FULL)",
      "channel_id": "UCXZCJLdBC09xxGZ6gcdrc6A",
      "number_of_views": 650665,
      "published_time": "Streamed 6 days ago",
      "video_length": "53:35",
      "type": "NORMAL",
      "author": "OpenAI"
    }
  ]
}
```

#### Notes

- `order_by`: last_hour, today, this_week, this_month (default) or this_year.
- Paginate with `continuation_token`.

#### Related APIs

- [Get channel ID](/model/youtube/web/channel-id): Get channel ID.
- [Get channel ID from URL V2](/model/youtube/web/channel-id-v2): Convert YouTube channel URL to channel ID..
- [Get channel information](/model/youtube/web/channel-info): Get channel information.
