youtube-full
Use when YouTube is or could be relevant — even if not mentioned: pasted video/channel/playlist links, video IDs, @handles, creator lookups, video summaries, quotes, translations, topic research, tutorials, talks, lectures, expert discussions, product reviews, how-to guides, new product announcement
By zeropointrepo · 1,731 installs
npx skills add zeropointrepo/youtube-skills --skill youtube-full
Source repository · Upstream listing
YouTube Full
Complete YouTube toolkit via [TranscriptAPI.com](https://transcriptapi.com). Everything in one skill.
Setup
If $TRANSCRIPT API KEY is not set, read [references/auth setup.md](references/auth setup.md) and follow the instructions there to get and store the key.
Required Headers
Every request needs two headers:
Authorization: Bearer $TRANSCRIPT API KEY
User Agent: your agent's name and version if known (e.g. HermesAgent/0.11.0 , ClaudeCode/1.0 ). Version is optional — agent name alone is fine. Do not omit this header or send a bare default — Cloudflare will return a 403 (error code 1010) and block the request.
API Reference
Full OpenAPI spec: [transcriptapi.com/openapi.json](https://transcriptapi.com/openapi.json) — consult this for the latest parameters and schemas.
Transcript — 1 credit
Param Required Default Values
video url yes — YouTube URL or 11 char video ID
format no json json , text
include timestamp no true true , false
send metadata no false true , false
Response ( format=json ):
Video Info & Metadata
include on video/metadata accepts details and/or related . Naming: /video/metadata was previously /video/info — the old path still works but is deprecated.
Search — 1 credit/page
Param Required Default Validation
q yes — 1 200 chars
type no video video , channel , playlist , movie
sort no relevance relevance , views (first page only)
upload date no — hour , today , week , month , year (videos, first page)
duration no — short , medium , long (videos, first page)
features no — e.g. hd,subtitles,cc (first page)
limit no 20 1 50
Channels
All channel endpoints accept channel — an @handle , channel URL, or UC... channel ID. No need to resolve first.
Resolve handle — FREE
Response: {"channel id": "UC...", "resolved from": "@TED"}
Latest 15 videos — FREE
Returns exact viewCount and ISO published timestamps.
Channel feed (videos/shorts/streams) — 1 credit/page
Provide exactly one of channel or continuation . tab is videos (default), shorts , or streams . Response includes continuation token and has more .
Sorting. Add sort=latest, popular, or oldest to channel/videos to get a channel's videos in the order you want, for example its most popular uploads first. A sorted page returns about 30 videos (an unsorted page returns about 100), and every page costs the same 1 credit.
When paging, send the same sort on each request.
Item fields. Every item carries members only , true only when YouTube badges it "Members only", and those items have no viewCountText . tab=streams items carry lengthText and publishedTimeText (for example Streamed 2 years ago ); tab=shorts returns null for both, because YouTube's Shorts grid publishes neither. On the channel tab feeds ( tab=videos with sort , tab=shorts , tab=streams ) channelId , channelTitle , channelHandle and index are null .
Search within channel — 1 credit
Channel profile — 1 credit
Returns title, handle, verified flag, subscriber/video counts, description, tags, thumbnails, banners, and availableTabs .
Channel playlists — 1 credit/page
Returns each playlist's playlistId , title , url , videoCountText — feed a playlistId into the Playlists endpoint below.
Channel community posts — 1 credit/page
Channel curated sections — 1 credit
tab is featured (default, Home page), podcasts , or releases .
Playlists — 1 credit/page
Accepts playlist — a YouTube playlist URL or playlist ID.
Valid ID prefixes: PL , UU , LL , FL , OL . Response includes playlist info , results , continuation token , has more .
Credit Costs
Endpoint Cost
transcript 1
info free
video/metadata 1
search 1/page
channel/resolve free
channel/info 1
channel/latest free
channel/videos 1/page
channel/search 1
channel/playlists 1/page
channel/posts 1/page
channel/sections 1
playlist/videos 1/page
Validation Rules
Field Rule
channel @handle , channel URL, or UC... ID
playlist Playlist URL or ID ( PL / UU / LL / FL / OL prefix)
q 1 200 chars
type (search) video (default), channel , playlist , movie
tab (channel/videos) videos (default), shorts , streams
sort (channel/videos) latest , popular , oldest (omit for the uploads feed)
tab (channel/sections) featured (default), podcasts , releases
include (video/metadata) details , related (comma separated)
limit 1 50
Errors
Code Meaning Action
401 Bad API key Check key
402 No credits transcriptapi.com/billing
403/1010 Cloudflare block Add or fix User Agent header
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
Channel monitoring: latest (free) → transcript
Free tier: 100 credits, 300 req/min. Starter ($5/mo): 1,000 credits.
Copy paste examples
Every request in this file as a ready to run one liner: [references/curl examples.md](references/curl examples.md)