New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

YouTube is or could be relevant

Youtube full

by ZeroPointRepo · MIT license · ★ 945 on GitHub · v1.6.2 · updated Sep 22

Youtube full cover

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…

---
name: youtube-full
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, first looks, 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."
version: "1.6.2"
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":["TRANSCRIPT_API_KEY"]},"primaryEnv":"TRANSCRIPT_API_KEY","homepage":"https://transcriptapi.com"},"hermes":{"tags":["youtube","transcripts","video","search","channels","playlists","captions"],"category":"media"}}
---

# YouTube Full

Complete YouTube toolkit via [TranscriptAPI.com](https://transcriptapi.com). Everything in one skill.

Overview

Complete YouTube toolkit via TranscriptAPI.com. Everything in one skill.

Manual install (npx, ZIP)
Claude Codenpx skills add ZeroPointRepo/youtube-skills --skill youtube-full -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/ZeroPointRepo/youtube-skills/tar.gz/4f7994b94e7d \ | tar -xz -C ~/.claude/skills --strip-components=2 youtube-skills-4f7994b94e7d/skills/youtube-full
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/fc416b913ec32c8360c1/youtube-full.zip" -OutFile "$env:TEMP\youtube-full.zip"; Expand-Archive "$env:TEMP\youtube-full.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md12.0 KB
  • references/2 files · 11.0 KB
Read the files here
ZeroPointRepo/4f7994b3 files
SKILL.md
Show the full text294 lines

YouTube Full

Complete YouTube toolkit via TranscriptAPI.com. Everything in one skill.

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.

API Reference

Full OpenAPI spec: transcriptapi.com/openapi.json — consult this for the latest parameters and schemas.

Transcript — 1 credit

GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_URL&format=text&include_timestamp=true&send_metadata=true
Authorization: Bearer $TRANSCRIPT_API_KEY
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

Response (format=json):

{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": [{ "text": "...", "start": 18.0, "duration": 3.5 }],
  "metadata": { "title": "...", "author_name": "...", "author_url": "..." }
}

Video Info & Metadata

# Free — languages available for the transcript endpoint
GET https://transcriptapi.com/api/v2/youtube/info?video_url=VIDEO_URL
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# 1 credit — rich metadata (views, likes, description, duration, tags)
GET https://transcriptapi.com/api/v2/youtube/video/metadata?video_url=VIDEO_URL&include=details,related
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

include on video/metadata accepts details and/or related. Naming: /video/metadata was previously /video/info — the old path still works but is deprecated.

Search — 1 credit/page

# Videos
GET https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# Channels, playlists, or movies
GET https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=channel&limit=10
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
Param Required Default Validation
q yes — 1-200 chars
type no video video, channel, playlist, movie
sort no relevance relevance, views (first page only)
upload_date no — hour, today, week, month, year (videos, first page)
duration no — short, medium, long (videos, first page)
features no — e.g. hd,subtitles,cc (first page)
limit no 20 1-50

Channels

All channel endpoints accept channel — an @handle, channel URL, or UC... channel ID. No need to resolve first.

Resolve handle — FREE
GET https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Response: {"channel_id": "UC...", "resolved_from": "@TED"}

Latest 15 videos — FREE
GET https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Returns exact viewCount and ISO published timestamps.

Channel feed (videos/shorts/streams) — 1 credit/page
# First page (100 items, tab defaults to "videos")
GET https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&tab=videos
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# Most-viewed first (channel Videos tab, ~30 items)
GET https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&sort=popular
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# Next pages (repeat the same tab AND sort)
GET https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN&sort=popular
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Provide exactly one of channel or continuation. tab is videos (default), shorts, or streams. Response includes continuation_token and has_more.

Sorting. Add sort=latest, popular, or oldest to channel/videos to get a channel's videos in the order you want, for example its most-popular uploads first. A sorted page returns about 30 videos (an unsorted page returns about 100), and every page costs the same 1 credit.

When paging, send the same sort on each request.

Item fields. Every item carries members_only, true only when YouTube badges it "Members only", and those items have no viewCountText. tab=streams items carry lengthText and publishedTimeText (for example Streamed 2 years ago); tab=shorts returns null for both, because YouTube's Shorts grid publishes neither. On the channel-tab feeds (tab=videos with sort, tab=shorts, tab=streams) channelId, channelTitle, channelHandle and index are null.

Search within channel — 1 credit
GET https://transcriptapi.com/api/v2/youtube/channel/search?channel=@TED&q=QUERY&limit=30
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
Channel profile — 1 credit
GET https://transcriptapi.com/api/v2/youtube/channel/info?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Returns title, handle, verified flag, subscriber/video counts, description, tags, thumbnails, banners, and availableTabs.

Channel playlists — 1 credit/page
GET https://transcriptapi.com/api/v2/youtube/channel/playlists?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Returns each playlist's playlistId, title, url, videoCountText — feed a playlistId into the Playlists endpoint below.

Channel community posts — 1 credit/page
GET https://transcriptapi.com/api/v2/youtube/channel/posts?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
Channel curated sections — 1 credit
GET https://transcriptapi.com/api/v2/youtube/channel/sections?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

tab is featured (default, Home page), podcasts, or releases.

Playlists — 1 credit/page

Accepts playlist — a YouTube playlist URL or playlist ID.

# First page
GET https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# Next pages
GET https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Valid ID prefixes: PL, UU, LL, FL, OL. Response includes playlist_info, results, continuation_token, has_more.

Credit Costs

Endpoint Cost
transcript 1
info free
video/metadata 1
search 1/page
channel/resolve free
channel/info 1
channel/latest free
channel/videos 1/page
channel/search 1
channel/playlists 1/page
channel/posts 1/page
channel/sections 1
playlist/videos 1/page

Validation Rules

Field Rule
channel @handle, channel URL, or UC... ID
playlist Playlist URL or ID (PL/UU/LL/FL/OL prefix)
q 1-200 chars
type (search) video (default), channel, playlist, movie
tab (channel/videos) videos (default), shorts, streams
sort (channel/videos) latest, popular, oldest (omit for the uploads feed)
tab (channel/sections) featured (default), podcasts, releases
include (video/metadata) details, related (comma-separated)
limit 1-50

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 Not found Resource doesn't exist or no captions
408 Timeout Retry once after 2s
422 Validation error Check param format
429 Rate limited Wait, respect Retry-After

Typical Workflows

Research workflow: search → pick videos → fetch transcripts

# 1. Search
GET https://transcriptapi.com/api/v2/youtube/search?q=machine+learning+explained&limit=5
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# 2. Transcript
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Channel monitoring: latest (free) → transcript

# 1. Latest uploads (free — pass @handle directly)
GET https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

# 2. Transcript of latest
GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0

Free tier: 100 credits, 300 req/min. Starter ($5/mo): 1,000 credits.

Copy-paste examples

Every request in this file as a ready-to-run one-liner: references/curl-examples.md

1---
2name: youtube-full
3description: "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, first looks, 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."
4version: "1.6.2"
5user-invocable: true
6compatibility: Requires internet access to reach transcriptapi.com. No additional runtimes or dependencies needed.
7required_environment_variables:
8 - name: TRANSCRIPT_API_KEY
9 prompt: Your TranscriptAPI key (starts with sk_)
10 help: Free account at https://transcriptapi.com — 100 credits, no card required. Or let the agent create one for you.
11 required_for: all API requests
12metadata: {"openclaw":{"emoji":"▶️","requires":{"env":["TRANSCRIPT_API_KEY"]},"primaryEnv":"TRANSCRIPT_API_KEY","homepage":"https://transcriptapi.com"},"hermes":{"tags":["youtube","transcripts","video","search","channels","playlists","captions"],"category":"media"}}
13---
14 
15# YouTube Full
16 
17Complete YouTube toolkit via [TranscriptAPI.com](https://transcriptapi.com). Everything in one skill.
18 
19## Setup
20 
21If `$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.
22 
23## Required Headers
24 
25Every request needs two headers:
26 
27- **Authorization:** `Bearer $TRANSCRIPT_API_KEY`
28- **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.
29 
30## API Reference
31 
32Full OpenAPI spec: [transcriptapi.com/openapi.json](https://transcriptapi.com/openapi.json) — consult this for the latest parameters and schemas.
33 
34## Transcript — 1 credit
35 
36```http
37GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_URL&format=text&include_timestamp=true&send_metadata=true
38Authorization: Bearer $TRANSCRIPT_API_KEY
39User-Agent: YourAgent/1.0
40```
41 
42| Param | Required | Default | Values |
43| ------------------- | -------- | ------- | ------------------------------- |
44| `video_url` | yes | — | YouTube URL or 11-char video ID |
45| `format` | no | `json` | `json`, `text` |
46| `include_timestamp` | no | `true` | `true`, `false` |
47| `send_metadata` | no | `false` | `true`, `false` |
48 
49**Response** (`format=json`):
50 
51```json
52{
53 "video_id": "dQw4w9WgXcQ",
54 "language": "en",
55 "transcript": [{ "text": "...", "start": 18.0, "duration": 3.5 }],
56 "metadata": { "title": "...", "author_name": "...", "author_url": "..." }
57}
58```
59 
60## Video Info & Metadata
61 
62```http
63# Free — languages available for the transcript endpoint
64GET https://transcriptapi.com/api/v2/youtube/info?video_url=VIDEO_URL
65Authorization: Bearer $TRANSCRIPT_API_KEY
66User-Agent: YourAgent/1.0
67 
68# 1 credit — rich metadata (views, likes, description, duration, tags)
69GET https://transcriptapi.com/api/v2/youtube/video/metadata?video_url=VIDEO_URL&include=details,related
70Authorization: Bearer $TRANSCRIPT_API_KEY
71User-Agent: YourAgent/1.0
72```
73 
74`include` on `video/metadata` accepts `details` and/or `related`. Naming: `/video/metadata` was previously `/video/info` — the old path still works but is deprecated.
75 
76## Search — 1 credit/page
77 
78```http
79# Videos
80GET https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20
81Authorization: Bearer $TRANSCRIPT_API_KEY
82User-Agent: YourAgent/1.0
83 
84# Channels, playlists, or movies
85GET https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=channel&limit=10
86Authorization: Bearer $TRANSCRIPT_API_KEY
87User-Agent: YourAgent/1.0
88```
89 
90| Param | Required | Default | Validation |
91| ------- | -------- | ------- | ----------------------------------------------- |
92| `q` | yes | — | 1-200 chars |
93| `type` | no | `video` | `video`, `channel`, `playlist`, `movie` |
94| `sort` | no | `relevance` | `relevance`, `views` (first page only) |
95| `upload_date` | no | — | `hour`, `today`, `week`, `month`, `year` (videos, first page) |
96| `duration` | no | — | `short`, `medium`, `long` (videos, first page) |
97| `features` | no | — | e.g. `hd,subtitles,cc` (first page) |
98| `limit` | no | `20` | 1-50 |
99 
100## Channels
101 
102All channel endpoints accept `channel` — an `@handle`, channel URL, or `UC...` channel ID. No need to resolve first.
103 
104### Resolve handle — FREE
105 
106```http
107GET https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED
108Authorization: Bearer $TRANSCRIPT_API_KEY
109User-Agent: YourAgent/1.0
110```
111 
112Response: `{"channel_id": "UC...", "resolved_from": "@TED"}`
113 
114### Latest 15 videos — FREE
115 
116```http
117GET https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED
118Authorization: Bearer $TRANSCRIPT_API_KEY
119User-Agent: YourAgent/1.0
120```
121 
122Returns exact `viewCount` and ISO `published` timestamps.
123 
124### Channel feed (videos/shorts/streams) — 1 credit/page
125 
126```http
127# First page (100 items, tab defaults to "videos")
128GET https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&tab=videos
129Authorization: Bearer $TRANSCRIPT_API_KEY
130User-Agent: YourAgent/1.0
131 
132# Most-viewed first (channel Videos tab, ~30 items)
133GET https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA&sort=popular
134Authorization: Bearer $TRANSCRIPT_API_KEY
135User-Agent: YourAgent/1.0
136 
137# Next pages (repeat the same tab AND sort)
138GET https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN&sort=popular
139Authorization: Bearer $TRANSCRIPT_API_KEY
140User-Agent: YourAgent/1.0
141```
142 
143Provide exactly one of `channel` or `continuation`. `tab` is `videos` (default), `shorts`, or `streams`. Response includes `continuation_token` and `has_more`.
144 
145**Sorting.** Add sort=latest, popular, or oldest to channel/videos to get a channel's videos in the order you want, for example its most-popular uploads first. A sorted page returns about 30 videos (an unsorted page returns about 100), and every page costs the same 1 credit.
146 
147When paging, send the same sort on each request.
148 
149**Item fields.** Every item carries `members_only`, `true` only when YouTube badges it "Members only", and those items have no `viewCountText`. `tab=streams` items carry `lengthText` and `publishedTimeText` (for example `Streamed 2 years ago`); `tab=shorts` returns `null` for both, because YouTube's Shorts grid publishes neither. On the channel-tab feeds (`tab=videos` with `sort`, `tab=shorts`, `tab=streams`) `channelId`, `channelTitle`, `channelHandle` and `index` are `null`.
150 
151### Search within channel — 1 credit
152 
153```http
154GET https://transcriptapi.com/api/v2/youtube/channel/search?channel=@TED&q=QUERY&limit=30
155Authorization: Bearer $TRANSCRIPT_API_KEY
156User-Agent: YourAgent/1.0
157```
158 
159### Channel profile — 1 credit
160 
161```http
162GET https://transcriptapi.com/api/v2/youtube/channel/info?channel=@TED
163Authorization: Bearer $TRANSCRIPT_API_KEY
164User-Agent: YourAgent/1.0
165```
166 
167Returns title, handle, verified flag, subscriber/video counts, description, tags, thumbnails, banners, and `availableTabs`.
168 
169### Channel playlists — 1 credit/page
170 
171```http
172GET https://transcriptapi.com/api/v2/youtube/channel/playlists?channel=@TED
173Authorization: Bearer $TRANSCRIPT_API_KEY
174User-Agent: YourAgent/1.0
175```
176 
177Returns each playlist's `playlistId`, `title`, `url`, `videoCountText` — feed a `playlistId` into the Playlists endpoint below.
178 
179### Channel community posts — 1 credit/page
180 
181```http
182GET https://transcriptapi.com/api/v2/youtube/channel/posts?channel=@TED
183Authorization: Bearer $TRANSCRIPT_API_KEY
184User-Agent: YourAgent/1.0
185```
186 
187### Channel curated sections — 1 credit
188 
189```http
190GET https://transcriptapi.com/api/v2/youtube/channel/sections?channel=@TED
191Authorization: Bearer $TRANSCRIPT_API_KEY
192User-Agent: YourAgent/1.0
193```
194 
195`tab` is `featured` (default, Home page), `podcasts`, or `releases`.
196 
197## Playlists — 1 credit/page
198 
199Accepts `playlist` — a YouTube playlist URL or playlist ID.
200 
201```http
202# First page
203GET https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID
204Authorization: Bearer $TRANSCRIPT_API_KEY
205User-Agent: YourAgent/1.0
206 
207# Next pages
208GET https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN
209Authorization: Bearer $TRANSCRIPT_API_KEY
210User-Agent: YourAgent/1.0
211```
212 
213Valid ID prefixes: `PL`, `UU`, `LL`, `FL`, `OL`. Response includes `playlist_info`, `results`, `continuation_token`, `has_more`.
214 
215## Credit Costs
216 
217| Endpoint | Cost |
218| ----------------- | -------- |
219| transcript | 1 |
220| info | **free** |
221| video/metadata | 1 |
222| search | 1/page |
223| channel/resolve | **free** |
224| channel/info | 1 |
225| channel/latest | **free** |
226| channel/videos | 1/page |
227| channel/search | 1 |
228| channel/playlists | 1/page |
229| channel/posts | 1/page |
230| channel/sections | 1 |
231| playlist/videos | 1/page |
232 
233## Validation Rules
234 
235| Field | Rule |
236| ---------- | ------------------------------------------------------- |
237| `channel` | `@handle`, channel URL, or `UC...` ID |
238| `playlist` | Playlist URL or ID (`PL`/`UU`/`LL`/`FL`/`OL` prefix) |
239| `q` | 1-200 chars |
240| `type` (search) | `video` (default), `channel`, `playlist`, `movie` |
241| `tab` (channel/videos) | `videos` (default), `shorts`, `streams` |
242| `sort` (channel/videos) | `latest`, `popular`, `oldest` (omit for the uploads feed) |
243| `tab` (channel/sections) | `featured` (default), `podcasts`, `releases` |
244| `include` (video/metadata) | `details`, `related` (comma-separated) |
245| `limit` | 1-50 |
246 
247## Errors
248 
249| Code | Meaning | Action |
250| -------- | ---------------- | ---------------------------------------------- |
251| 401 | Bad API key | Check key |
252| 402 | No credits | transcriptapi.com/billing |
253| 403/1010 | Cloudflare block | Add or fix User-Agent header |
254| 404 | Not found | Resource doesn't exist or no captions |
255| 408 | Timeout | Retry once after 2s |
256| 422 | Validation error | Check param format |
257| 429 | Rate limited | Wait, respect Retry-After |
258 
259## Typical Workflows
260 
261**Research workflow:** search → pick videos → fetch transcripts
262 
263```http
264# 1. Search
265GET https://transcriptapi.com/api/v2/youtube/search?q=machine+learning+explained&limit=5
266Authorization: Bearer $TRANSCRIPT_API_KEY
267User-Agent: YourAgent/1.0
268 
269# 2. Transcript
270GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true
271Authorization: Bearer $TRANSCRIPT_API_KEY
272User-Agent: YourAgent/1.0
273```
274 
275**Channel monitoring:** latest (free) → transcript
276 
277```http
278# 1. Latest uploads (free — pass @handle directly)
279GET https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED
280Authorization: Bearer $TRANSCRIPT_API_KEY
281User-Agent: YourAgent/1.0
282 
283# 2. Transcript of latest
284GET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true
285Authorization: Bearer $TRANSCRIPT_API_KEY
286User-Agent: YourAgent/1.0
287```
288 
289Free tier: 100 credits, 300 req/min. Starter ($5/mo): 1,000 credits.
290 
291## Copy-paste examples
292 
293Every request in this file as a ready-to-run one-liner: [references/curl-examples.md](references/curl-examples.md)
294 
View all files on GitHub →

Details

Version
1.6.2
Updated
Sep 22, 2026
License
MIT
Stars on the repo
★ 945
Checked
Source
ZeroPointRepo/youtube-skills ↗
Creator
ZeroPointRepo · 12 listings
View creator

Similar skills

See all →
SkillReverse engineer native, managed, Electron/JavaScriptREAmorluto/rea · by morlutoReverse engineer native, managed, Electron/JavaScript, packaged, firmware, and browser targets with REA. Use shipped-artifact or requested runtime evidence to explain features, compare versions, decompile code, or guide a reconstruction. Skip REA for ordinary source-repository architecture analysis.★ 316k GitHub starsSkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designsobra/superpowers · by obraYou MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.★ 290k GitHub starsSkillRequires technical rigor and verificationCode Review Receptionobra/superpowers · by obraUse when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation★ 290k GitHub starsSkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugsmattpocock/skills · by mattpocockDiagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.★ 267k GitHub starsSkillImplement the result of /to-spec and /to-tickets in codeImplement specmattpocock/skills · by mattpocockImplement the result of /to-spec and /to-tickets in code.★ 267k GitHub starsSkillWriting a PR bodymattpocock/skills · by mattpocockUse when writing a PR body.★ 267k GitHub stars

More from ZeroPointRepo

SkillCaptions, subtitles, or the spoken text of a YouTube videoZeroPointRepo/youtube-skills · by ZeroPointRepoUse 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 from any YouTube video. Not for uploading subtitles or account management.★ 945 GitHub starsSkillSubtitles or the spoken text of a YouTube video is neededZeroPointRepo/youtube-skills · by ZeroPointRepoUse 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.★ 945 GitHub starsSkillThe spoken content of a YouTube video is neededTranscriptZeroPointRepo/youtube-skills · by ZeroPointRepoUse 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.★ 945 GitHub starsSkillYouTube is or could be relevantTranscriptapiZeroPointRepo/youtube-skills · by ZeroPointRepoUse 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.★ 945 GitHub starsSkillVideo content needs to be extracted as text: pasted YouTubeVideo transcriptZeroPointRepo/youtube-skills · by ZeroPointRepoUse when video content needs to be extracted as text: pasted YouTube links or IDs, requests to transcribe, summarize, quote, translate, convert video to text, or extract information from video content. Also use when a user shares a video URL without explanation and wants to know what it says. Not for uploads or account management.★ 945 GitHub starsSkillYouTube data is needed without Google API quotas or OAuthYoutube APIZeroPointRepo/youtube-skills · by ZeroPointRepoUse when YouTube data is needed without Google API quotas or OAuth setup: transcripts, video metadata, channel info, search results, playlists. Triggers on pasted YouTube links, creator names, @handles, topic research, video summaries, channel browsing, or any request where YouTube content would help — even if not mentioned explicitly. Not for uploads, account management, or written-source-only research.★ 945 GitHub stars