youtube-data

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

YouTube 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
$TRANSCRIPT_API_KEY
is not set, help the user create an account (100 free credits, no card):
Step 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 CODE
API key saved to your shell profile and agent config. Ready to use.
Manual option: transcriptapi.com/signup → Dashboard → API Keys.
如果未设置
$TRANSCRIPT_API_KEY
,请协助用户创建账户(100免费积分,无需信用卡):
步骤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 CODE
API密钥已保存到你的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:
videoId
,
title
,
channelId
,
channelTitle
,
channelHandle
,
channelVerified
,
lengthText
,
viewCountText
,
publishedTimeText
,
hasCaptions
,
thumbnails
Channel result fields (
type=channel
):
channelId
,
title
,
handle
,
url
,
description
,
subscriberCount
,
verified
,
rssUrl
,
thumbnails
bash
curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
视频结果字段:
videoId
,
title
,
channelId
,
channelTitle
,
channelHandle
,
channelVerified
,
lengthText
,
viewCountText
,
publishedTimeText
,
hasCaptions
,
thumbnails
频道结果字段
type=channel
):
channelId
,
title
,
handle
,
url
,
description
,
subscriberCount
,
verified
,
rssUrl
,
thumbnails

Channel Data

频道数据

Channel endpoints accept
channel
— an
@handle
, channel URL, or
UC...
ID. No need to resolve first.
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:
channel
info,
results
array with
videoId
,
title
,
published
(ISO),
viewCount
(exact number),
description
,
thumbnail
All 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 +
continuation_token
for pagination.
Search 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"
频道相关接口支持
channel
参数——可以是
@用户名
、频道URL或
UC...
格式的频道ID,无需提前解析。
将用户名解析为频道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"
返回结果:
channel
信息、包含
videoId
,
title
,
published
(ISO格式),
viewCount
(精确数值),
description
,
thumbnail
results
数组
获取频道所有视频(分页,每页消耗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
playlist
— a YouTube playlist URL or playlist ID.
bash
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
Returns:
results
(videos),
playlist_info
(
title
,
numVideos
,
ownerName
,
viewCount
),
continuation_token
,
has_more
支持
playlist
参数——可以是YouTube播放列表URL或播放列表ID。
bash
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
返回结果:
results
(视频列表)、
playlist_info
title
,
numVideos
,
ownerName
,
viewCount
)、
continuation_token
has_more

Credit Costs

积分消耗明细

EndpointCostData returned
transcript1Full transcript + metadata
search1Video/channel details
channel/resolvefreeChannel ID mapping
channel/latestfree15 videos + exact stats
channel/videos1/page100 videos per page
channel/search1Videos matching query
playlist/videos1/page100 videos per page
接口消耗积分返回数据内容
transcript1完整字幕文稿 + 元数据
search1视频/频道详情
channel/resolve免费频道ID映射关系
channel/latest免费15个视频 + 精确数据
channel/videos1/每页每页100个视频
channel/search1匹配查询条件的视频
playlist/videos1/每页每页100个播放列表内的视频

Errors

错误码说明

CodeAction
402No credits — transcriptapi.com/billing
404Not found
408Timeout — retry once
422Invalid param format
Free tier: 100 credits, 300 req/min.
错误码处理措施
402积分不足 — 前往transcriptapi.com/billing充值
404资源未找到
408请求超时 — 重试一次
422参数格式无效
免费套餐:100积分,每分钟最多300次请求。