mcpField
Y
youtube-search

youtube-search

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

关于 youtube-search

youtube-search 是通过 TranscriptAPI.com 搜索 YouTube 并获取所选视频字幕的 Agent 技能。它支持搜索视频、频道、播放列表和电影,也可在指定频道内搜索。

主要功能

  1. 01搜索视频、频道、播放列表和电影
  2. 02按日期、时长和特征筛选结果
  3. 03按相关性或观看量排序视频
  4. 04在指定频道内搜索视频
  5. 05获取搜索结果中的视频字幕

适用场景

  1. 01查找某主题的近期视频
  2. 02按查询词寻找播放列表或频道
  3. 03在频道中查找特定主题视频
  4. 04获取所选结果的字幕

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/zeropointrepo/youtube-skills --skill youtube-search

安装后在 Claude Code 中输入/youtube-search确认已加载。

附带文件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 — 请参阅此文档以了解最新参数和架构。

GET /api/v2/youtube/search — 每页 1 个额度

在 YouTube 上全局搜索视频、频道、播放列表或电影。

GET https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
参数必填默认值验证
q有条件—1-200 个字符(去除首尾空格),仅限第一页
type否videovideo、channel、playlist、movie(仅限第一页)
sort否relevancerelevance 或 views(仅限第一页)
upload_date否—hour、today、week、month、year — 视频,仅限第一页
duration否—short(<4m)、medium(4-20m)、long(>20m)— 视频,仅限第一页
features否—逗号分隔:hd、subtitles、cc、live、4k、hdr 等
limit否201-50
continuation有条件—来自先前响应的令牌(后续页)

请准确提供 q(第一页)或 continuation(后续页)中的一个 — 令牌已包含筛选条件。sort/upload_date/duration/features 仅适用于第一页。

查找最新且观看次数最多的视频:

GET https://transcriptapi.com/api/v2/youtube/search?q=innovation&sort=views&duration=long&upload_date=month
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

搜索某个主题的播放列表:

GET https://transcriptapi.com/api/v2/youtube/search?q=react+tutorial&type=playlist
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

视频搜索响应:

{
  "results": [
    {
      "type": "video",
      "videoId": "dQw4w9WgXcQ",
      "title": "Rick Astley - Never Gonna Give You Up",
      "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
      "channelTitle": "Rick Astley",
      "channelHandle": "@RickAstley",
      "channelVerified": true,
      "lengthText": "3:33",
      "viewCountText": "1.5B views",
      "publishedTimeText": "14 years ago",
      "hasCaptions": true,
      "thumbnails": [{ "url": "...", "width": 120, "height": 90 }]
    }
  ],
  "result_count": 20
}

频道搜索响应(type=channel):

{
  "results": [{
    "type": "channel",
    "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
    "title": "Rick Astley",
    "handle": "@RickAstley",
    "url": "https://www.youtube.com/@RickAstley",
    "description": "Official channel...",
    "subscriberCount": "4.2M subscribers",
    "verified": true,
    "rssUrl": "https://www.youtube.com/feeds/videos.xml?channel_id=UC...",
    "thumbnails": [...]
  }],
  "result_count": 5
}

GET /api/v2/youtube/channel/search — 1 个额度

在指定频道内搜索视频。接受 channel 参数,可使用 @handle、频道 URL 或 UC... ID。

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)

最多返回约 30 个结果(YouTube 限制)。视频响应结构与全局搜索相同。

GET /api/v2/youtube/channel/resolve — 免费

将 @handle 转换为频道 ID:

GET https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

工作流:搜索 → 文字记录

# 1. Search for videos
GET https://transcriptapi.com/api/v2/youtube/search?q=python+web+scraping&type=video&limit=5
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# 2. Get transcript from result
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

错误

代码含义操作
401API 密钥错误检查密钥
402额度不足transcriptapi.com/billing
403/1010被 Cloudflare 拦截添加或修正 User-Agent 请求头
404未找到资源不存在
408超时重试一次
422参数无效检查参数格式

免费套餐:100 个额度,300 次请求/分钟。

复制粘贴示例

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

评论

支持 Markdown