captions
Use when captions, subtitles, or the spoken text of a YouTube video is needed — even if not explicitly requested: pasted video links or IDs, requests to read, quote, or translate a video, accessibility needs, deaf/HoH use cases, content review, or language learning. Fetches timestamped caption data
By zeropointrepo · 573 installs
npx skills add zeropointrepo/youtube-skills --skill captions
Source repository · Upstream listing
Captions
Extract closed captions from YouTube videos via [TranscriptAPI.com](https://transcriptapi.com).
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.
GET /api/v2/youtube/transcript
Param Required Default Values
video url yes — YouTube URL or video ID
format no json json (structured), text (plain)
include timestamp no true true , false
send metadata no false true , false
Response ( format=json — best for accessibility/timing):
start : seconds from video start
duration : how long caption is displayed
Response ( format=text — readable):
Tips
Use format=json for sync'd captions (accessibility tools, timing analysis).
Use format=text with include timestamp=false for clean reading.
Auto generated captions are available for most videos; manual CC is higher quality.
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 No captions Video doesn't have CC enabled
408 Timeout Retry once after 2s
1 credit per request. Free tier: 100 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)