Subtitles

zeropointrepo/youtube-skills/clawhub/subtitles

by zeropointrepo4f7994b94e7dNo license1K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 2 days ago

Use when subtitles or the spoken text of a YouTube video is needed: pasted video links or IDs, requests to translate a video, read along, follow foreign-language content, or extract what was said. Also use for language learning or accessibility. Fetches timestamped subtitles from any YouTube video. Not for uploading subtitles or account management.

Instructions onlyWriting & Content
AI-generated overview

Fetches timestamped YouTube subtitles or plain transcript text through the TranscriptAPI service.

What it does
This skill explains how to call the TranscriptAPI endpoint that returns subtitles for a YouTube video given its URL or ID. It documents the required Authorization and User-Agent headers, the video_url, format, include_timestamp and send_metadata parameters, and the JSON response shapes for timed segments and clean text. It also lists error codes and their remedies, and points to a reference file for obtaining and storing the API key.
When to use it
Use it when you need the spoken text or subtitles of a YouTube video, such as reading along, translating a video, following foreign-language content, language learning or accessibility. It is not intended for uploading subtitles or managing accounts.
Requirements
Internet access to transcriptapi.com and a TRANSCRIPT_API_KEY environment variable (a free account provides 100 credits). Requests need an Authorization bearer header and a User-Agent header. No additional runtimes or dependencies; the skill ships instructions and a reference file, not scripts.

Subtitles

Fetch YouTube video subtitles via TranscriptAPI.com.

Setup

If $TRANSCRIPT_API_KEY is not set, read references/auth-setup.md [blocked] 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

bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\?video_url=VIDEO_URL&format=text&include_timestamp=false&send_metadata=true" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
ParamValuesUse case
video_urlYouTube URL or video IDRequired
formatjson, textjson for sync'd subs with timing
include_timestamptrue, falsefalse for clean text for reading/translation
send_metadatatrue, falseInclude title, channel, description

For language learning — clean text without timestamps:

bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\?video_url=VIDEO_ID&format=text&include_timestamp=false" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"

For translation — structured segments:

bash
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\?video_url=VIDEO_ID&format=json&include_timestamp=true" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"

Response (format=json):

json
{  "video_id": "dQw4w9WgXcQ",  "language": "en",  "transcript": [    { "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 }  ]}

Response (format=text, include_timestamp=false):

json
{  "video_id": "dQw4w9WgXcQ",  "language": "en",  "transcript": "We're no strangers to love\nYou know the rules and so do I..."}

Tips

  • Many videos have auto-generated subtitles in multiple languages.
  • Use format=json to get timing for each line (great for sync'd reading).
  • Use include_timestamp=false for clean text suitable for translation apps.

Errors

CodeMeaningAction
401Bad API keyCheck key
402No creditstranscriptapi.com/billing
403/1010Cloudflare blockAdd or fix User-Agent header
404No subtitlesNo subtitles available
408TimeoutRetry once after 2s

1 credit per request. Free tier: 100 credits, 300 req/min.

Source and attribution

Source:zeropointrepo/youtube-skillsinclawhub/subtitlesat commit4f7994b

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal