Skip to main content
skill CX Codex

youtube-api · fetcher-sh — Claude Code skill: what it does, how to install

This skill gives an agent YouTube search and data access through fetcher.sh. Use it for channel monitoring, video research, and trend tracking.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add fetcher-sh/fetcher-skills --skill youtube-api -a claude-code
Open on GitHub

What youtube-api does

The skill queries YouTube over HTTP GET. It can search videos with upload-date, duration, and sort filters, find channels or playlists, resolve a channel by ID, handle, or custom path, and list its videos, shorts, or live streams. It also retrieves video and short details, comments, playlist contents, hashtag results, and region-based trending videos.

Requests use https://youtube.fetcher.sh. Payment can use prepaid credits with a Bearer key or x402 per-call settlement in USDC. An MCP endpoint is available at https://youtube.fetcher.sh/mcp; responses expose status, message, and data fields.

Prepaid access requires FETCHER_API_KEY, while an exhausted credit balance produces 402; x402 can be used without that header. Data retrieval calls are paid, including calls made through MCP.

What it helps with

  • search YouTube videos with filters
  • look up a channel by ID or handle
  • list a channel’s videos, shorts, or live streams
  • retrieve comments for a video
  • check regional trending videos

Example prompts for the agent

  • Use youtube-api to find AI agent videos uploaded this week.
  • Look up channel handle mkbhd, then list its shorts and live streams.
  • Fetch comments for video dQw4w9WgXcQ and sort them by popularity.

How to install youtube-api

1Skills CLI (Vercel)

npx skills add fetcher-sh/fetcher-skills --skill youtube-api -a claude-code

2Manually: put the files in place

~/.claude/skills/youtube-api/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/youtube-api/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about youtube-api

How do I install youtube-api in Claude Code?

Run npx skills add fetcher-sh/fetcher-skills --skill youtube-api -a claude-code, then check ~/.claude/skills/youtube-api/SKILL.md.

What does youtube-api do?

It gives the agent YouTube search and lookup operations for channels, videos, playlists, comments, hashtags, and trending results. Calls go through the fetcher.sh API.

What does youtube-api require to work?

Prepaid requests use FETCHER_API_KEY as a Bearer key. The alternative is x402 payment without that header.

Source text

SKILL.md · MIT
---
name: youtube-api
description: >-
  A YouTube API alternative on fetcher.sh — pay-per-call in USDC via x402, or
  prepaid credits with a Bearer key, no OAuth and no daily quota. Use when
  the user wants to search YouTube videos with filters for upload date,
  duration, or sort order, search channels or playlists, look up a channel by
  ID, @handle, or custom URL path, list a channel's videos, shorts, or live
  streams, fetch a video's or short's details and comments, list a
  playlist's videos, pull posts under a hashtag, or check trending videos by
  region. Also covers YouTube data pipelines, channel monitoring, video
  analytics input, and trend tracking without the official YouTube Data API's
  daily quota limits.
keywords:
  - youtube
  - youtube-api
  - youtube-api-alternative
  - youtube-data
  - video-search
  - x402
  - ai-agent
---

# YouTube API

YouTube data on demand: video/channel/playlist search with real filters
(upload date, duration, sort order), channel and video lookups, videos,
shorts, live streams, playlist contents, comments, hashtag feeds, and trending
— one plain HTTP GET per call, paid as you go. No developer console project,
no OAuth consent screen, no daily quota.

Base URL: `https://youtube.fetcher.sh`

## Authentication

Two ways to pay, same data — full mechanics in the [`fetcher`
skill](../fetcher/SKILL.md):

```bash
# 1. Prepaid credits (recommended — get a key at https://fetcher.sh/topup
#    or via POST /api/credits/topup, see the fetcher skill)
export FETCHER_API_KEY="bby_live_xxxxxxxxxxxx"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://youtube.fetcher.sh/api/search/video?query=hello"

# 2. x402 pay-per-call — omit the header; a GET with no payment returns 402
#    with machine-readable payment requirements (USDC on Base, Polygon,
#    Arbitrum, Monad, or Solana). @x402/fetch signs and retries automatically.
```

Every response is `{ "status": number, "message": string, "data": ... }`; the
HTTP status mirrors `status`.

## Endpoints (15 — all GET, $0.005/call)

| Endpoint | What it returns |
| --- | --- |
| `/api/search/video` | Videos matching a query; upload date, duration, sort filters |
| `/api/search/channel` | Channels matching a query |
| `/api/search/playlist` | Playlists matching a query |
| `/api/channel/{id}` | Channel details by ID |
| `/api/channel/handle/{handle}` | Channel details by @handle |
| `/api/channel/path` | Channel details by custom URL path |
| `/api/channel/{id}/videos` | A channel's videos |
| `/api/channel/{id}/shorts` | A channel's shorts |
| `/api/channel/{id}/live-streams` | A channel's live streams |
| `/api/video/{id}` | Video (or short) details |
| `/api/video/{id}/comments` | A video's comments |
| `/api/shorts/{id}` | Short details |
| `/api/playlist/{id}/videos` | A playlist's videos |
| `/api/hashtag/{tag}` | Videos under a hashtag |
| `/api/trending` | Trending videos, optionally by region |

`{id}` / `{handle}` / `{tag}` are path parameters. Optional `cursor` /
`lang` / `geo` refine results; `query` (search) and `channelPath` (path
lookup) are required where they appear.

