youtube-data
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseYouTube Data
YouTube数据
YouTube data access via TranscriptAPI.com — lightweight alternative to Google's YouTube Data API.
通过TranscriptAPI.com获取YouTube数据——Google YouTube Data API的轻量替代方案。
Setup
配置步骤
If is not set, help the user create an account (100 free credits, no card):
$TRANSCRIPT_API_KEYStep 1 — Register: Ask user for their email.
bash
node ./scripts/tapi-auth.js register --email USER_EMAIL→ OTP sent to email. Ask user: "Check your email for a 6-digit verification code."
Step 2 — Verify: Once user provides the OTP:
bash
node ./scripts/tapi-auth.js verify --token TOKEN_FROM_STEP_1 --otp CODEAPI key saved to your shell profile and agent config. Ready to use.
Manual option: transcriptapi.com/signup → Dashboard → API Keys.
如果未设置,请协助用户创建账户(100免费积分,无需信用卡):
$TRANSCRIPT_API_KEY步骤1 — 注册: 询问用户的电子邮箱。
bash
node ./scripts/tapi-auth.js register --email USER_EMAIL→ 一次性验证码(OTP)已发送至邮箱。询问用户:"请查收邮箱中的6位验证码。"
步骤2 — 验证: 用户提供OTP后:
bash
node ./scripts/tapi-auth.js verify --token TOKEN_FROM_STEP_1 --otp CODEAPI密钥已保存到你的Shell配置文件和Agent配置中,可随时使用。
手动注册选项:transcriptapi.com/signup → 控制台 → API密钥。
API Reference
API参考文档
Full OpenAPI spec: transcriptapi.com/openapi.json — consult this for the latest parameters and schemas.
完整OpenAPI规范:transcriptapi.com/openapi.json — 请参考该文档获取最新参数和数据结构。
Video Data (transcript + metadata) — 1 credit
视频数据(字幕+元数据)—— 消耗1积分
bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_URL&format=json&include_timestamp=true&send_metadata=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Response:
json
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"transcript": [
{ "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 }
],
"metadata": {
"title": "Rick Astley - Never Gonna Give You Up",
"author_name": "Rick Astley",
"author_url": "https://www.youtube.com/@RickAstley",
"thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg"
}
}bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_URL&format=json&include_timestamp=true&send_metadata=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"响应示例:
json
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"transcript": [
{ "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 }
],
"metadata": {
"title": "Rick Astley - Never Gonna Give You Up",
"author_name": "Rick Astley",
"author_url": "https://www.youtube.com/@RickAstley",
"thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg"
}
}Search Data — 1 credit
搜索数据 —— 消耗1积分
bash
curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Video result fields: , , , , , , , , , ,
videoIdtitlechannelIdchannelTitlechannelHandlechannelVerifiedlengthTextviewCountTextpublishedTimeTexthasCaptionsthumbnailsChannel result fields (): , , , , , , , ,
type=channelchannelIdtitlehandleurldescriptionsubscriberCountverifiedrssUrlthumbnailsbash
curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"视频结果字段: , , , , , , , , , ,
videoIdtitlechannelIdchannelTitlechannelHandlechannelVerifiedlengthTextviewCountTextpublishedTimeTexthasCaptionsthumbnails频道结果字段():, , , , , , , ,
type=channelchannelIdtitlehandleurldescriptionsubscriberCountverifiedrssUrlthumbnailsChannel Data
频道数据
Channel endpoints accept — an , channel URL, or ID. No need to resolve first.
channel@handleUC...Resolve handle to ID (free):
bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Returns:
{"channel_id": "UCsT0YIqwnpJCM-mx7-gSA4Q", "resolved_from": "@TED"}Latest 15 videos with exact stats (free):
bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Returns: info, array with , , (ISO), (exact number), ,
channelresultsvideoIdtitlepublishedviewCountdescriptionthumbnailAll channel videos (paginated, 1 credit/page):
bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Returns 100 videos per page + for pagination.
continuation_tokenSearch within channel (1 credit):
bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/search\
?channel=@TED&q=QUERY&limit=30" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"频道相关接口支持参数——可以是、频道URL或格式的频道ID,无需提前解析。
channel@用户名UC...将用户名解析为频道ID(免费):
bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"返回结果:
{"channel_id": "UCsT0YIqwnpJCM-mx7-gSA4Q", "resolved_from": "@TED"}获取频道最新15个视频及精确数据(免费):
bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"返回结果:信息、包含, , (ISO格式), (精确数值), , 的数组
channelvideoIdtitlepublishedviewCountdescriptionthumbnailresults获取频道所有视频(分页,每页消耗1积分):
bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"每页返回100个视频 + 用于分页的。
continuation_token频道内搜索(消耗1积分):
bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/search\
?channel=@TED&q=QUERY&limit=30" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Playlist Data — 1 credit/page
播放列表数据 —— 每页消耗1积分
Accepts — a YouTube playlist URL or playlist ID.
playlistbash
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Returns: (videos), (, , , ), ,
resultsplaylist_infotitlenumVideosownerNameviewCountcontinuation_tokenhas_more支持参数——可以是YouTube播放列表URL或播放列表ID。
playlistbash
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"返回结果:(视频列表)、(, , , )、、
resultsplaylist_infotitlenumVideosownerNameviewCountcontinuation_tokenhas_moreCredit Costs
积分消耗明细
| Endpoint | Cost | Data returned |
|---|---|---|
| transcript | 1 | Full transcript + metadata |
| search | 1 | Video/channel details |
| channel/resolve | free | Channel ID mapping |
| channel/latest | free | 15 videos + exact stats |
| channel/videos | 1/page | 100 videos per page |
| channel/search | 1 | Videos matching query |
| playlist/videos | 1/page | 100 videos per page |
| 接口 | 消耗积分 | 返回数据内容 |
|---|---|---|
| transcript | 1 | 完整字幕文稿 + 元数据 |
| search | 1 | 视频/频道详情 |
| channel/resolve | 免费 | 频道ID映射关系 |
| channel/latest | 免费 | 15个视频 + 精确数据 |
| channel/videos | 1/每页 | 每页100个视频 |
| channel/search | 1 | 匹配查询条件的视频 |
| playlist/videos | 1/每页 | 每页100个播放列表内的视频 |
Errors
错误码说明
| Code | Action |
|---|---|
| 402 | No credits — transcriptapi.com/billing |
| 404 | Not found |
| 408 | Timeout — retry once |
| 422 | Invalid param format |
Free tier: 100 credits, 300 req/min.
| 错误码 | 处理措施 |
|---|---|
| 402 | 积分不足 — 前往transcriptapi.com/billing充值 |
| 404 | 资源未找到 |
| 408 | 请求超时 — 重试一次 |
| 422 | 参数格式无效 |
免费套餐:100积分,每分钟最多300次请求。