Using the Wistia CLI

Install, authenticate, and use the Wistia CLI to manage your Wistia account from the terminal.

The Wistia CLI is a command-line tool for the Wistia Data API. It lets you manage media, folders, channels, webinars, captions, analytics, and more directly from your terminal, without writing code.

The command is wistia, and every command can emit machine-readable output (JSON, YAML, or TOON). That makes it a natural fit for AI coding agents such as Claude Code, Cursor, and Codex: they can run wistia commands and act on the structured results as part of a coding session, the same way a developer would. The CLI is a complement to Wistia's MCP server for agents that work in a terminal rather than over a protocol. The same output formats also compose cleanly with jq, shell pipelines, and scripts.

Installation

Homebrew (macOS and Linux)

brew install wistia/tap/wistia-cli

Shell installer (macOS and Linux)

curl -fsSL https://raw.githubusercontent.com/wistia/wistia-cli/main/scripts/install.sh | bash

Windows (PowerShell)

iwr -useb https://raw.githubusercontent.com/wistia/wistia-cli/main/scripts/install.ps1 | iex

Manual download

Download a pre-built binary for your platform from the releases page and place it on your PATH.

Verify the install:

wistia --version

Authentication

The CLI authenticates with a Wistia API access token. Create one in the API tab of your Account Settings.

Keep your token secret. Treat API tokens like passwords. Don't commit them to source control or paste them into client-side code.

You can provide the token three ways:

1. OS keychain

Run the interactive setup once; the CLI stores your token securely in your operating system's keychain (macOS Keychain, Linux Secret Service, or Windows Credential Locker):

wistia configure

2. Environment variable

export WISTIA_CLI_BEARER_AUTH="<your-token>"

3. Per-command flag

wistia --bearer-auth "<your-token>" <command>

Quick start

Once authenticated, try a few read-only commands:

# Show the current account
wistia account get

# List media (most recent first)
wistia media list

# List folders (projects)
wistia folders list

Get help on any command or group:

wistia --help
wistia media --help
wistia media list --help

Output formats

Every command supports --output-format to control how responses are rendered:

FlagOutput
--output-format pretty (default)Human-readable, aligned, colorized
--output-format jsonJSON, ideal for scripts and jq
--output-format yamlYAML
--output-format tableTabular, for list responses
--output-format toonTOON, a compact, token-efficient format well-suited for piping into LLM prompts
# JSON, piped to jq
wistia media list --output-format json | jq '.[].name'

# Filter inline with the built-in --jq flag (always outputs JSON)
wistia media list --jq '.[] | select(.type == "Video")'

Shell completions

The CLI generates completions for Bash, Zsh, Fish, and PowerShell. For example, in Zsh:

# Add to ~/.zshrc
source <(wistia completion zsh)

Run wistia completion --help for the other shells.

What you can do

The CLI mirrors the Wistia Data API. Command groups include:

  • Media: upload/import, list, update, copy, archive, trim, swap
  • Folders, subfolders & sharings: organize and share projects
  • Captions, localizations & audio descriptions: accessibility and translations
  • Channels & episodes: curated collections and podcasts
  • Webinars & registrations
  • Tags & taggings
  • Account, allowed domains & customizations
  • Search
  • Analytics & stats: for media, the account, visitors, events, and webinars
  • Remix: AI video editing

Run wistia --help to see the full list.

Configuration

Non-secret settings are stored in ~/.config/wistia/config.yaml. Secret credentials live in your OS keychain (see Authentication) and fall back to the config file only when no keychain is available (for example, in CI).