skills$openclaw/youtube
globalcaos360ā˜…

by globalcaos

youtube – OpenClaw Skill

youtube is an OpenClaw Skills integration for ai ml workflows. |

360 stars1.8k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026ai ml

Skill Snapshot

nameyoutube
description| OpenClaw Skills integration.
ownerglobalcaos
repositoryglobalcaos/youtube-ultimate
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @globalcaos/youtube-ultimate
last updatedFeb 7, 2026

Maintainer

globalcaos

globalcaos

Maintains youtube in the OpenClaw Skills directory.

View GitHub profile
File Explorer
5 files
.
scripts
youtube.py
24.6 KB
_meta.json
288 B
README.md
7.3 KB
SKILL.md
6.0 KB
SKILL.md

name: youtube description: | The most comprehensive YouTube skill for AI agents. Extract transcripts for FREE (zero API quota!), search with filters, batch video details, read comments, download videos/audio. We analyzed 15+ YouTube tools and built the one that does everything. homepage: https://github.com/openclaw/openclaw/tree/main/skills/youtube metadata: { "openclaw": { "emoji": "šŸ“ŗ", "requires": { "bins": ["uv"] }, "install": [ { "id": "uv-brew", "kind": "brew", "formula": "uv", "bins": ["uv"], "label": "Install uv (brew)", }, { "id": "ytdlp-brew", "kind": "brew", "formula": "yt-dlp", "bins": ["yt-dlp"], "label": "Install yt-dlp for downloads (optional)", }, ], }, }

YouTube Research Pro

The most comprehensive YouTube skill for AI agents.

We analyzed 15+ YouTube MCP servers and found each does one thing well, but none does everything. So we built the skill we wished existed.

Why This Skill?

What Others DoWhat We Do
Transcripts OR search OR downloadsAll three, unified
Burn API quota on transcriptsFREE transcripts (zero quota)
Single video at a timeBatch operations (50 videos)
Basic searchFiltered search (date, duration, order)
Text output onlyJSON export for pipelines

The Killer Feature: FREE Transcripts

Most tools use the YouTube Data API for transcripts = 100 quota units per request. Daily limit is 10,000 units = only ~100 transcripts/day.

We use youtube-transcript-api — extracts directly from YouTube's frontend. Zero API quota. Unlimited transcripts.

Quick Reference

CommandQuotaWhat it does
transcript VIDEOFREEGet video transcript
transcript-list VIDEOFREEList available languages
download VIDEOFREEDownload video (yt-dlp)
download-audio VIDEOFREEExtract audio only
search QUERY100Search videos
video ID [ID...]1/videoGet details (batch!)
comments VIDEO1Get comments + replies
channel [ID]1-3Channel statistics

Setup (One Time)

# 1. Get credentials from Google Cloud Console
#    - Create OAuth 2.0 Client ID (Desktop app)
#    - Download JSON

# 2. Save credentials
mkdir -p ~/.config/youtube-skill
mv ~/Downloads/client_secret*.json ~/.config/youtube-skill/credentials.json

# 3. Authenticate
uv run {baseDir}/scripts/youtube.py auth
# Plain text transcript
uv run {baseDir}/scripts/youtube.py transcript VIDEO_ID

# With timestamps
uv run {baseDir}/scripts/youtube.py transcript VIDEO_ID --timestamps

# Specific language (falls back to available)
uv run {baseDir}/scripts/youtube.py transcript VIDEO_ID -l es

# List what's available
uv run {baseDir}/scripts/youtube.py transcript-list VIDEO_ID

# JSON output
uv run {baseDir}/scripts/youtube.py transcript VIDEO_ID --json

Works with URLs too:

uv run {baseDir}/scripts/youtube.py transcript "https://youtube.com/watch?v=dQw4w9WgXcQ"

Search

# Basic search
uv run {baseDir}/scripts/youtube.py search "AI news 2026"

# With filters
uv run {baseDir}/scripts/youtube.py search "tutorial" -l 20 --order date
uv run {baseDir}/scripts/youtube.py search "lecture" --duration long
uv run {baseDir}/scripts/youtube.py search "news" --published-after 2026-01-01T00:00:00Z

Video Details (Batch Supported)

# Single video
uv run {baseDir}/scripts/youtube.py video dQw4w9WgXcQ

# Multiple videos at once (up to 50)
uv run {baseDir}/scripts/youtube.py video id1 id2 id3 id4 id5

