← Back to Search & Research
Search & Research by @globalcaos

youtube-data-api

YouTube Data API integration for searching videos

New
Source Code

YouTube

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

First-time Setup

  1. Get OAuth credentials from Google Cloud Console
  2. Create OAuth 2.0 Client ID (Desktop app)
  3. Download JSON and save to ~/.config/youtube-skill/credentials.json
  4. 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 "https://youtube.com/watch?v=VIDEO_ID"
yt-dlp --write-auto-subs --skip-download "https://youtube.com/watch?v=VIDEO_ID"
yt-dlp -x --audio-format mp3 "https://youtube.com/watch?v=VIDEO_ID"