关于 youtube-channels
youtube-channels 是通过 TranscriptAPI.com 获取和监控 YouTube 频道数据的技能,适用于需要频道信息的工作流。它支持频道动态、资料、播放列表、社区帖子和精选版块,部分内容可分页浏览。
主要功能
- 01解析频道 handle、网址和 ID
- 02获取最新视频和频道资料
- 03浏览上传视频、Shorts 和直播
- 04搜索频道内的视频
- 05列出播放列表、帖子和版块
适用场景
- 01监控频道最新上传内容
- 02按主题查找频道视频
- 03查看频道播放列表和社区帖子
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ zeropointrepo/ youtube-skills --skill youtube-channels安装后在 Claude Code 中输入/youtube-channels确认已加载。
附带文件references/auth-setup.mdreferences/curl-examples.md
详细介绍
YouTube 频道
通过 TranscriptAPI.com 使用 YouTube 频道工具。
设置
如果未设置 $TRANSCRIPT_API_KEY,请阅读 references/auth-setup.md 并按照其中的说明获取和保存密钥。
必需的请求头
每个请求都需要两个请求头:
- Authorization:
Bearer $TRANSCRIPT_API_KEY - User-Agent: 如果已知,请填写 Agent 的名称和版本(例如
HermesAgent/0.11.0、ClaudeCode/1.0)。版本可选,只填写 Agent 名称也可以。请勿省略此请求头,也不要发送默认的空值,否则 Cloudflare 会返回 403(错误代码 1010)并阻止请求。
API 参考
完整的 OpenAPI 规范:transcriptapi.com/openapi.json——请参阅此文档,获取最新的参数和架构。
所有频道端点都接受灵活的输入——@handle、频道 URL 或 UC... 频道 ID。无需先解析。
GET /api/v2/youtube/channel/resolve — 免费
将 @handle、URL 或 UC... ID 转换为规范频道 ID。
GET https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
| 参数 | 必填 | 验证 |
|---|---|---|
input | 是 | 1-200 个字符——@handle、URL 或 UC... ID |
响应:
{ "channel_id": "UCsT0YIqwnpJCM-mx7-gSA4Q", "resolved_from": "@TED" }
如果输入已符合 UC[a-zA-Z0-9_-]{22},则立即返回。
GET /api/v2/youtube/channel/latest — 免费
通过 RSS 获取最新的 15 个视频及准确统计数据。
GET https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
| 参数 | 必填 | 验证 |
|---|---|---|
channel | 是 | @handle、频道 URL 或 UC... ID |
响应:
{
"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
}
非常适合监控频道——免费,且可获取准确的观看次数和 ISO 时间戳。
GET /api/v2/youtube/channel/videos — 每页 1 点数
分页列出频道信息流(每页约 100 个视频)。使用 tab 选择上传视频(默认)、Shorts 或直播;还可以使用可选参数 sort,按最新、热门或最旧对 Videos 标签页排序。
# First page
GET https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&tab=videos
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
# Most-viewed first (channel Videos tab, ~30 per page)
GET https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&sort=popular
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
# Next pages (repeat the same tab AND sort)
GET https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN&sort=popular
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
| 参数 | 必填 | 验证 |
|---|---|---|
channel | 条件必填 | @handle、频道 URL 或 UC... ID |
tab | 否 | videos(默认)、shorts 或 streams |
sort | 否 | latest、popular 或 oldest(上传信息流可省略) |
continuation | 条件必填 | 非空(后续页面) |
请在 channel 和 continuation 中恰好提供一个,不能同时提供。分页时,每一页都要传入相同的 tab 和 sort。
排序。 在 channel/videos 中添加 sort=latest、popular 或 oldest,即可按所需顺序获取频道视频,例如优先显示最热门的上传视频。排序后的页面约返回 30 个视频(未排序页面约返回 100 个),每页费用均为 1 点数。
分页时,每次请求都要发送相同的 sort。
各类信息流中的单项字段:
| 字段 | uploads(无 sort) | tab=videos + sort | tab=streams | tab=shorts |
|---|---|---|---|---|
lengthText | 有值 | 有值 | 有值(直播期间为 LIVE) | null |
publishedTimeText | 有值 | 有值 | 有值(Streamed 2 years ago) | null |
viewCountText | 有值 | 有值 | 有值(直播期间为 null) | 有值 |
channelId / channelTitle / channelHandle / index | 有值 | null | null | null |
members_only | 始终为 false | 会员视频为 true | 会员直播为 true | 始终为 false |
只有当 YouTube 将项目标记为“仅限会员”时,members_only 才为 true。此类项目不包含 viewCountText,因为 YouTube 不会公开会员内容的观看次数。
响应:
{
"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
}
继续使用 continuation 请求,直到 has_more: false。
GET /api/v2/youtube/channel/search — 1 credit
在指定频道内搜索。
GET https://transcriptapi.com/api/v2/youtube/channel/search?channel=@TED&q=climate+change&limit=30
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
| 参数 | 必填 | 验证 |
|---|---|---|
channel | 是 | @handle、频道 URL 或 UC... ID |
q | 是 | 1-200 个字符 |
limit | 否 | 1-50(默认值为 30) |
GET /api/v2/youtube/channel/info — 1 credit
频道资料:标题、handle、认证标记、订阅者/视频数量、简介、标签、缩略图、横幅,以及频道提供的标签页。
GET https://transcriptapi.com/api/v2/youtube/channel/info?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
| 参数 | 必填 | 验证 |
|---|---|---|
channel | 是 | @handle、频道 URL 或 UC... ID |
响应:
{
"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"]
}
数量以显示字符串形式提供;当 YouTube 隐藏数量时,值为 null,绝不会是 0。调用 channel/sections 或 channel/videos 并指定 tab 前,请先检查 availableTabs。
GET /api/v2/youtube/channel/playlists — 每页 1 credit
列出频道上显示的播放列表,便于查找播放列表 ID 并传入 playlist/videos。
GET https://transcriptapi.com/api/v2/youtube/channel/playlists?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
| 参数 | 必填条件 | 验证 |
|---|---|---|
channel | 有条件 | @handle、频道 URL 或 UC... ID |
continuation | 有条件 | 非空(用于后续页面) |
请提供 channel 或 continuation 中的一个,不能同时提供两者。返回 results(playlistId、title、url、videoCountText、thumbnails)、continuation_token、has_more。
GET /api/v2/youtube/channel/posts — 每页 1 credit
列出频道的社区(Posts 标签页)内容,包括文字、发布时间、点赞数及任何附件(图片、视频、播放列表或投票)。
GET https://transcriptapi.com/api/v2/youtube/channel/posts?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
| 参数 | 必填条件 | 验证 |
|---|---|---|
channel | 有条件 | @handle、频道 URL 或 UC... ID |
continuation | 有条件 | 非空(用于后续页面) |
请提供 channel 或 continuation 中的一个,不能同时提供两者。没有社区标签页的频道会返回空的 results 列表(而非错误)。
GET /api/v2/youtube/channel/sections — 1 credit
频道主页(或其 podcasts/releases 页面)上的精选板块。每个板块都包含视频、播放列表、Shorts 或精选频道,并按频道自己的顺序排列。结果不分页。
GET https://transcriptapi.com/api/v2/youtube/channel/sections?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
| 参数 | 必填 | 默认值 | 验证 |
|---|---|---|---|
channel | 是 | — | @handle、频道 URL 或 UC... ID |
tab | 否 | featured | featured(主页)、podcasts、releases |
podcasts 和 releases 仅在频道提供相应页面时存在(否则 results 为空;请先检查 channel/info 中的 availableTabs)。
典型工作流
# 1. Check latest uploads (free — pass @handle directly)
GET https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
# 2. Get transcript of recent video
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
错误
| 代码 | 含义 | 操作 |
|---|---|---|
| 400 | 参数组合无效 | 必须同时指定 channel 和 continuation,或都不指定 |
| 402 | 积分不足 | transcriptapi.com/billing |
| 403/1010 | Cloudflare 拦截 | 添加或修正 User-Agent 标头 |
| 404 | 找不到频道 | 检查 handle 或 URL |
| 408 | 超时 | 重试一次 |
| 422 | 频道标识符无效 | 检查参数格式 |
免费层级:100 个积分,每分钟 300 次请求。免费端点(resolve、latest)需要身份验证,但不会消耗积分。
可直接复制粘贴的示例
此文件中的每个请求都是可直接运行的单行命令:references/curl-examples.md