Skip to main content

Agent-friendly CLI for the Apollo API

Project description

CI PyPI

qodev-apollo-cli

Agent-friendly CLI for the Apollo.io API. Designed for both human and AI-agent workflows, with structured JSON output, consistent flags, and predictable error codes.

Why this CLI?

  • Agent-friendly--json on every command, consistent flags, predictable exit codes
  • Built for AI agent workflows — works seamlessly with Claude Code, scripts, and automation pipelines
  • Comprehensive — Access contacts, accounts, deals, enrichment, tasks, notes, and more
  • Dual output modes — Beautiful markdown tables for humans, structured JSON for agents

Installation

pip install qodev-apollo-cli

Or run directly without installing:

uvx qodev-apollo-cli

Quick Start

# Set your Apollo API key
export APOLLO_API_KEY="your_api_key_here"
# Install AI agent skill files (for Claude Code, etc.)
$ qodev-apollo-cli install --skills

# Search contacts
$ qodev-apollo-cli contacts search --query "engineer" --limit 5
Jane Smith     VP Engineering     Acme Corp     jane@acme.com

# Get contact details as JSON (for scripts/agents)
$ qodev-apollo-cli --json contacts get <contact-id>
{"id": "...", "name": "Jane Smith", "title": "VP Engineering", ...}

# Enrich a company (free)
$ qodev-apollo-cli enrich org acme.com

# Search deals in a specific stage
$ qodev-apollo-cli deals search --stage-id <stage-id>

# Check API usage
$ qodev-apollo-cli usage

Commands

Group Subcommand Description
contacts search Search contacts (--query, --stage-id, --linkedin-url)
get Get contact details by ID
create Create a new contact (--first-name, --last-name, --email, etc.)
update Update contact (--title, --label-ids)
upsert-by-linkedin Get or create a contact by LinkedIn URL (--name, --title, --stage-id)
stages List all contact stages
accounts search Search companies/accounts (--query, --domain)
get Get account details by ID
deals search Search opportunities/deals (--query, --stage-id)
get Get deal details by ID
pipelines list List all deal pipelines
get Get pipeline details
stages List stages in a pipeline
stages list List all contact stages
get Get stage details
enrich org Enrich organization by domain (FREE - no credits)
person Enrich person by email (1 credit per lookup)
people search Search people database (--person-titles, --q-organization-domains)
notes search Search notes (--contact-id, --account-id, --opportunity-id)
create Create a note (--contact-ids, --account-ids, --opportunity-ids, --content)
tasks search Search tasks (--type, --status)
create Create a task (--contact-ids, --note, --due-at)
calls search Search call activities
emails search Search email activities
news search Search news (--categories)
jobs search Search job postings (--job-titles, --company-domains)
usage (default) Show API usage stats and rate limits
install --skills Install AI agent skill files to .claude/skills/apollo/

Configuration

Authentication

Set the APOLLO_API_KEY environment variable, or pass --api-key on each invocation:

export APOLLO_API_KEY="your_api_key_here"

Get your API key from Apollo.io Settings → API.

Global Options

Flag Description Default
--json Output as JSON (for scripting / agents) false
--api-key Apollo API key (overrides APOLLO_API_KEY)
--limit Results per page 25
--page Page number 1

Exit Codes

Code Meaning
0 Success
80 Authentication error (invalid API key)
81 Rate limit exceeded
82 API error (server error, invalid request)
83 Validation error (missing required fields)

JSON Output

All commands support --json for structured output:

qodev-apollo-cli --json contacts search --query "engineer" | jq '.items[0].name'

Paginated responses include:

{
  "items": [...],
  "total": 142,
  "page": 1,
  "limit": 25
}

Common Workflows

Find and enrich a contact

# Search by keyword
qodev-apollo-cli contacts search --query "jane smith"

# Get full details
qodev-apollo-cli contacts get <contact-id>

# Enrich person data (1 credit)
qodev-apollo-cli enrich person jane@example.com

Pipeline management

# List all pipelines
qodev-apollo-cli pipelines list

# Get stages in a pipeline
qodev-apollo-cli pipelines stages <pipeline-id>

# Search deals in specific stage
qodev-apollo-cli deals search --stage-id <stage-id>

LinkedIn integration

# Read-only lookup by LinkedIn URL (returns 0..n contacts, never writes)
qodev-apollo-cli contacts search --linkedin-url "https://linkedin.com/in/janesmith"

# Get or create a contact by LinkedIn URL (upsert); --name is required to create
qodev-apollo-cli contacts upsert-by-linkedin "https://linkedin.com/in/janesmith" --name "Jane Smith"

# Set title / stage when creating
qodev-apollo-cli contacts upsert-by-linkedin "https://linkedin.com/in/janesmith" \
  --name "Jane Smith" --title "VP Engineering" --stage-id <stage-id>

Company enrichment (FREE)

# Enrich by domain (no credits used)
qodev-apollo-cli enrich org acme.com

# View as JSON
qodev-apollo-cli --json enrich org acme.com | jq '.industry'

License

MIT -- see LICENSE for details.

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

qodev_apollo_cli-1.0.0.tar.gz (58.4 kB view details)

Uploaded Source

Built Distribution

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

qodev_apollo_cli-1.0.0-py3-none-any.whl (35.9 kB view details)

Uploaded Python 3

File details

Details for the file qodev_apollo_cli-1.0.0.tar.gz.

File metadata

  • Download URL: qodev_apollo_cli-1.0.0.tar.gz
  • Upload date:
  • Size: 58.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for qodev_apollo_cli-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7301cfe5d5e0bc7ec1f4839456df22c38a255cea2e558ff2746e07fc99c1fdd4
MD5 c1ac99f48c2d5de153010ef9efa59aca
BLAKE2b-256 280face8a377976afa77833976585a82676134597067daa98857852bc300491f

See more details on using hashes here.

Provenance

The following attestation bundles were made for qodev_apollo_cli-1.0.0.tar.gz:

Publisher: publish.yml on qodevai/apollo-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qodev_apollo_cli-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for qodev_apollo_cli-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9f9a2dbd1775e67cdca0510204bb94cd5cb41c5b637979a1ece4d533d4af0921
MD5 3df4e42d4d34ea6b239e5fa253fd1650
BLAKE2b-256 db43790064e640627dbe6828dbaf13bd080f4cd210f0269f1945badb92ed238c

See more details on using hashes here.

Provenance

The following attestation bundles were made for qodev_apollo_cli-1.0.0-py3-none-any.whl:

Publisher: publish.yml on qodevai/apollo-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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