Google Ads,
from the terminal.

Agent-first CLI and a k9s-style TUI for the Google Ads API v25. Browse campaigns, asset groups, and assets. Every command documents itself.

Built for agents. Fine for humans.

Self-describing

adscli --help and adscli schema --json are the docs. No extra manual required.

Structured I/O

Global --json. Errors on stderr. Exit codes 0–5. Mutations need --yes.

k9s-style TUI

Drill campaigns → asset groups → assets. Filter, enable, pause. Bare adscli needs a TTY.

Browser SSO

adscli login is Desktop OAuth + PKCE. Official builds can share one branded client.

Install

Homebrew (macOS and Linux)

brew install dvaldivia/tap/adscli

From a GitHub Release tarball

VERSION=0.0.1 OS=linux ARCH=x86_64
curl -sSL -o adscli.tar.gz \
  "https://github.com/dvaldivia/adscli/releases/download/v${VERSION}/adscli_${OS}_${ARCH}.tar.gz"
tar -xzf adscli.tar.gz
install -m 0755 adscli /usr/local/bin/adscli

From source

cargo install --git https://github.com/dvaldivia/adscli adscli

Try it

adscli version --json
adscli schema --json
adscli login
adscli customers list --json
adscli campaigns list --json --limit 20

Auth

Official binaries can ship a shared Desktop OAuth client (the consent screen branding on this site). You still sign in as yourself in the browser. Source builds can override with ADSCLI_CLIENT_ID / ADSCLI_CLIENT_SECRET / ADSCLI_DEVELOPER_TOKEN.

Details live in adscli login --help and the README.

TUI keys

KeyAction
j kmove
Enterdrill down
Escback / quit
/filter
e / penable / pause
?help