youtube-channels
Use when a YouTube channel is the focus: pasted @handles or channel URLs, requests to browse a creator's uploads, see what a channel has posted recently, search within a channel, or resolve a handle to a channel ID. Also use when the user names a creator and wants to explore their content or monitor
By zeropointrepo · 600 installs
npx skills add zeropointrepo/youtube-skills --skill youtube-channels
Source repository · Upstream listing
YouTube Channels
YouTube channel tools via [TranscriptAPI.com](https://transcriptapi.com).
Setup
If $TRANSCRIPT API KEY is not set, read [references/auth setup.md](references/auth setup.md) and follow the instructions there to get and store the key.
Required Headers
Every request needs two headers:
Authorization: Bearer $TRANSCRIPT API KEY
User Agent: your agent's name and version if known (e.g. HermesAgent/0.11.0 , ClaudeCode/1.0 ). Version is optional — agent name alone is fine. Do not omit this header or send a bare default — Cloudflare will return a 403 (error code 1010) and block the request.
API Reference
Full OpenAPI spec: [transcriptapi.com/openapi.json](https://transcriptapi.com/openapi.json) — consult this for the latest parameters and schemas.
All channel endpoints accept flexible input — @handle , channel URL, or UC... channel ID. No need to resolve first.
GET /api/v2/youtube/channel/resolve — FREE
Convert @handle, URL, or UC... ID to canonical channel ID.
Param Required Validation
input yes 1 200 chars — @handle, URL, or UC... ID
Response:
If input is already UC[a zA Z0 9 ]{22} , returns immediately.
GET /api/v2/youtube/channel/latest — FREE
Latest 15 videos via RSS with exact stats.
Param Required Validation
channel yes @handle , channel URL, or UC... ID
Response:
Great for monitoring channels — free and gives exact view counts + ISO timestamps.
GET /api/v2/youtube/channel/videos — 1 credit/page
Paginated list of a channel's feed (~100 per page). Use tab to pick uploads (default), Shorts, or live streams, and the optional sort to order the Videos tab by latest, popular, or oldest.
Param Required Validation
channel conditional @handle , channel URL, or UC... ID
tab no videos (default), shorts , or streams
sort no latest , popular , or oldest (omit for the uploads feed)
continuation conditional non empty (next pages)
Provide exactly one of channel or continuation , not both. When paginating, pass the same tab and sort on every page.
Sorting. Add sort=latest, popular, or oldest to channel/videos to get a channel's videos in the order you want, for example its most popular uploads first. A sorted page returns about 30 videos (an unsorted page returns about 100), and every page costs the same 1 credit.
When paging, send the same sort on each request.
Per item fields by feed:
Field uploads (no sort ) tab=videos + sort tab=streams tab=shorts
lengthText populated populated populated ( LIVE while live) null
publishedTimeText populated populated populated ( Streamed 2 years ago ) null
viewCountText populated populated populated ( null while live) populated
channelId / channelTitle / channelHandle / index populated null null null
members only always false true on membership videos true on membership streams always false
members only is true only when YouTube badges the item "Members only". Such items carry no viewCountText , because YouTube does not publish view counts for membership content.
Response:
Keep calling with continuation until has more: false .
GET /api/v2/youtube/channel/search — 1 credit
Search within a specific channel.
Param Required Validation
channel yes @handle , channel URL, or UC... ID
q yes 1 200 chars
limit no 1 50 (default 30)
GET /api/v2/youtube/channel/info — 1 credit
A channel's profile: title, handle, verified flag, subscriber/video counts, description, tags, thumbnails, banners, and the tabs it exposes.
Param Required Validation
channel yes @handle , channel URL, or UC... ID
Response:
Counts are display strings and null when YouTube hides them — never 0 . Check availableTabs before calling channel/sections or channel/videos with a tab .
GET /api/v2/youtube/channel/playlists — 1 credit/page
List the playlists shown on a channel — useful for finding a playlist ID to feed into playlist/videos .
Param Required Validation
channel conditional @handle , channel URL, or UC... ID
continuation conditional non empty (next pages)
Provide exactly one of channel or continuation , not both. Returns results ( playlistId , title , url , videoCountText , thumbnails ), continuation token , has more .
GET /api/v2/youtube/channel/posts — 1 credit/page
List a channel's community (Posts tab) content — text, publish time, like counts, and any attachment (image, video, playlist, or poll).
Param Required Validation
channel conditional @handle , channel URL, or UC... ID
continuation conditional non empty (next pages)
Provide exactly one of channel or continuation , not both. Channels with no community tab return an empty results list (not an error).
GET /api/v2/youtube/channel/sections — 1 credit
The curated shelves on a channel's Home page (or its podcasts / releases pages) — each shelf holds videos, playlists, shorts, or featured channels, in the channel's own order. Not paginated.
Param Required Default Validation
channel yes — @handle , channel URL, or UC... ID
tab no featured featured (Home), podcasts , releases
podcasts and releases only exist on channels that have them (empty results otherwise — check availableTabs from channel/info first).
Typical workflow
Errors
Code Meaning Action
400 Invalid param combination Both or neither channel/continuation
402 No credits transcriptapi.com/billing
403/1010 Cloudflare block Add or fix User Agent header
404 Channel not found Check handle or URL
408 Timeout Retry once
422 Invalid channel identifier Check param format
Free tier: 100 credits, 300 req/min. Free endpoints (resolve, latest) require auth but don't consume credits.
Copy paste examples
Every request in this file as a ready to run one liner: [references/curl examples.md](references/curl examples.md)