# Transcriptapi

Use when YouTube is or could be relevant, even if not mentioned: pasted...

- Repository: https://github.com/ZeroPointRepo/youtube-skills (1151 stars)
- Category: Writing
- License: MIT
- Last updated: 2026-10-27
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add ZeroPointRepo/youtube-skills --skill transcriptapi -g -a claude-code -y`
Codex: `npx skills add ZeroPointRepo/youtube-skills --skill transcriptapi -g -a codex -y`
Cursor: `npx skills add ZeroPointRepo/youtube-skills --skill transcriptapi -g -a cursor -y`
Gemini CLI: `npx skills add ZeroPointRepo/youtube-skills --skill transcriptapi -g -a gemini-cli -y`

## Description

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 announcements, or anything where video content is fresher or richer than text search. Covers transcripts, video/channel search, channel browsing, playlists, and within-channel search. Not for uploads, account management, or written-source-only research.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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

```bash
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 | 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`.

The rest: https://github.com/ZeroPointRepo/youtube-skills/blob/HEAD/clawhub/transcriptapi/SKILL.md
