Skip to main content

Agent-friendly CLI for the Zoom API

Project description

CI Crates.io PyPI License: MIT

zoom-cli

A command-line interface for the Zoom API -- manage meetings, recordings, users, webinars, and reports from your terminal.

Install

# From crates.io
cargo install zoom-cli

# From PyPI (pre-built binaries, no Rust toolchain needed)
pip install zoom-cli

# From GitHub Releases (Linux, macOS)
curl -fsSL https://github.com/rvben/zoom-cli/releases/latest/download/zoom-$(uname -m)-unknown-linux-gnu.tar.gz | tar xz

Quick Start

# Interactive setup (creates config with your Zoom OAuth credentials)
zoom init

# List your upcoming meetings
zoom meetings list

# Create a meeting
zoom meetings create --topic "Standup" --duration 30

# List cloud recordings from a date range
zoom recordings list --from 2026-01-01

# Get current user info
zoom users me

Configuration

Config file

~/.config/zoom-cli/config.toml

[default]
account_id = "YOUR_ACCOUNT_ID"
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"

[work]
account_id = "..."
client_id = "..."
client_secret = "..."

Requires a Zoom Server-to-Server OAuth app.

Environment variables

Variable Description
ZOOM_ACCOUNT_ID OAuth account ID
ZOOM_CLIENT_ID OAuth client ID
ZOOM_CLIENT_SECRET OAuth client secret
ZOOM_PROFILE Active profile name (default: default)

Precedence

CLI flags > environment variables > config file

Commands

Meetings

Command Description
zoom meetings list [--user <id>] [--type <t>] List meetings for a user
zoom meetings get <id> Get meeting details
zoom meetings create --topic <t> [--duration <m>] [--start <dt>] [--password <p>] Create a meeting
zoom meetings update <id> [--topic <t>] [--duration <m>] [--start <dt>] Update a meeting
zoom meetings delete <id> Delete a meeting
zoom meetings end <id> End a live meeting
zoom meetings participants <id> List past meeting participants
zoom meetings invite <id> Get meeting invitation text

Recordings

Command Description
zoom recordings list [--user <id>] [--from <date>] [--to <date>] List cloud recordings
zoom recordings get <meeting_id> Get recording details
zoom recordings download <meeting_id> [--out <dir>] Download recording files
zoom recordings delete <meeting_id> [--permanent] Delete cloud recordings
zoom recordings start <meeting_id> Start recording a live meeting
zoom recordings stop <meeting_id> Stop recording
zoom recordings pause <meeting_id> Pause recording
zoom recordings resume <meeting_id> Resume recording
zoom recordings transcript <meeting_id> [--out <dir>] Download transcript files

Users

Command Description
zoom users list [--status <s>] List account users
zoom users get <id_or_email> Get user details
zoom users me Get current user
zoom users create --email <e> [--first-name <n>] [--last-name <n>] [--type <t>] Create a user
zoom users deactivate <id_or_email> Deactivate a user
zoom users activate <id_or_email> Reactivate a user

Webinars

Command Description
zoom webinars list [--user <id>] List webinars
zoom webinars get <id> Get webinar details

Reports

Command Description
zoom reports meetings --from <date> [--to <date>] [--user <id>] Meeting summary report
zoom reports participants <meeting_id> Participant report for a past meeting

Configuration & Setup

Command Description
zoom init [--profile <name>] Set up credentials interactively
zoom config show Show current configuration
zoom config delete <profile> [--force] Delete a profile
zoom schema <resource> Print field reference for a resource (meetings, recordings, users, reports, webinars)
zoom completions <shell> Generate shell completions (bash, zsh, fish, elvish, powershell)

Shell Completions

# zsh
zoom completions zsh > ~/.zsh/completions/_zoom

# bash
zoom completions bash > /etc/bash_completion.d/zoom

# fish
zoom completions fish > ~/.config/fish/completions/zoom.fish

