Search & ResearchDocumentedScanned

youtube-data-api

YouTube Data API integration for searching videos, listing subscriptions, playlists.

Share:

Installation

npx clawhub@latest install youtube-data-api

View the full skill documentation and source below.

Documentation

YouTube

Access YouTube Data API using the bundled script. Requires OAuth setup (one-time).

First-time Setup

  • Get OAuth credentials from [Google Cloud Console]()

  • Create OAuth 2.0 Client ID (Desktop app)

  • Download JSON and save to ~/.config/youtube-skill/credentials.json

  • Run auth command (opens browser):
  • uv run {baseDir}/scripts/youtube.py auth

    Note: If you already use gog (gogcli), credentials are shared automatically.

    Commands

    Search videos

    uv run {baseDir}/scripts/youtube.py search "AI news 2026"
    uv run {baseDir}/scripts/youtube.py search "python tutorial" -l 20

    Get video details

    uv run {baseDir}/scripts/youtube.py video VIDEO_ID
    uv run {baseDir}/scripts/youtube.py video dQw4w9WgXcQ -v

    List subscriptions

    uv run {baseDir}/scripts/youtube.py subscriptions
    uv run {baseDir}/scripts/youtube.py subs -l 50

    List playlists

    uv run {baseDir}/scripts/youtube.py playlists
    uv run {baseDir}/scripts/youtube.py pl -l 10

    List playlist items

    uv run {baseDir}/scripts/youtube.py playlist-items PLAYLIST_ID
    uv run {baseDir}/scripts/youtube.py pli PLxxxxxx -l 25

    List available captions

    uv run {baseDir}/scripts/youtube.py captions VIDEO_ID

    List liked videos

    uv run {baseDir}/scripts/youtube.py liked
    uv run {baseDir}/scripts/youtube.py liked -l 50

    Get channel info

    uv run {baseDir}/scripts/youtube.py channel
    uv run {baseDir}/scripts/youtube.py channel CHANNEL_ID -v

    Multi-account Support

    Use -a flag for different accounts:

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

    Combining with yt-dlp

    For downloading videos, use yt-dlp (separate tool):

    yt-dlp ""
    yt-dlp --write-auto-subs --skip-download ""
    yt-dlp -x --audio-format mp3 ""