youtube-api
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, @
By fetcher-sh · 1,030 installs
npx skills add fetcher-sh/fetcher-skills --skill youtube-api
Source repository · Upstream listing
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):
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:
Most viewed, long form only:
Newest first:
Other uploadDate values: hour , today , month , year . Other duration
values: short , medium . Other sortBy values: relevance , rating .
Search channels or playlists:
A channel by ID, handle, or custom path — then its videos, shorts, and live
streams:
A video's details and comments, or a short's details:
A playlist's videos, videos under a hashtag, and trending (by region):
MCP
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