Agent Integration

JSON output

JSON output is automatic when stdout is not a TTY, or forced with --json. Data goes to stdout, messages to stderr.

zoom meetings list --json | jq '.[].topic'

Schema introspection

zoom schema meetings | jq '.fields'

The schema command outputs a JSON description of resource fields and types -- enabling AI agents to discover operations without parsing help text.

Exit codes

Code Meaning
0 Success
1 General error
2 Auth or config error
3 Not found

License

MIT

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

zoomcli-0.2.2.tar.gz (61.9 kB view details)

Uploaded Source

Built Distributions

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

zoomcli-0.2.2-py3-none-win_amd64.whl (2.8 MB view details)

Uploaded Python 3Windows x86-64

zoomcli-0.2.2-py3-none-manylinux_2_28_x86_64.whl (2.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

zoomcli-0.2.2-py3-none-manylinux_2_28_aarch64.whl (2.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

zoomcli-0.2.2-py3-none-macosx_11_0_arm64.whl (2.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

zoomcli-0.2.2-py3-none-macosx_10_12_x86_64.whl (2.7 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file zoomcli-0.2.2.tar.gz.

File metadata

  • Download URL: zoomcli-0.2.2.tar.gz
  • Upload date:
  • Size: 61.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for zoomcli-0.2.2.tar.gz
Algorithm Hash digest
SHA256 7037f6f405135e06c926ea0c5601ee651e50cbb2ce2368e86ac61955395c7700
MD5 e4b55c0a00c111e396bb680188d8b59b
BLAKE2b-256 dd48381a5d028612fb52860643197fb09a42d8b028113151d4ef3d0c8f0019f5

See more details on using hashes here.

File details

Details for the file zoomcli-0.2.2-py3-none-win_amd64.whl.

File metadata

  • Download URL: zoomcli-0.2.2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for zoomcli-0.2.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c81f75150225b64de202778d12ce70ebd6c3f73184f9f4a93d168f228366351b
MD5 70fc5c6e6b5b59fd0e21537e3d709a53
BLAKE2b-256 8592b4a8d9f8736a8bb0356f2d1f79d162f61180bf8f4f5944a4f8c29baef9fb

See more details on using hashes here.

File details

Details for the file zoomcli-0.2.2-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for zoomcli-0.2.2-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 02ffcf2f1e6768bf18e6a9641d0d7847014773135ef46ee942a34d3452c8d5f8
MD5 40983799496be8d3be2c88e6214b48b5
BLAKE2b-256 8947f3493d4574da7a82fc503cca8dff1987d34ffc5f4ca84fb00f305925a969

See more details on using hashes here.

File details

Details for the file zoomcli-0.2.2-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for zoomcli-0.2.2-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 724ed8c0655eaccc1a31dcb4af0d5b5beb1fe3c5dde8f17f356a47f0bdab54f0
MD5 496f76ce84e9b2e158b130c805ff4d70
BLAKE2b-256 413d8916f22e15c0916b55118c9c1e29accea3dc6b42d2bedd577cdc0ccc8573

See more details on using hashes here.

File details

Details for the file zoomcli-0.2.2-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zoomcli-0.2.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 324879943aadced1e9513f0c9612d9a9fb1fa0ccc6c50d8ce6ae896824d4a3b8
MD5 0f73141fc873c349cbce24644b737611
BLAKE2b-256 57ed5b92127c3305d15fb2bdac7ac351a492350e5334ebb9d9b3b760cea77f8e

See more details on using hashes here.

File details

Details for the file zoomcli-0.2.2-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for zoomcli-0.2.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f74bb38a128ca5f043541b3f482dc0f5c112390af724f48f8d60629a9d7786d6
MD5 b8ae95d99dcd70d23cf1847f708992fd
BLAKE2b-256 25d8642b924173f9040d85834b5e1822d447c631233e57fc92b9d010a56b60e6

See more details on using hashes here.

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