Skip to main content

CLI tool to manage and analyze your YouTube channel from the terminal

Project description

YT Studio CLI

CI PyPI Python License: MIT

Manage and analyze your YouTube channel from the terminal. Ideal for automation and AI workflows.

demo

Motivation

I built this because I needed to bulk update video titles for a YouTube channel I manage with 300+ videos. YouTube Studio does not support bulk search-replace operations, which made it a tedious manual process. This tool uses the YouTube Data API to perform bulk operations on video metadata. Furthermore, it provides features for analytics and comment moderation, all accesible from the command line.

Installation

I recommend the excellent uv tool for installation:

uv tool install ytstudio-cli

Setup

  1. Create a Google Cloud project
  2. Enable YouTube Data API v3 and YouTube Analytics API
  3. Configure OAuth consent screen:
    • Go to APIs & ServicesOAuth consent screen
    • Select External and create
    • Fill in app name and your email
    • Skip scopes, then add yourself as a test user
    • Leave the app in "Testing" mode (no verification needed)
  4. Create OAuth credentials:
    • Go to APIs & ServicesCredentials
    • Click Create CredentialsOAuth client IDhow
    • Select Desktop app as application type
    • Download the JSON file
  5. Configure ytstudio:
ytstudio init --client-secrets path/to/client_secret_<id>.json
ytstudio login

Credentials stored in ~/.config/ytstudio/.

API quota

The YouTube Data API enforces a default quota of 10_000 units per project per day. Most read operations (listing videos, comments, channel info) cost 1 unit, while write operations like updating video metadata or moderating comments cost 50 units each. Bulk updates can consume quota quickly. When exceeded, the API returns a 403 error; quota resets at midnight Pacific Time.

You can request a quota increase via IAM & AdminQuotas in the Google Cloud Console. See the official quota documentation for full details.

Disclaimer

This project is not affiliated with or endorsed by Google. YouTube and YouTube Studio are trademarks of Google. All channel data is accessed exclusively through the official YouTube Data API and YouTube Analytics API.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ytstudio_cli-0.1.1.tar.gz (705.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ytstudio_cli-0.1.1-py3-none-any.whl (33.4 kB view details)

Uploaded Python 3

File details

Details for the file ytstudio_cli-0.1.1.tar.gz.

File metadata

  • Download URL: ytstudio_cli-0.1.1.tar.gz
  • Upload date:
  • Size: 705.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ytstudio_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 1ab0c655ffb8c234f5644544dd1f4ce21907adbb87bff77c21f7ffaeabbf9c4b
MD5 682362dd4c0479a2caf523375c689028
BLAKE2b-256 88bfcd081f969e936aaa1e6f05675cfef2f1ad99d78a779298457d8f4be4c978

See more details on using hashes here.

Provenance

The following attestation bundles were made for ytstudio_cli-0.1.1.tar.gz:

Publisher: ci.yml on jdwit/ytstudio-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ytstudio_cli-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: ytstudio_cli-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 33.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ytstudio_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fe715dbbb39cdaed8c1e8701fa46b7ad7ec3ea707a082f5d5bf4236429e365ad
MD5 2191d53263a8310786ccd1d9ee94c6f8
BLAKE2b-256 1b95748d727714b6b5c070befb06d1cbd5bff770aea070d87496870486ce8c2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ytstudio_cli-0.1.1-py3-none-any.whl:

Publisher: ci.yml on jdwit/ytstudio-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page