# YouTube Search video API — no account, pay per call

> GET /api/search/video — $0.005 per call in USDC on Base, Polygon, Arbitrum, Monad or Solana. No account, no OAuth — pay with x402 or a prepaid credit key.

- This page (HTML): https://youtube.fetcher.sh/search-video
- Service catalog: https://youtube.fetcher.sh/index.md
- Agent setup: https://youtube.fetcher.sh/skill.md

## Endpoint

`GET /api/search/video`

## Parameters

- `query` — query, required
- `cursor` — query, optional
- `duration` — query, optional (short, medium, long)
- `features` — query, optional (hd, subtitles, creative_commons, 3d, live, purchased, 4k, 360, location, hdr, vr180)
- `uploadDate` — query, optional (hour, today, week, month, year)
- `sortBy` — query, optional (relevance, rating, upload_date, view_count)
- `lang` — query, optional
- `geo` — query, optional

## Pay per call (x402)

Call with no payment and the server answers 402 with machine-readable requirements. Sign, retry — libraries like `@x402/fetch` do the loop.

```bash
# call without payment to inspect the 402 challenge
curl -i 'https://youtube.fetcher.sh/api/search/video?query=...'
# HTTP/1.1 402 Payment Required
# payment-required: <base64 payment requirements>
```

## Prepaid credits

Top up once at the apex `/topup`. Every call after that is a plain HTTP request.

```bash
curl -H 'Authorization: Bearer bby_live_...' \
  'https://youtube.fetcher.sh/api/search/video?query=...'
```

## Response

```json
{
  "status": 200,
  "message": "ok",
  "data": { }
}
```
