YouTube Comprehensive Assistant

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 · 11 listings
View creator

Similar versions (1)

Other versions of this skill by ZeroPointRepo. They do nearly the same job, so we list this one and link the rest.

Similar skills

See all →

More from ZeroPointRepo

SkillVideo Caption ExtractorZeroPointRepo/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 starsSkillVideo Subtitle ExtractorZeroPointRepo/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 starsSkillYouTube Transcript ExtractorZeroPointRepo/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 starsSkillVideo TranscriberZeroPointRepo/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 FetcherZeroPointRepo/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 starsSkillYouTube Channel BrowserZeroPointRepo/youtube-skills · by ZeroPointRepoUse when a YouTube channel is the focus: pasted @handles or channel URLs, requests to browse a creator's uploads, see what a channel has posted recently, search within a channel, or resolve a handle to a channel ID. Also use when the user names a creator and wants to explore their content or monitor their uploads. Not for creating channels or account management.★ 945 GitHub stars