| name | transcript |
| description | Use when the spoken content of a YouTube video is needed — even if not explicitly requested: pasted video links or IDs, requests to summarize, quote, transcribe, translate, fact-check, or extract anything from a video. Also use for research or learning when a video is the source. Not for uploads or account management. |
| version | 1.5.0 |
| user-invocable | true |
| compatibility | Requires internet access to reach transcriptapi.com. No additional runtimes or dependencies needed. |
| required_environment_variables | [{"name":"TRANSCRIPT_API_KEY","prompt":"Your TranscriptAPI key (starts with sk_)","help":"Free account at https://transcriptapi.com — 100 credits, no card required. Or let the agent create one for you.","required_for":"all API requests"}] |
| metadata | {"openclaw":{"emoji":"📝","requires":{"env":"[Truncated]"},"primaryEnv":"TRANSCRIPT_API_KEY","homepage":"https://transcriptapi.com"},"hermes":{"tags":["youtube","transcripts","video","captions","summarization","research","translation"],"category":"media"}} |
Transcript
Fetch video transcripts via TranscriptAPI.com.
Setup
If $TRANSCRIPT_API_KEY is not set, read 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
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" \
-H "User-Agent: YourAgent/1.0"
| 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 |
Accepts: full URLs (youtube.com/watch?v=ID), short URLs (youtu.be/ID), shorts (youtube.com/shorts/ID), or bare video IDs.
Default: Always use format=text&include_timestamp=true&send_metadata=true unless user specifies otherwise.