youtube-data
Original:🇺🇸 English
Translated
1 scripts
Access YouTube video data — transcripts, metadata, channel info, search, and playlists. A lightweight alternative to Google's YouTube Data API with no quota limits. Use when the user needs structured data from YouTube videos, channels, or playlists without dealing with Google API setup, OAuth, or daily quotas.
2installs
Added on
NPX Install
npx skill4agent add zeropointrepo/youtube-skills youtube-dataTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →YouTube Data
YouTube data access via TranscriptAPI.com — lightweight alternative to Google's 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.
API Reference
Full OpenAPI spec: transcriptapi.com/openapi.json — consult this for the latest parameters and schemas.
Video Data (transcript + metadata) — 1 credit
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"
}
}Search Data — 1 credit
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=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"Playlist Data — 1 credit/page
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_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 |
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.