mcpField
Y
youtube-channels

youtube-channels

github.com/zeropointrepo生产力1.1k755 次安装5 周前更新
代码仓库

关于 youtube-channels

youtube-channels 是通过 TranscriptAPI.com 获取和监控 YouTube 频道数据的技能,适用于需要频道信息的工作流。它支持频道动态、资料、播放列表、社区帖子和精选版块,部分内容可分页浏览。

主要功能

  1. 01解析频道 handle、网址和 ID
  2. 02获取最新视频和频道资料
  3. 03浏览上传视频、Shorts 和直播
  4. 04搜索频道内的视频
  5. 05列出播放列表、帖子和版块

适用场景

  1. 01监控频道最新上传内容
  2. 02按主题查找频道视频
  3. 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 + sorttab=streamstab=shorts
lengthText有值有值有值(直播期间为 LIVE)null
publishedTimeText有值有值有值(Streamed 2 years ago)null
viewCountText有值有值有值(直播期间为 null)有值
channelId / channelTitle / channelHandle / index有值nullnullnull
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否featuredfeatured(主页)、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/1010Cloudflare 拦截添加或修正 User-Agent 标头
404找不到频道检查 handle 或 URL
408超时重试一次
422频道标识符无效检查参数格式

免费层级:100 个积分,每分钟 300 次请求。免费端点(resolve、latest)需要身份验证,但不会消耗积分。

可直接复制粘贴的示例

此文件中的每个请求都是可直接运行的单行命令:references/curl-examples.md

评论

支持 Markdown