# JSON output for processing
uv run {baseDir}/scripts/youtube.py video id1 id2 --json

Comments

# Top comments
uv run {baseDir}/scripts/youtube.py comments VIDEO_ID

# With replies
uv run {baseDir}/scripts/youtube.py comments VIDEO_ID --replies

# Recent comments
uv run {baseDir}/scripts/youtube.py comments VIDEO_ID --order time -l 50

Downloads (requires yt-dlp)

# Video (best quality)
uv run {baseDir}/scripts/youtube.py download VIDEO_ID

# Specific resolution
uv run {baseDir}/scripts/youtube.py download VIDEO_ID -r 720p

# With subtitles
uv run {baseDir}/scripts/youtube.py download VIDEO_ID -s en

# Audio only (MP3)
uv run {baseDir}/scripts/youtube.py download-audio VIDEO_ID

# Audio as M4A
uv run {baseDir}/scripts/youtube.py download-audio VIDEO_ID -f m4a

User Data

uv run {baseDir}/scripts/youtube.py subscriptions
uv run {baseDir}/scripts/youtube.py playlists
uv run {baseDir}/scripts/youtube.py playlist-items PLAYLIST_ID
uv run {baseDir}/scripts/youtube.py liked
uv run {baseDir}/scripts/youtube.py channel

Command Aliases

FullAlias
transcripttr
searchs
videov
commentsc
downloaddl
download-audiodla

Use Cases

Research: Fetch transcript → analyze with LLM → extract insights

Learning: Batch transcripts from playlist → create study notes

Monitoring: Search recent videos → extract transcripts → track trends

Podcasts: Download audio for offline listening

Analysis: Get channel stats → compare competitors

Multi-Account

uv run {baseDir}/scripts/youtube.py -a work subscriptions
uv run {baseDir}/scripts/youtube.py -a personal liked

Why We Built This

We surveyed the landscape:

  • kimtaeyoon83/mcp-server-youtube-transcript (463⭐) — Great transcripts, no search
  • kevinwatt/yt-dlp-mcp (211⭐) — Great downloads, no transcripts
  • dannySubsense/youtube-mcp-server (9⭐) — Most functions, but uses paid API for transcripts
  • kirbah/mcp-youtube (9⭐) — Batch ops, but no free transcripts

None combined free transcripts + search + downloads + batch ops.

Now one does.

README.md

šŸ“ŗ YouTube Research Pro

The most comprehensive YouTube skill for AI agents.

Extract transcripts for FREE, search videos, analyze channels, download content — all from one unified interface.


Why This Skill?

We analyzed 15+ YouTube MCP servers and found that each one does one thing well, but none does everything. So we built the skill we wished existed.

What Others DoWhat We Do
Transcripts OR search OR downloadsAll three, unified
Burn API quota on transcriptsFREE transcripts (zero quota)
Single video at a timeBatch operations (50 videos)
Basic searchFiltered search (date, duration, order)
Text output onlyJSON export for pipelines

The Killer Feature: FREE Transcripts

Most YouTube tools use the official YouTube Data API for transcripts, which costs 100 quota units per request. With a daily limit of 10,000 units, you can only fetch ~100 transcripts per day.

We use youtube-transcript-api — a library that extracts transcripts directly from YouTube's frontend, costing zero API quota. Fetch unlimited transcripts, every day.


What Can Your Agent Do With This?

šŸ” Research & Analysis

  • Search YouTube with filters (date, duration, view count)
  • Get video details in batch (up to 50 at once)
  • Extract full transcripts for content analysis
  • Read comments to gauge audience sentiment

šŸ“ Content Extraction

  • Pull transcripts in any available language
  • Get timestamped transcripts for precise references
  • Export everything as JSON for further processing
  • Download videos at any resolution
  • Extract audio only (podcasts, music, interviews)
  • Grab subtitles as separate files

šŸ“Š Channel Intelligence

  • Analyze channel statistics
  • Track subscriber counts and view totals
  • List and explore playlists

Quick Examples

# Get a video transcript (FREE - no API quota!)
uv run youtube.py transcript dQw4w9WgXcQ

# With timestamps
uv run youtube.py transcript dQw4w9WgXcQ --timestamps

# Search with filters
uv run youtube.py search "machine learning" --duration long --order viewCount

# Batch video details
uv run youtube.py video id1 id2 id3 id4 id5 --json

# Download audio as MP3
uv run youtube.py download-audio VIDEO_ID -f mp3

# Get top comments with replies
uv run youtube.py comments VIDEO_ID --replies

