Apollo CLI Overview
Access Apollo's full API directly from your terminal. Search and enrich people and companies, manage CRM data, and drive sequences — all from a single command line tool.
The Apollo CLI gives you shell-native access to Apollo's full API. Search 275M+ contacts, enrich people and companies, manage CRM records, and run sequences — all without leaving your terminal. It's pipeable with jq, supports multiple output formats, and works natively with AI coding agents like Claude Code and Cursor.
Check out the following sections to install the CLI, authenticate your account, and start running commands.
Prerequisites
Before you install the Apollo CLI, make sure you have:
- macOS or Linux (Windows isn't supported yet).
- An active Apollo.io account.
Install the Apollo CLI
You can install the Apollo CLI in three ways: via Homebrew, a prebuilt binary, or from source.
Option 1: Homebrew (Recommended)
To install via Homebrew:
brew install apolloio/apollo-io-cli/apollo-io-cliOr tap once, then install by short name:
brew tap apolloio/apollo-io-cli
brew install apollo-io-cliUpgrade anytime with brew upgrade apollo-io-cli.
Option 2: Prebuilt Binary
No Node.js required. Download the binary for your platform from the GitHub releases page:
| Platform | File |
|---|---|
| macOS (Apple Silicon) | apollo-macos-arm64 |
| macOS (Intel) | apollo-macos-x64 |
| Linux (x64) | apollo-linux-x64 |
To set up the binary:
- Make the file executable and move it to your PATH.
chmod +x apollo-macos-arm64
mv apollo-macos-arm64 /usr/local/bin/apollo
xattr -d com.apple.quarantine /usr/local/bin/apolloYou have now installed the Apollo CLI.
Each release also includes a GPG signature file. To verify the binary:
gpg --import release-signing-key.asc
gpg --verify apollo-macos-arm64.asc apollo-macos-arm64Option 3: From Source
Requires Node 18 or above.
git clone https://github.com/apolloio/apollo-io-cli.git
cd apollo-io-cli
npm install
npm linkAuthenticate
The CLI uses OAuth 2.0 — no API key needed. Log in once and your token refreshes automatically.
To authenticate:
- Run the login command. Your browser opens to authorize the connection and saves your credentials to
~/.config/apollo/credentials.
apollo auth login- Confirm you're logged in.
apollo auth whoamiYou have now authenticated the Apollo CLI.
To log out and revoke your credentials at any time, run apollo auth logout.
Check Yourself Before You Wreck Yourself Run
apollo auth whoamibefore any other command. If authentication fails, resolve it first — don't work around it.
Available Commands
The Apollo CLI is organized into command groups that map to core areas of the Apollo platform.
People
| Command | What It Does |
|---|---|
apollo people search | Search Apollo's database by title, city, seniority, department, technology, domain, industry, and more. |
apollo people enrich | Enrich a single person by email, LinkedIn URL, or name and company. |
apollo people bulk-enrich | Enrich multiple people by email in one request. |
apollo people email | Request an email address by Apollo person ID. |
apollo people employees | Find employees at a company by domain, name, or LinkedIn URL. |
Companies
| Command | What It Does |
|---|---|
apollo companies search | Search by industry, employee range, location, technology, revenue, funding, and hiring signals. |
apollo companies enrich | Enrich a single company by domain or name. |
apollo companies bulk-enrich | Enrich multiple companies by domain. |
apollo companies get | Get full details by Apollo organization ID. |
apollo companies jobs | Get active job postings for a company. |
News
| Command | What It Does |
|---|---|
apollo news search | Find news articles related to a company. |
Contacts
| Command | What It Does |
|---|---|
apollo contacts search | Search your CRM contacts. |
apollo contacts create | Create a new contact. |
apollo contacts update | Update an existing contact. |
apollo contacts bulk-create | Create multiple contacts from a JSON file. |
Accounts
| Command | What It Does |
|---|---|
apollo accounts create | Create a new account. |
apollo accounts update | Update an existing account. |
apollo accounts bulk-create | Create multiple accounts from a JSON file. |
Deals
| Command | What It Does |
|---|---|
apollo deals create | Create a new deal. |
apollo deals search | Search your deals. |
apollo deals show | Get details for a specific deal. |
Sequences
| Command | What It Does |
|---|---|
apollo sequences search | Search sequences by name. |
apollo email-accounts list | List all linked sending inboxes. |
apollo sequences add-contacts | Enroll contacts into a sequence. |
apollo sequences remove-contacts | Remove or stop contacts from a sequence. |
This One's for Real
apollo sequences add-contactssends real emails to real people. Always confirm the sequence name, sender inbox, and contact list before running this command.
Calls
| Command | What It Does |
|---|---|
apollo calls log | Log a phone call record. |
apollo calls search | Search call records. |
apollo calls update | Update a call record. |
Tasks
| Command | What It Does |
|---|---|
apollo tasks create | Create a new task. |
apollo tasks bulk-create | Create multiple tasks from a JSON file. |
apollo tasks search | Search tasks. |
Users and Credits
| Command | What It Does |
|---|---|
apollo users profile | View your profile. Add --credits to include credit usage. |
apollo users search | Find teammates by name, email, or title. |
apollo usage credits | View credit usage stats across all credit types. |
Analytics
| Command | What It Does |
|---|---|
apollo analytics report | Generate an analytics report. Pass the full request body as a JSON file via --payload. |
Output Formats
Every command accepts --format (default: json):
| Format | Flag | Best For |
|---|---|---|
| JSON | --format json | Piping to jq, scripts, and agents. |
| JSONL | --format jsonl | Streaming one record per line. |
| CSV | --format csv | Spreadsheets and bulk exports. |
| YAML | --format yaml | Human-readable inspection. |
| Table | --format table | Browsing results in the terminal. |
apollo people search --domain stripe.com | jq '.people[].email'
apollo companies search --industry fintech | jq '.organizations[].name'Pagination
Use these flags to page through large result sets:
--per-page <n>— Results per page (default: 10).--page <n>— Page number (default: 1).--sort-by <field>— Sort field (varies by command).--sort-asc— Sort in ascending order (default is descending).
apollo people search --title "VP of Engineering" --per-page 25 --page 2Use the Apollo CLI with AI Agents
The Apollo CLI works natively with AI coding agents. A Claude Code skill is available that gives the agent full knowledge of every command, its options, JSON response shapes, and jq examples.
Set Up with Claude Code
Global install (available in every project on your machine):
mkdir -p ~/.claude/skills/apollo-cli
curl -fsSL https://raw.githubusercontent.com/apolloio/apollo-io-cli/main/.claude/skills/apollo-cli/SKILL.md \
-o ~/.claude/skills/apollo-cli/SKILL.mdPer-project install (scoped to one repo):
mkdir -p .claude/skills/apollo-cli
curl -fsSL https://raw.githubusercontent.com/apolloio/apollo-io-cli/main/.claude/skills/apollo-cli/SKILL.md \
-o .claude/skills/apollo-cli/SKILL.mdClaude Code automatically loads any skill file it finds — global or local. You can also invoke it manually with /apollo-cli.
Set Up with Cursor or Other Agents
Point your project instructions at the raw skill URL directly — no file copying required:
https://raw.githubusercontent.com/apolloio/apollo-io-cli/main/.claude/skills/apollo-cli/SKILL.md
Add this URL to your AGENTS.md or project instructions and any agent in any repo can use it. It always reflects the latest version.
Best Practices
- Authenticate first — Run
apollo auth whoamibefore anything else. Surface errors to the user — don't work around them. - Use JSON and
jqtogether —--format jsonis the most reliable format for field extraction in scripts and agents. - Don't guess IDs — Always call
apollo email-accounts listto get a verified inbox ID before enrolling contacts in a sequence. - Treat sequence enrollment as a write action —
sequences add-contactssends real emails. Confirm the sequence, sender, and contact list first. - Page through large result sets — The default is ten results per page. Use
--per-pageand--pagefor larger searches.
Next Steps
Check out the following resources to keep building with Apollo:
| Resource | Description |
|---|---|
| APIs Overview | Get familiar with Apollo's REST API — the same endpoints the CLI uses under the hood. |
| Apollo MCP Server | Use Apollo directly inside Claude without leaving your conversation. |
| Search for People | Learn how people search works and what filters are available. |
| Enrich People Data | Understand how enrichment works, what data it returns, and how credits are consumed. |
| Apollo API FAQs | Find answers to the most common questions about the Apollo API. |
Updated about 2 hours ago