Skip to main content

Installation

pip install foxreach-cli
Requirements: Python 3.9+

Setup

# Save your API key
foxreach config set-key
# Enter: otr_your_api_key

# Verify configuration
foxreach config show
You can also use environment variables (they take precedence over the config file):
export FOXREACH_API_KEY=otr_your_api_key
export FOXREACH_BASE_URL=https://api.foxreach.io/api/v1  # optional

Commands

Leads

# List leads (with optional filters)
foxreach leads list
foxreach leads list --search "jane" --status active --limit 25

# Get a single lead
foxreach leads get cld_abc123

# Create a lead
foxreach leads create --email [email protected] --first-name Jane --last-name Smith --company "Acme"

# Update a lead
foxreach leads update cld_abc123 --company "New Corp" --title "VP Sales"

# Delete a lead
foxreach leads delete cld_abc123

Campaigns

# List campaigns
foxreach campaigns list
foxreach campaigns list --status active

# Get campaign details
foxreach campaigns get cmp_xyz789

# Create a campaign
foxreach campaigns create --name "Q1 Outreach" --daily-limit 100 --timezone "America/New_York"

# Update a campaign
foxreach campaigns update cmp_xyz789 --daily-limit 200

# Start / pause
foxreach campaigns start cmp_xyz789
foxreach campaigns pause cmp_xyz789

# Add leads and email accounts
foxreach campaigns add-leads cmp_xyz789 --lead-ids cld_1,cld_2,cld_3
foxreach campaigns add-accounts cmp_xyz789 --account-ids acc_1

# Delete (must be draft)
foxreach campaigns delete cmp_xyz789

Sequences

# List steps for a campaign
foxreach sequences list --campaign cmp_xyz789

# Add a step
foxreach sequences create --campaign cmp_xyz789 \
  --subject "Quick question about {{company}}" \
  --body "Hi {{firstName}}, ..." \
  --delay-days 0

# Update a step
foxreach sequences update --campaign cmp_xyz789 --sequence seq_1 --delay-days 3

# Delete a step
foxreach sequences delete --campaign cmp_xyz789 --sequence seq_1

Templates

foxreach templates list
foxreach templates get tpl_abc123
foxreach templates create --name "Cold Intro" --body "Hi {{firstName}}, just checking in."
foxreach templates update tpl_abc123 --name "Updated Follow-up"
foxreach templates delete tpl_abc123

Email Accounts

foxreach accounts list
foxreach accounts get acc_abc123
foxreach accounts delete acc_abc123

Inbox

# List threads
foxreach inbox list
foxreach inbox list --unread --category interested

# Get a thread
foxreach inbox get rpl_abc123

# Update (mark read, categorize, star)
foxreach inbox update rpl_abc123 --read --category qualified --starred

Analytics

# Dashboard overview
foxreach analytics overview

# Campaign stats
foxreach analytics campaign cmp_xyz789

JSON Output

Add --json to any command to get raw JSON output, useful for scripting and piping:
foxreach leads list --json | jq '.data[].email'
foxreach campaigns get cmp_xyz789 --json
foxreach analytics overview --json

Configuration

Config is stored at ~/.foxreach/config.json:
{
  "api_key": "otr_your_api_key",
  "base_url": "https://api.foxreach.io/api/v1"
}
Environment variables take precedence over the config file:
SettingEnv VarConfig Key
API KeyFOXREACH_API_KEYapi_key
Base URLFOXREACH_BASE_URLbase_url

Config Commands

foxreach config set-key            # Prompts for API key
foxreach config set-url <url>      # Override base URL
foxreach config show               # Show current config (key masked)

Source Code