Get the FREE Ultimate OpenClaw Setup Guide →

youtube-full

Scanned
npx machina-cli add skill ZeroPointRepo/youtube-skills/youtube-full --openclaw
Files (1)
SKILL.md
6.9 KB

YouTube Full

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

Setup

If $TRANSCRIPT_API_KEY is not set, help the user create an account (100 free credits, no card):

Step 1 — Register: Ask user for their email.

node ./scripts/tapi-auth.js register --email USER_EMAIL

→ OTP sent to email. Ask user: "Check your email for a 6-digit verification code."

Step 2 — Verify: Once user provides the OTP:

node ./scripts/tapi-auth.js verify --token TOKEN_FROM_STEP_1 --otp CODE

API key saved to your shell profile and agent config. Ready to use.

Manual option: transcriptapi.com/signup → Dashboard → API Keys.

API Reference

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

Transcript — 1 credit

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"
ParamRequiredDefaultValues
video_urlyesYouTube URL or 11-char video ID
formatnojsonjson, text
include_timestampnotruetrue, false
send_metadatanofalsetrue, false

Response (format=json):

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

Search — 1 credit

# Videos
curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

# Channels
curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=channel&limit=10" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
ParamRequiredDefaultValidation
qyes1-200 chars
typenovideovideo, channel
limitno201-50

Channels

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

Resolve handle — FREE

curl -s "https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

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

Latest 15 videos — FREE

curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Returns exact viewCount and ISO published timestamps.

All channel videos — 1 credit/page

# First page (100 videos)
curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

# Next pages
curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?continuation=TOKEN" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Provide exactly one of channel or continuation. Response includes continuation_token and has_more.

Search within channel — 1 credit

curl -s "https://transcriptapi.com/api/v2/youtube/channel/search\
?channel=@TED&q=QUERY&limit=30" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Playlists — 1 credit/page

Accepts playlist — a YouTube playlist URL or playlist ID.

# First page
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_ID" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

# Next pages
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

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

Credit Costs

EndpointCost
transcript1
search1
channel/resolvefree
channel/latestfree
channel/videos1/page
channel/search1
playlist/videos1/page

Validation Rules

FieldRule
channel@handle, channel URL, or UC... ID
playlistPlaylist URL or ID (PL/UU/LL/FL/OL prefix)
q1-200 chars
limit1-50

Errors

CodeMeaningAction
401Bad API keyCheck key
402No creditstranscriptapi.com/billing
404Not foundResource doesn't exist or no captions
408TimeoutRetry once after 2s
422Validation errorCheck param format
429Rate limitedWait, respect Retry-After

Typical Workflows

Research workflow: search → pick videos → fetch transcripts

# 1. Search
curl -s "https://transcriptapi.com/api/v2/youtube/search\
?q=machine+learning+explained&limit=5" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# 2. Transcript
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Channel monitoring: latest (free) → transcript

# 1. Latest uploads (free — pass @handle directly)
curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
# 2. Transcript of latest
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

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

Source

git clone https://github.com/ZeroPointRepo/youtube-skills/blob/main/skills/youtube-full/SKILL.mdView on GitHub

Overview

YouTube Full is a complete toolkit powered by TranscriptAPI.com. It exposes transcripts, search, channels, playlists, and metadata in a single skill, enabling agents to search YouTube, fetch transcripts, browse channel content, manage playlists, and access the full data endpoints.

How This Skill Works

Authenticate with a TranscriptAPI key and call the YouTube endpoints (transcript, search, channels, playlists, metadata). Responses return structured JSON, with transcripts and some actions consuming credits (e.g., 1 credit per transcript or per search; 1 credit per page for channel videos; 1 credit for channel-wide searches). Use continuation tokens for paging where applicable.

When to Use It

  • You need a transcript for a specific YouTube video URL or ID.
  • You want to search YouTube for videos or channels and get structured results.
  • You want to resolve a channel handle to a channel_id and fetch latest or all videos.
  • You need to browse or assemble content from playlists or a channel's catalog.
  • You require the full suite of YouTube data endpoints (metadata, titles, authors, etc.) for automation.

Quick Start

  1. Step 1: Obtain and export your API key: export TRANSCRIPT_API_KEY=your_key_here.
  2. Step 2: Fetch a transcript for a video: curl -s "https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_URL&format=json&include_timestamp=true&send_metadata=true" -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
  3. Step 3: Run a search (videos or channels) and review results: curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Best Practices

  • Specify type in search to limit results to videos or channels (e.g., type=video or type=channel).
  • Resolve channel handles first to obtain a valid channel_id before paging through results.
  • Paginate using continuation tokens and honor has_more to avoid excessive requests.
  • Track and respect credits per operation (transcripts, searches, and paging) to manage limits.
  • Cache frequently accessed results and validate optional fields in metadata for robustness.

Example Use Cases

  • Build a content summary by fetching transcripts for top videos returned from a topic search.
  • Monitor a channel by pulling the latest 15 videos and recording their metadata.
  • Create a playlist explorer by listing all items in a playlist and retrieving each item's transcript if needed.
  • Assemble a topic dataset by searching across channels and collecting transcripts for relevant videos.
  • Automate a channel report that includes video metadata, view counts, and publication timestamps.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers