youtube-full
Original:🇺🇸 English
Translated
1 scripts
Complete YouTube toolkit — transcripts, search, channels, playlists, and metadata all in one skill. Use when you need comprehensive YouTube access, want to search and then get transcripts, browse channel content, work with playlists, or need the full suite of YouTube data endpoints. The all-in-one YouTube skill for agents.
28installs
Added on
NPX Install
npx skill4agent add zeropointrepo/youtube-skills youtube-fullTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →YouTube Full
Complete YouTube toolkit via TranscriptAPI.com. Everything in one skill.
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.
Transcript — 1 credit
bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_URL&format=text&include_timestamp=true&send_metadata=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"| Param | Required | Default | Values |
|---|---|---|---|
| yes | — | YouTube URL or 11-char video ID |
| no | | |
| no | | |
| no | | |
Response ():
format=jsonjson
{
"video_id": "dQw4w9WgXcQ",
"language": "en",
"transcript": [{ "text": "...", "start": 18.0, "duration": 3.5 }],
"metadata": { "title": "...", "author_name": "...", "author_url": "..." }
}Search — 1 credit
bash
# Videos
curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# Channels
curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=channel&limit=10" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"| Param | Required | Default | Validation |
|---|---|---|---|
| yes | — | 1-200 chars |
| no | | |
| no | | 1-50 |
Channels
All channel endpoints accept — an , channel URL, or channel ID. No need to resolve first.
channel@handleUC...Resolve handle — FREE
bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Response:
{"channel_id": "UC...", "resolved_from": "@TED"}Latest 15 videos — FREE
bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Returns exact and ISO timestamps.
viewCountpublishedAll channel videos — 1 credit/page
bash
# First page (100 videos)
curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# Next pages
curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Provide exactly one of or . Response includes and .
channelcontinuationcontinuation_tokenhas_moreSearch 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"Playlists — 1 credit/page
Accepts — a YouTube playlist URL or playlist ID.
playlistbash
# First page
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# Next pages
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Valid ID prefixes: , , , , . Response includes , , , .
PLUULLFLOLplaylist_inforesultscontinuation_tokenhas_moreCredit Costs
| Endpoint | Cost |
|---|---|
| transcript | 1 |
| search | 1 |
| channel/resolve | free |
| channel/latest | free |
| channel/videos | 1/page |
| channel/search | 1 |
| playlist/videos | 1/page |
Validation Rules
| Field | Rule |
|---|---|
| |
| Playlist URL or ID ( |
| 1-200 chars |
| 1-50 |
Errors
| Code | Meaning | Action |
|---|---|---|
| 401 | Bad API key | Check key |
| 402 | No credits | transcriptapi.com/billing |
| 404 | Not found | Resource doesn't exist or no captions |
| 408 | Timeout | Retry once after 2s |
| 422 | Validation error | Check param format |
| 429 | Rate limited | Wait, respect Retry-After |
Typical Workflows
Research workflow: search → pick videos → fetch transcripts
bash
# 1. Search
curl -s "https://transcriptapi.com/api/v2/youtube/search\
?q=machine+learning+explained&limit=5" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# 2. Transcript
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Channel monitoring: latest (free) → transcript
bash
# 1. Latest uploads (free — pass @handle directly)
curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# 2. Transcript of latest
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \
-H "Authorization: Bearer $TRANSCRIPT_API_KEY"Free tier: 100 credits, 300 req/min. Starter ($5/mo): 1,000 credits.