transcriptapi

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 · 684 installs

npx skills add zeropointrepo/youtube-skills --skill transcriptapi

Source repository · Upstream listing

TranscriptAPI Full YouTube data toolkit via [TranscriptAPI.com](https://transcriptapi.com). Transcripts, search, channels, playlists — one API key. 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. Auth All requests: H "Authorization: Bearer $TRANSCRIPT API KEY" Endpoints Channel endpoints accept channel — an @handle , channel URL, or UC... ID. No need to resolve first. Playlist endpoints accept playlist — a playlist URL or ID. GET /api/v2/youtube/transcript — 1 credit Param Required Default Validation video url yes — YouTube URL or 11 char video ID format no json json or text include timestamp no true true or false send metadata no false true or false Accepts: https://youtube.com/watch?v=ID , https://youtu.be/ID , youtube.com/shorts/ID , or bare ID . Response ( format=json ): GET /api/v2/youtube/search — 1 credit Param Required Default Validation q yes — 1 200 chars (trimmed) type no video video or channel limit no 20 1 50 Response ( type=video ): Response ( type=channel ): GET /api/v2/youtube/channel/resolve — FREE (0 credits) Param Required Validation input yes 1 200 chars — @handle, URL, or UC... ID Response: If input is already a valid UC[a zA Z0 9 ]{22} ID, returns immediately without lookup. GET /api/v2/youtube/channel/videos — 1 credit/page Param Required Validation channel conditional @handle , channel URL, or UC... ID continuation conditional non empty string (next pages) Provide exactly one of channel or continuation . Response: GET /api/v2/youtube/channel/latest — FREE (0 credits) Param Required Validation channel yes @handle , channel URL, or UC... ID Returns last 15 videos via RSS with exact view counts and ISO timestamps. Response: GET /api/v2/youtube/channel/search — 1 credit Param Required Validation channel yes @handle , channel URL, or UC... ID q yes 1 200 chars limit no 1 50 (default 30) GET /api/v2/youtube/playlist/videos — 1 credit/page Param Required Validation playlist conditional Playlist URL or ID ( PL / UU / LL / FL / OL prefix) continuation conditional non empty string Credit Costs Endpoint Cost transcript 1 search 1 channel/resolve free channel/search 1 channel/videos 1/page channel/latest free playlist/videos 1/page Errors Code Meaning Action 401 Bad API key Check key, re run setup 402 No credits Top up at transcriptapi.com/billing 403/1010 Cloudflare block Add or fix User Agent header 404 Not found Video/channel/playlist doesn't exist or no captions 408 Timeout/retryable Retry once after 2s 422 Validation error Check param format 429 Rate limited Wait, respect Retry After Tips When user shares YouTube URL with no instruction, fetch transcript and summarize key points. Use channel/latest (free) to check for new uploads before fetching transcripts — pass @handle directly. For research: search → pick videos → fetch transcripts. Free tier: 100 credits, 300 req/min. Starter ($5/mo): 1,000 credits, 300 req/min. Copy paste examples Every request in this file as a ready to run one liner: [references/curl examples.md](references/curl examples.md)