feat: add email outreach CLIs for backlink building

Add 4 new zero-dependency CLI tools for email outreach:
- hunter.js: Email finding/verification via Hunter.io (query param auth)
- snov.js: Email finding + drip campaigns via Snov.io (OAuth2 auth)
- lemlist.js: Cold email campaigns via Lemlist (Basic auth)
- instantly.js: Cold email at scale via Instantly.ai (query param auth)

Includes integration guides and registry/README updates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Corey Haines
2026-02-17 14:09:50 -08:00
parent f123804827
commit aad399682c
10 changed files with 1404 additions and 0 deletions
+90
View File
@@ -0,0 +1,90 @@
# Hunter.io
Email finding and verification platform for outreach and link building.
## Capabilities
| Integration | Available | Notes |
|-------------|-----------|-------|
| API | ✓ | REST API for domain search, email finder, verification |
| MCP | - | Not available |
| CLI | [](../clis/hunter.js) | Zero-dependency Node.js CLI |
| SDK | - | API-only |
## Authentication
- **Type**: API Key (query parameter)
- **Parameter**: `api_key={key}`
- **Env var**: `HUNTER_API_KEY`
- **Get key**: [Hunter dashboard > API](https://hunter.io/api-keys)
## Common Agent Operations
### Find emails for a domain
```bash
node tools/clis/hunter.js domain search --domain example.com --limit 10
```
### Find a specific person's email
```bash
node tools/clis/hunter.js email find --domain example.com --first-name John --last-name Doe
```
### Verify an email address
```bash
node tools/clis/hunter.js email verify --email john@example.com
```
### Count emails available for a domain
```bash
node tools/clis/hunter.js domain count --domain example.com
```
### Manage leads
```bash
# List leads
node tools/clis/hunter.js leads list --limit 20
# Create a lead
node tools/clis/hunter.js leads create --email john@example.com --first-name John --last-name Doe --company "Example Inc"
# Delete a lead
node tools/clis/hunter.js leads delete --id 12345
```
### Manage campaigns
```bash
# List campaigns
node tools/clis/hunter.js campaigns list
# Get campaign details
node tools/clis/hunter.js campaigns get --id 12345
# Start/pause a campaign
node tools/clis/hunter.js campaigns start --id 12345
node tools/clis/hunter.js campaigns pause --id 12345
```
### Check account usage
```bash
node tools/clis/hunter.js account info
```
## Rate Limits
- Free plan: 25 searches/month, 50 verifications/month
- Paid plans scale with tier
- API rate limit: 10 requests/second
## Use Cases
- **Link building**: Find email contacts at target domains for outreach
- **Prospecting**: Build lead lists from company domains
- **Verification**: Clean email lists before sending campaigns
+104
View File
@@ -0,0 +1,104 @@
# Instantly.ai
Cold email platform with built-in email warmup and campaign management at scale.
## Capabilities
| Integration | Available | Notes |
|-------------|-----------|-------|
| API | ✓ | REST API for campaigns, leads, accounts, analytics |
| MCP | - | Not available |
| CLI | [](../clis/instantly.js) | Zero-dependency Node.js CLI |
| SDK | - | API-only |
## Authentication
- **Type**: API Key (query parameter)
- **Parameter**: `api_key={key}`
- **Env var**: `INSTANTLY_API_KEY`
- **Get key**: [Instantly Settings > Integrations > API](https://app.instantly.ai/app/settings/integrations)
## Common Agent Operations
### Manage campaigns
```bash
# List campaigns
node tools/clis/instantly.js campaigns list --limit 20
# Get campaign details
node tools/clis/instantly.js campaigns get --id cam_abc123
# Check campaign status
node tools/clis/instantly.js campaigns status --id cam_abc123
# Launch a campaign
node tools/clis/instantly.js campaigns launch --id cam_abc123
# Pause a campaign
node tools/clis/instantly.js campaigns pause --id cam_abc123
```
### Manage leads
```bash
# List leads in a campaign
node tools/clis/instantly.js leads list --campaign-id cam_abc123 --limit 50
# Add a lead
node tools/clis/instantly.js leads add --campaign-id cam_abc123 --email john@example.com --first-name John --last-name Doe --company "Example Inc"
# Delete a lead
node tools/clis/instantly.js leads delete --campaign-id cam_abc123 --email john@example.com
# Check lead status
node tools/clis/instantly.js leads status --campaign-id cam_abc123 --email john@example.com
```
### Manage email accounts
```bash
# List connected accounts
node tools/clis/instantly.js accounts list --limit 20
# Check account status
node tools/clis/instantly.js accounts status --account-id me@example.com
# Check warmup status
node tools/clis/instantly.js accounts warmup-status --account-id me@example.com
```
### View analytics
```bash
# Campaign analytics
node tools/clis/instantly.js analytics campaign --campaign-id cam_abc123 --start 2024-01-01 --end 2024-01-31
# Step-by-step analytics
node tools/clis/instantly.js analytics steps --campaign-id cam_abc123
# Account-level analytics
node tools/clis/instantly.js analytics account --start 2024-01-01 --end 2024-01-31
```
### Manage blocklist
```bash
# List blocked emails/domains
node tools/clis/instantly.js blocklist list
# Add to blocklist
node tools/clis/instantly.js blocklist add --entries "competitor.com,spam@example.com"
```
## Rate Limits
- API rate limits vary by plan
- Recommended: stay under 10 requests/second
## Use Cases
- **Link building at scale**: Run large-volume outreach campaigns with built-in warmup
- **Campaign management**: Launch, pause, and monitor cold email campaigns
- **Account health**: Monitor email account warmup and deliverability
- **Analytics**: Track open rates, reply rates, and campaign performance
+110
View File
@@ -0,0 +1,110 @@
# Lemlist
Cold email outreach platform with personalization and campaign management.
## Capabilities
| Integration | Available | Notes |
|-------------|-----------|-------|
| API | ✓ | REST API for campaigns, leads, activities, webhooks |
| MCP | - | Not available |
| CLI | [](../clis/lemlist.js) | Zero-dependency Node.js CLI |
| SDK | - | API-only |
## Authentication
- **Type**: Basic Auth (empty username, API key as password)
- **Header**: `Authorization: Basic base64(:api_key)`
- **Env var**: `LEMLIST_API_KEY`
- **Get key**: [Lemlist Settings > Integrations](https://app.lemlist.com/settings/integrations)
## Common Agent Operations
### List campaigns
```bash
node tools/clis/lemlist.js campaigns list --offset 0 --limit 20
```
### Get campaign details and stats
```bash
# Get campaign
node tools/clis/lemlist.js campaigns get --id cam_abc123
# Get campaign stats
node tools/clis/lemlist.js campaigns stats --id cam_abc123
# Export campaign data
node tools/clis/lemlist.js campaigns export --id cam_abc123
```
### Manage leads in a campaign
```bash
# List leads
node tools/clis/lemlist.js leads list --campaign-id cam_abc123
# Add a lead
node tools/clis/lemlist.js leads add --campaign-id cam_abc123 --email john@example.com --first-name John --last-name Doe --company "Example Inc"
# Get lead details
node tools/clis/lemlist.js leads get --campaign-id cam_abc123 --email john@example.com
# Remove a lead
node tools/clis/lemlist.js leads delete --campaign-id cam_abc123 --email john@example.com
```
### Manage unsubscribes
```bash
# List unsubscribed emails
node tools/clis/lemlist.js unsubscribes list
# Add to unsubscribe list
node tools/clis/lemlist.js unsubscribes add --email john@example.com
# Remove from unsubscribe list
node tools/clis/lemlist.js unsubscribes delete --email john@example.com
```
### View activities
```bash
# All activities
node tools/clis/lemlist.js activities list
# Filter by campaign and type
node tools/clis/lemlist.js activities list --campaign-id cam_abc123 --type emailsOpened
```
### Manage webhooks
```bash
# List hooks
node tools/clis/lemlist.js hooks list
# Create a webhook
node tools/clis/lemlist.js hooks create --target-url https://example.com/webhook --event emailsOpened
# Delete a webhook
node tools/clis/lemlist.js hooks delete --id hook_123
```
### Team info
```bash
node tools/clis/lemlist.js team info
```
## Rate Limits
- API rate limits vary by plan
- Recommended: stay under 10 requests/second
## Use Cases
- **Link building outreach**: Add prospects to campaigns for backlink requests
- **Campaign management**: Monitor open/reply rates across outreach campaigns
- **Lead management**: Add, remove, and track leads across campaigns
- **Webhook integration**: Get real-time notifications for email events
+94
View File
@@ -0,0 +1,94 @@
# Snov.io
Email finding, verification, and drip campaign platform for outreach.
## Capabilities
| Integration | Available | Notes |
|-------------|-----------|-------|
| API | ✓ | REST API for email finding, verification, prospects, drip campaigns |
| MCP | - | Not available |
| CLI | [](../clis/snov.js) | Zero-dependency Node.js CLI |
| SDK | - | API-only |
## Authentication
- **Type**: OAuth2 client credentials
- **Flow**: POST to `/oauth/access_token` with client_id + client_secret
- **Env vars**: `SNOV_CLIENT_ID`, `SNOV_CLIENT_SECRET`
- **Get keys**: [Snov.io > Integration > API](https://app.snov.io/integration/api)
The CLI handles token acquisition automatically.
## Common Agent Operations
### Search emails by domain
```bash
node tools/clis/snov.js domain search --domain example.com --type all --limit 10
```
### Find a specific person's email
```bash
node tools/clis/snov.js email find --domain example.com --first-name John --last-name Doe
```
### Verify an email
```bash
node tools/clis/snov.js email verify --email john@example.com
```
### Find prospect by email
```bash
node tools/clis/snov.js prospect find --email john@example.com
```
### Add prospect to a list
```bash
node tools/clis/snov.js prospect add --email john@example.com --first-name John --last-name Doe --list-id 12345
```
### Manage prospect lists
```bash
# List all lists
node tools/clis/snov.js lists list
# Get prospects in a list
node tools/clis/snov.js lists prospects --id 12345 --page 1 --per-page 50
```
### Check domain technology stack
```bash
node tools/clis/snov.js technology check --domain example.com
```
### Manage drip campaigns
```bash
# List campaigns
node tools/clis/snov.js drips list
# Get campaign details
node tools/clis/snov.js drips get --id 12345
# Add prospect to drip campaign
node tools/clis/snov.js drips add-prospect --id 12345 --email john@example.com
```
## Rate Limits
- Rate limits vary by plan
- OAuth tokens expire after a set period; CLI handles refresh automatically
## Use Cases
- **Link building**: Find contacts and run automated drip outreach
- **Prospecting**: Build and manage prospect lists
- **Technology research**: Check what tech stack a target domain uses
- **Email verification**: Clean lists before sending