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:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user