Youtube Channels

zeropointrepo/youtube-skills/clawhub/youtube-channels

作者 zeropointrepo4f7994b94e7d無授權條款1K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫2 天前更新

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 their uploads. Not for creating channels or account management.

AI 產生的概覽

透過 TranscriptAPI 瀏覽 YouTube 頻道:解析帳號代稱、列出上傳影片、在頻道內搜尋並取得頻道資訊。

功能
此技能說明如何用 curl 呼叫 TranscriptAPI 的 YouTube 頻道端點,涵蓋 @handle、網址或頻道 ID 的解析、最新上傳、分頁的影片/Shorts/直播清單、頻道內搜尋、頻道簡介、播放清單、社群貼文與首頁專區。文件列出必要的請求標頭、參數、回應欄位、以 continuation 權杖分頁的方式以及錯誤碼。產出的是 API 回傳的結構化頻道與影片中繼資料,而非本機檔案。
適用情境
當焦點是某個 YouTube 頻道時使用:貼上的 @handle 或頻道網址、想瀏覽某創作者的上傳內容、查看近期發布、在頻道內搜尋,或把帳號代稱解析成頻道 ID。不適用於建立頻道或帳號管理。
執行需求
需要連線至 transcriptapi.com 的網路存取,以及 TRANSCRIPT_API_KEY 環境變數(免費方案:100 點數,每分鐘 300 次請求)。請求須帶 Authorization Bearer 標頭與 User-Agent 標頭。此技能不含指令碼,僅為說明文件,另有一份關於驗證設定的參考檔案。

YouTube Channels

YouTube channel tools via TranscriptAPI.com.

Setup

If $TRANSCRIPT_API_KEY is not set, read references/auth-setup.md [blocked] 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 — 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.

bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
inputyes1-200 chars — @handle, URL, or UC... ID

Response:

json
{ "channel_id": "UCsT0YIqwnpJCM-mx7-gSA4Q", "resolved_from": "@TED" }

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.

bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
channelyes@handle, channel URL, or UC... ID

Response:

json
{  "channel": {    "channelId": "UCsT0YIqwnpJCM-mx7-gSA4Q",    "title": "TED",    "author": "TED",    "url": "https://www.youtube.com/channel/UCsT0YIqwnpJCM-mx7-gSA4Q",    "published": "2006-04-17T00:00:00Z"  },  "results": [    {      "videoId": "abc123xyz00",      "title": "Latest Video Title",      "channelId": "UCsT0YIqwnpJCM-mx7-gSA4Q",      "author": "TED",      "published": "2026-01-30T16:00:00Z",      "updated": "2026-01-31T02:00:00Z",      "link": "https://www.youtube.com/watch?v=abc123xyz00",      "description": "Full video description...",      "thumbnail": { "url": "https://i1.ytimg.com/vi/.../hqdefault.jpg" },      "viewCount": "2287630",      "starRating": {        "average": "4.92",        "count": "15000",        "min": "1",        "max": "5"      }    }  ],  "result_count": 15}

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.

bash
# First pagecurl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&tab=videos" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
# Most-viewed first (channel Videos tab, ~30 per page)curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&sort=popular" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
# Next pages (repeat the same tab AND sort)curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN&sort=popular" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
channelconditional@handle, channel URL, or UC... ID
tabnovideos (default), shorts, or streams
sortnolatest, popular, or oldest (omit for the uploads feed)
continuationconditionalnon-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:

Fielduploads (no sort)tab=videos + sorttab=streamstab=shorts
lengthTextpopulatedpopulatedpopulated (LIVE while live)null
publishedTimeTextpopulatedpopulatedpopulated (Streamed 2 years ago)null
viewCountTextpopulatedpopulatedpopulated (null while live)populated
channelId / channelTitle / channelHandle / indexpopulatednullnullnull
members_onlyalways falsetrue on membership videostrue on membership streamsalways 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:

json
{  "results": [{    "videoId": "abc123xyz00",    "title": "Video Title",    "channelId": "UCsT0YIqwnpJCM-mx7-gSA4Q",    "channelTitle": "TED",    "channelHandle": "@TED",    "lengthText": "15:22",    "viewCountText": "3.2M views",    "publishedTimeText": "2 years ago",    "thumbnails": [...],    "index": "0",    "members_only": false  }],  "playlist_info": {"title": "Uploads from TED", "numVideos": "5000", "ownerName": "TED"},  "continuation_token": "4qmFsgKlARIYVVV1...",  "has_more": true}

Keep calling with continuation until has_more: false.

GET /api/v2/youtube/channel/search — 1 credit

Search within a specific channel.

bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/search\?channel=@TED&q=climate+change&limit=30" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
channelyes@handle, channel URL, or UC... ID
qyes1-200 chars
limitno1-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.

bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/info?channel=@TED" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
channelyes@handle, channel URL, or UC... ID

Response:

json
{  "channelId": "UCAuUUnT6oDeKwE6v1NGQxug",  "title": "TED",  "handle": "@TED",  "verified": true,  "subscriberCountText": "23.8M subscribers",  "videoCountText": "4,300 videos",  "description": "The TED Talks channel features ...",  "tags": ["TED", "TED Talks"],  "thumbnails": [...],  "banners": [...],  "availableTabs": ["videos", "shorts", "playlists", "community"]}

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.

bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/playlists?channel=@TED" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
channelconditional@handle, channel URL, or UC... ID
continuationconditionalnon-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).

bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/posts?channel=@TED" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
channelconditional@handle, channel URL, or UC... ID
continuationconditionalnon-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.

bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/sections?channel=@TED" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
ParamRequiredDefaultValidation
channelyes—@handle, channel URL, or UC... ID
tabnofeaturedfeatured (Home), podcasts, releases

podcasts and releases only exist on channels that have them (empty results otherwise — check availableTabs from channel/info first).

Typical workflow

bash
# 1. Check latest uploads (free — pass @handle directly)curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
# 2. Get transcript of recent videocurl -s "https://transcriptapi.com/api/v2/youtube/transcript\?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"

Errors

CodeMeaningAction
400Invalid param combinationBoth or neither channel/continuation
402No creditstranscriptapi.com/billing
403/1010Cloudflare blockAdd or fix User-Agent header
404Channel not foundCheck handle or URL
408TimeoutRetry once
422Invalid channel identifierCheck param format

Free tier: 100 credits, 300 req/min. Free endpoints (resolve, latest) require auth but don't consume credits.

來源與署名

來源:zeropointrepo/youtube-skills位於clawhub/youtube-channels提交4f7994b

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架