名称: youtube-api
描述: 无需官方 API 配额限制即可访问 YouTube API — 提供字幕、搜索、频道、播放列表和元数据,无需 Google API 密钥。适用于需要以编程方式获取 YouTube 数据、希望避免 Google API 配额限制,或询问“youtube api”、“获取视频数据”、“无需 api 密钥的 youtube”、“无配额 youtube”的用户。
主页: https://transcriptapi.com
user-invocable: true
元数据: {"openclaw":{"emoji":"⚡","requires":{"env":["TRANSCRIPT_API_KEY"],"bins":["node"],"config":["~/.openclaw/openclaw.json"]},"primaryEnv":"TRANSCRIPT_API_KEY"}}
通过 TranscriptAPI.com 访问 YouTube 数据 — 无需 Google API 配额。
如果未设置 $TRANSCRIPT_API_KEY,请帮助用户创建一个账户(提供 100 个免费积分,无需绑定银行卡):
步骤 1 — 注册: 向用户索取其邮箱地址。
node ./scripts/tapi-auth.js register --email 用户邮箱
→ 验证码(OTP)将发送至邮箱。询问用户:“请检查您的邮箱,获取 6 位验证码。”
步骤 2 — 验证: 用户提供 OTP 后:
node ./scripts/tapi-auth.js verify --token 步骤1的令牌 --otp 验证码
API 密钥将保存至
~/.openclaw/openclaw.json。详情请参阅下方的 文件写入 部分。修改前会备份现有文件。
手动操作选项:transcriptapi.com/signup → 控制面板 → API 密钥。
验证和保存密钥命令会将 API 密钥保存到 ~/.openclaw/openclaw.json(设置 skills.entries.transcriptapi.apiKey 和 enabled: true)。修改前,现有文件会备份到 ~/.openclaw/openclaw.json.bak。
若要在代理之外的终端/CLI 中使用此 API 密钥,请手动将其添加到 shell 配置文件中:
export TRANSCRIPT_API_KEY=<你的密钥>
完整的 OpenAPI 规范:transcriptapi.com/openapi.json — 请查阅此文件以获取最新的参数和数据结构。
所有端点:https://transcriptapi.com/api/v2/youtube/...
频道端点接受 channel 参数 — 可以是 @句柄、频道 URL 或 UC... 格式的 ID。播放列表端点接受 playlist 参数 — 可以是播放列表 URL 或 ID。
| 端点 | 方法 | 成本 |
|---|---|---|
/transcript?video_url=ID |
GET | 1 积分 |
/search?q=QUERY&type=video |
GET | 1 积分 |
/channel/resolve?input=@handle |
GET | 免费 |
/channel/latest?channel=@handle |
GET | 免费 |
/channel/videos?channel=@handle |
GET | 1 积分/页 |
/channel/search?channel=@handle&q=Q |
GET | 1 积分 |
/playlist/videos?playlist=PL_ID |
GET | 1 积分/页 |
搜索视频:
curl -s "https://transcriptapi.com/api/v2/youtube/search\
?q=python+tutorial&type=video&limit=10" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
获取字幕:
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=dQw4w9WgXcQ&format=text&include_timestamp=true&send_metadata=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
解析频道句柄(免费):
curl -s "https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
获取最新视频(免费):
curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
浏览频道上传视频(分页):
curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# 使用响应中的 continuation token 获取后续页面
浏览播放列表(分页):
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_ID" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
| 字段 | 规则 |
|---|---|
channel |
@句柄、频道 URL 或 UC... 格式的 ID |
playlist |
播放列表 URL 或 ID(PL/UU/LL/FL/OL 前缀) |
q (搜索) |
1-200 个字符 |
limit |
1-50 |
continuation |
非空字符串 |
| Google YouTube Data API | TranscriptAPI | |
|---|---|---|
| 配额 | 10,000 单位/天(约 100 次搜索) | 基于积分,无每日上限 |
| 设置 | OAuth + API 密钥 + 项目 | 单一 API 密钥 |
| 字幕 | 不提供 | 核心功能 |
| 定价 | 超出部分 $0.0015/单位 | $5/1000 积分 |
| 代码 | 含义 | 处理建议 |
|---|---|---|
| 401 | API 密钥无效 | 检查密钥 |
| 402 | 积分不足 | 前往 transcriptapi.com/billing 充值 |
| 404 | 资源未找到 | 确认资源是否存在 |
| 408 | 超时/可重试 | 等待 2 秒后重试一次 |
| 422 | 参数验证错误 | 检查参数格式 |
| 429 | 请求频率过高 | 等待,遵循 Retry-After 头信息 |
免费套餐:100 积分,300 次请求/分钟。入门套餐($5/月):1,000 积分。