## Scenarios

**Uploaded this week:**

```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "query=ai agents" -G \
  --data-urlencode "uploadDate=week" \
  "https://youtube.fetcher.sh/api/search/video"
```

**Most viewed, long-form only:**

```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "query=x402 protocol" -G \
  --data-urlencode "sortBy=view_count" \
  --data-urlencode "duration=long" \
  "https://youtube.fetcher.sh/api/search/video"
```

**Newest first:**

```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "query=stablecoin payments" -G \
  --data-urlencode "sortBy=upload_date" \
  "https://youtube.fetcher.sh/api/search/video"
```

Other `uploadDate` values: `hour`, `today`, `month`, `year`. Other `duration`
values: `short`, `medium`. Other `sortBy` values: `relevance`, `rating`.

**Search channels or playlists:**

```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "query=lofi hip hop" -G \
  "https://youtube.fetcher.sh/api/search/channel"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "query=lofi hip hop" -G \
  "https://youtube.fetcher.sh/api/search/playlist"
```

**A channel by ID, handle, or custom path — then its videos, shorts, and live
streams:**

```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://youtube.fetcher.sh/api/channel/handle/mkbhd"

curl -H "Authorization: Bearer $FETCHER_API_KEY" -G \
  --data-urlencode "channelPath=@mkbhd" \
  "https://youtube.fetcher.sh/api/channel/path"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://youtube.fetcher.sh/api/channel/UCBJycsmduvYEL83R_U4JriQ/videos"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://youtube.fetcher.sh/api/channel/UCBJycsmduvYEL83R_U4JriQ/shorts"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://youtube.fetcher.sh/api/channel/UCBJycsmduvYEL83R_U4JriQ/live-streams"
```

**A video's details and comments, or a short's details:**

```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://youtube.fetcher.sh/api/video/dQw4w9WgXcQ"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "sort=top" -G \
  "https://youtube.fetcher.sh/api/video/dQw4w9WgXcQ/comments"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://youtube.fetcher.sh/api/shorts/abc123XYZ90"
```

**A playlist's videos, videos under a hashtag, and trending (by region):**

```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://youtube.fetcher.sh/api/playlist/PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI/videos"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  "https://youtube.fetcher.sh/api/hashtag/shorts"

curl -H "Authorization: Bearer $FETCHER_API_KEY" \
  --data-urlencode "geo=US" -G \
  "https://youtube.fetcher.sh/api/trending"
```

## MCP

```json
{
  "mcpServers": {
    "youtube": {
      "url": "https://youtube.fetcher.sh/mcp",
      "headers": { "Authorization": "Bearer bby_live_..." }
    }
  }
}
```

Free: `search_endpoints`, `describe_endpoint`, `check_balance`. Paid:
`fetch_data` (any endpoint above), `topup_credits`, plus the named shortcut
`youtube_search_video`. Drop the `headers` block to pay per call with x402
instead — see the [`fetcher` skill](../fetcher/SKILL.md) for the full flow.

## Errors

- `400` — missing/invalid parameter (message names it)
- `401` — unknown or rotated key
- `402` — payment required (x402 challenge) or `topup_required` (credits
  exhausted)
- `404` — not a priced path
- No rate limits; no refunds on upstream failures (settlement precedes
  delivery)

## Reference

- Full agent setup: <https://youtube.fetcher.sh/skill.md>
- OpenAPI 3.1 contract: <https://youtube.fetcher.sh/openapi.json>
- Condensed catalog: <https://youtube.fetcher.sh/llms.txt>
- Payment, credits, and MCP deep dive: [`fetcher` skill](../fetcher/SKILL.md)
- Site: <https://youtube.fetcher.sh>

© fetcher-sh · MIT · fetcher-sh/fetcher-skills

Similar skills

All skills for Backend and APIs →

youtube-api by other authors comes first.

From the same set11

tiktok-api Query TikTok posts, profiles, hashtags, sounds, and comment threads through fetcher.sh. Use it to gather content data without browser scraping. CX Codex +1 6,700installs instagram-api This skill hands your agent 16 Instagram endpoints on fetcher.sh: profiles, posts, reels, hashtags. Pay per call or from a prepaid balance. CX Codex +1 6,700installs google-news This skill queries Google News through an HTTP API, covering keyword search, section headlines, and article-link decoding. Use it for topic or press monitoring. CX Codex +1 3,700installs google-maps This skill hands your agent place search, business details and reviews through fetcher.sh. Useful when a project needs points-of-interest data without a Google Cloud setup. CX Codex +1 3,700installs fetcher Shared payment and setup skill for fetcher.sh: API keys, credits, x402 micropayments and MCP server config. Meant to run before or alongside the per-service skills. CX Codex +1 3,700installs google-play The skill gives your agent HTTP access to Android app search, details, reviews and permissions. Useful for ASO research and competitor monitoring. CX Codex +1 3,600installs x-api Query posts, profiles, followers, and trends on X without OAuth handshakes or developer reviews. The skill routes requests through 15 pay-per-call GET endpoints. CX Codex +1 3,600installs reddit-api This skill guides an agent through fetching Reddit posts, feeds, comments, and user profiles via fetcher.sh. Use it for keyword searches or to gather material for monitoring and analysis. CX Codex +1 3,600installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor