5.2k★by nerveband
yt-api-cli – OpenClaw Skill
yt-api-cli is an OpenClaw Skills integration for security workflows. Manage your YouTube account from the command line. Complete CLI for YouTube Data API v3 - list/search videos, upload, manage playlists, and more.
Skill Snapshot
| name | yt-api-cli |
| description | Manage your YouTube account from the command line. Complete CLI for YouTube Data API v3 - list/search videos, upload, manage playlists, and more. OpenClaw Skills integration. |
| owner | nerveband |
| repository | nerveband/yt-api-cli |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @nerveband/yt-api-cli |
| last updated | Feb 7, 2026 |
Maintainer

name: yt-api-cli description: Manage your YouTube account from the command line. Complete CLI for YouTube Data API v3 - list/search videos, upload, manage playlists, and more. metadata: {"clawdbot":{"emoji":"▶️","os":["darwin","linux"],"requires":{"env":["YT_API_AUTH_TYPE", "YT_API_CLIENT_ID", "YT_API_CLIENT_SECRET"]}}}
yt-api-cli
Manage your YouTube account from the terminal. A complete CLI for the YouTube Data API v3.
Installation
# Using go install
go install github.com/nerveband/youtube-api-cli/cmd/yt-api@latest
# Or download from releases
curl -L -o yt-api https://github.com/nerveband/youtube-api-cli/releases/latest/download/yt-api-darwin-arm64
chmod +x yt-api
sudo mv yt-api /usr/local/bin/
Setup
1. Google Cloud Console Setup
- Go to Google Cloud Console
- Create/enable YouTube Data API v3
- Create OAuth 2.0 credentials (Desktop app)
- Download client configuration
2. Configure yt-api
mkdir -p ~/.yt-api
cat > ~/.yt-api/config.yaml << EOF
default_auth: oauth
default_output: json
oauth:
client_id: "YOUR_CLIENT_ID"
client_secret: "YOUR_CLIENT_SECRET"
EOF
3. Authenticate
yt-api auth login # Opens browser for Google login
yt-api auth status # Check auth state
Commands
List Operations
# List your videos
yt-api list videos --mine
# List channel videos
yt-api list videos --channel-id UC_x5XG1OV2P6uZZ5FSM9Ttw
# List playlists
yt-api list playlists --mine
# List subscriptions
yt-api list subscriptions --mine
Search
# Basic search
yt-api search --query "golang tutorial"
# With filters
yt-api search --query "music" --type video --duration medium --order viewCount
Upload Operations
# Upload video
yt-api upload video ./video.mp4 \
--title "My Video" \
--description "Description here" \
--tags "tag1,tag2" \
--privacy public
# Upload thumbnail
yt-api upload thumbnail ./thumb.jpg --video-id VIDEO_ID
Playlist Management
# Create playlist
yt-api insert playlist --title "My Playlist" --privacy private
# Add video to playlist
yt-api insert playlist-item --playlist-id PLxxx --video-id VIDxxx
Channel Operations
# Get channel info
yt-api list channels --id UCxxx --part snippet,statistics
# Update channel description
yt-api update channel --id UCxxx --description "New description"
Output Formats
# JSON (default - LLM-friendly)
yt-api list videos --mine
# Table (human-readable)
yt-api list videos --mine -o table
# YAML
yt-api list videos --mine -o yaml
# CSV
yt-api list videos --mine -o csv > videos.csv
Global Flags
| Flag | Short | Description |
|---|---|---|
--output | -o | Output format: json (default), yaml, csv, table |
--quiet | -q | Suppress stderr messages |
--config | Path to config file | |
--auth-type | Auth method: oauth (default), service-account |
Environment Variables
| Variable | Description |
|---|---|
YT_API_AUTH_TYPE | Auth method: oauth or service-account |
YT_API_OUTPUT | Default output format |
YT_API_CLIENT_ID | OAuth client ID |
YT_API_CLIENT_SECRET | OAuth client secret |
YT_API_CREDENTIALS | Path to service account JSON |
Authentication Methods
OAuth 2.0 (Default)
Best for interactive use and accessing your own YouTube account.
yt-api auth login # Opens browser
Service Account
Best for server-side automation.
yt-api --auth-type service-account --credentials ./key.json list videos
Quick Diagnostic Commands
yt-api info # Full system state
yt-api info --test-connectivity # Verify API access
yt-api info --test-permissions # Check credential capabilities
yt-api auth status # Authentication details
yt-api version # Version info
Error Handling
Exit codes:
0- Success1- General error2- Authentication error3- API error (quota, permissions)4- Input error
For LLMs and Automation
- JSON output by default
- Structured errors as JSON objects
--quietmode for parsing--dry-runvalidates without executing- Stdin support for piping data
Notes
- Requires valid Google Cloud credentials with YouTube Data API v3 enabled
- OAuth tokens stored in
~/.yt-api/tokens.json(0600 permissions) - Default output is JSON (LLM-optimized)
- Supports all YouTube Data API v3 resources
Source
No README available.
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 yt-api-cli?
Run openclaw add @nerveband/yt-api-cli in your terminal. This installs yt-api-cli 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/nerveband/yt-api-cli. Review commits and README documentation before installing.
