Skip to main content
The Kadoa CLI lets you create, manage, and monitor web scraping workflows from the terminal. It wraps the SDK and works in interactive terminals, scripts, and CI/CD pipelines.

Installation

npm install -g @kadoa/cli

Authentication

The CLI resolves your API key in this order:
  1. --api-key <key> flag (highest priority)
  2. KADOA_API_KEY environment variable
  3. ~/.kadoa/config.json (set via kadoa login)
# Interactive login (saves to ~/.kadoa/config.json)
kadoa login

# Or use environment variable
export KADOA_API_KEY=tk-your_api_key

# Or pass per-command
kadoa list --api-key tk-your_api_key
Check your current auth status:
kadoa whoami

Quick Start

# Create a workflow with a natural language prompt
kadoa create "Extract product names and prices" --url https://example.com/products

# List all workflows
kadoa list

# Run a workflow
kadoa run <workflowId>

# Fetch extracted data
kadoa data <workflowId>

Commands

Workflow Management

CommandDescription
kadoa create <prompt> --url <url>Create a new workflow
kadoa listList all workflows
kadoa get <id>Get workflow details
kadoa run <id>Run a workflow
kadoa data <id>Fetch extracted data
kadoa approve <id>Approve and activate a workflow
kadoa update <id>Update workflow configuration
kadoa delete <id>Delete a workflow
Each command supports additional flags. Run kadoa <command> --help to see all options.

Auth

CommandDescription
kadoa loginSave API key to ~/.kadoa/config.json
kadoa logoutRemove stored credentials
kadoa whoamiShow current auth status

Global Options

OptionDescription
--api-key <key>Override stored API key
--jsonForce JSON output
-V, --versionShow version
-h, --helpShow help

Usage Examples

Create a Workflow

kadoa create "Extract products" \
  --url https://example.com \
  --name "My Workflow" \
  --entity "Product"

List with Filters

kadoa list --state ACTIVE --limit 10

Fetch Data with Pagination

kadoa data <id> --limit 50 --page 2 --format csv

Update a Workflow

kadoa update <id> --name "New Name" --schedule DAILY

Delete a Workflow

# With confirmation prompt
kadoa delete <id>

# Skip confirmation
kadoa delete <id> --force

Output Formats

The CLI selects the output format automatically:
  • Interactive terminal (TTY): Formatted table
  • Piped/redirected: JSON
Override with --json or --format:
# Force JSON
kadoa list --json

# CSV output
kadoa data <id> --format csv

# Pipe to jq
kadoa list --json | jq '.[].id'

# Save to file
kadoa data <id> --format csv > data.csv

Shell Completions

Enable tab completion for workflow IDs, subcommands, and flags:
# Zsh (add to ~/.zshrc)
eval "$(kadoa completion zsh)"

# Bash (add to ~/.bashrc)
eval "$(kadoa completion bash)"
Zsh shows workflow names inline: kadoa get <TAB> displays abc123 -- My Workflow.

CI/CD Usage

Set KADOA_API_KEY as an environment variable for non-interactive use. GitHub Actions:
env:
  KADOA_API_KEY: ${{ secrets.KADOA_API_KEY }}
steps:
  - run: |
      kadoa run $WORKFLOW_ID --json
      kadoa data $WORKFLOW_ID --format csv > output.csv
Other CI systems:
export KADOA_API_KEY=tk-your_api_key

kadoa run $WORKFLOW_ID --json
kadoa data $WORKFLOW_ID --format csv > output.csv

Codex Skill

The Kadoa CLI is also available as a Codex agent skill. Install it directly from the repo:
codex install-skill https://github.com/kadoa-org/kadoa-cli
Once installed, Codex will automatically use Kadoa when you ask it to scrape or extract data from websites. The skill requires network access — see the MCP Server Codex setup for config details.

Exit Codes

CodeMeaning
0Success
1Error (API, validation, etc.)
2Authentication error