Manage and analyze your YouTube channel from the terminal. Ideal for automation and AI workflows.
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.
I recommend the excellent uv tool for installation:
uv tool install ytstudio-cli- Create a Google Cloud project
- Enable YouTube Data API v3 and YouTube Analytics API
- Configure OAuth consent screen:
- Go to APIs & Services → OAuth 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)
- Create OAuth credentials:
- Go to APIs & Services → Credentials
- Click Create Credentials → OAuth client IDhow
- Select Desktop app as application type
- Download the JSON file
- Configure ytstudio:
ytstudio init --client-secrets path/to/client_secret_<id>.json
ytstudio loginCredentials stored in ~/.config/ytstudio/.
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 & Admin → Quotas in the Google Cloud Console. See the official quota documentation for full details.
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.