Complete Command Reference

Transcripts (FREE - Zero API Quota)

CommandDescription
transcript VIDEOExtract transcript as plain text
transcript VIDEO --timestampsInclude [MM:SS] timestamps
transcript VIDEO -l es,enPrefer Spanish, fall back to English
transcript VIDEO --jsonOutput as JSON array
transcript-list VIDEOList all available languages

Search & Discovery

CommandDescription
search QUERYSearch YouTube videos
search QUERY -l 20Return 20 results (default: 10)
search QUERY --order dateSort by upload date
search QUERY --order viewCountSort by popularity
search QUERY --duration shortUnder 4 minutes
search QUERY --duration longOver 20 minutes
search QUERY --published-after 2026-01-01T00:00:00ZFilter by date

Video Information

CommandDescription
video IDGet video details
video ID1 ID2 ID3Batch mode (up to 50)
video ID --jsonJSON output
video ID -vInclude full description

Comments

CommandDescription
comments VIDEOGet top comments
comments VIDEO -l 50Get 50 comments
comments VIDEO --repliesInclude reply threads
comments VIDEO --order timeSort by newest

Channel & User Data

CommandDescription
channelYour channel info
channel CHANNEL_IDSpecific channel
subscriptionsYour subscriptions
playlistsYour playlists
playlist-items PLAYLIST_IDVideos in a playlist
likedYour liked videos

Downloads (requires yt-dlp)

CommandDescription
download VIDEODownload best quality
download VIDEO -r 720pSpecific resolution
download VIDEO -s enInclude subtitles
download VIDEO -o ~/VideosCustom output folder
download-audio VIDEOAudio only (MP3)
download-audio VIDEO -f m4aAudio as M4A

API Quota Costs

OperationQuota CostNotes
Transcripts0Uses youtube-transcript-api
Downloads0Uses yt-dlp
Search100Per request
Video details1Per video
Comments1Per request
Channel info1-3Varies

Daily free quota: 10,000 units

Pro tip: For research tasks, always start with transcripts — they're free and contain the most information.


Setup

1. Install dependencies

brew install uv yt-dlp  # macOS
# or
pip install uv && pip install yt-dlp  # other

2. Get YouTube API credentials

  1. Go to Google Cloud Console
  2. Create a project (or select existing)
  3. Enable "YouTube Data API v3"
  4. Create OAuth 2.0 Client ID (Desktop app)
  5. Download JSON → save as ~/.config/youtube-skill/credentials.json

3. Authenticate

uv run youtube.py auth

Command Aliases

For faster typing:

FullAlias
transcripttr
transcript-listtrl
searchs
videov
commentsc
channelch
subscriptionssubs
playlistspl
playlist-itemspli
downloaddl
download-audiodla

Comparison with Other Tools

FeatureYouTube Research Prokimtaeyoon83kevinwatt/yt-dlpdannySubsensekirbah
Free transcriptsāœ…āœ…āŒāŒāŒ
Searchāœ…āŒāœ…āœ…āœ…
Filtered searchāœ…āŒāœ…āŒāŒ
Batch operationsāœ…āŒāŒāŒāœ…
Commentsāœ…āŒāŒāœ…āœ…
Downloadsāœ…āŒāœ…āŒāŒ
Audio extractionāœ…āŒāœ…āŒāŒ
JSON outputāœ…āŒāŒāŒāœ…
Multi-languageāœ…āœ…āœ…āŒāŒ
URL + ID supportāœ…āŒāœ…āŒāŒ

Result: No other skill covers all these capabilities in one package.


Use Cases

šŸ“š Research Assistant

"Summarize the key points from this conference talk" → Fetch transcript, analyze with LLM, extract insights

šŸŽ“ Learning Helper

"Create study notes from this lecture series" → Batch fetch transcripts from playlist, synthesize content

šŸ“° News Monitoring

"What are people saying about [topic] this week?" → Search recent videos, extract transcripts, analyze trends

šŸŽµ Music/Podcast

"Download this interview as audio for my commute" → Extract audio, convert to MP3

šŸ“Š Competitor Analysis

"How is [channel] performing?" → Get channel stats, analyze recent videos, track growth


License

MIT — use it, fork it, improve it.


Built by Oscar Serra for the OpenClaw community.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install youtube?

Run openclaw add @globalcaos/youtube-ultimate in your terminal. This installs youtube into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/globalcaos/youtube-ultimate. Review commits and README documentation before installing.