home / skills / composiohq / awesome-claude-skills / hunter-automation
/hunter-automation
This skill automates Hunter.io email intelligence through natural language, enabling domain search, contact discovery, verification, lead management, and usage
npx playbooks add skill composiohq/awesome-claude-skills --skill hunter-automationReview the files below or copy the command above to add this skill to your agents.
---
name: Hunter Automation
description: "Automate Hunter.io email intelligence -- search domains for email addresses, find specific contacts, verify email deliverability, manage leads, and monitor account usage -- using natural language through the Composio MCP integration."
category: email-intelligence
requires:
mcp:
- rube
---
# Hunter Automation
Power your outreach with Hunter.io -- discover email addresses by domain, find specific people's emails, verify deliverability, save leads, and track your API usage -- all through natural language commands.
**Toolkit docs:** [composio.dev/toolkits/hunter](https://composio.dev/toolkits/hunter)
---
## Setup
1. Add the Composio MCP server to your client configuration:
```
https://rube.app/mcp
```
2. Connect your Hunter.io account when prompted (API key authentication).
3. Start issuing natural language commands to find and verify emails.
---
## Core Workflows
### 1. Search Domain for Email Addresses
Discover all publicly available email addresses for a given domain or company, with filtering by department, seniority, and type.
**Tool:** `HUNTER_DOMAIN_SEARCH`
**Example prompt:**
> "Find all executive email addresses at stripe.com using Hunter"
**Key parameters:**
- `domain` -- Domain to search (e.g., "stripe.com"). Required if `company` not provided.
- `company` -- Company name to search (e.g., "Stripe"). Required if `domain` not provided.
- `type` -- Filter by "personal" or "generic" emails
- `seniority` -- Filter by levels: "junior", "senior", "executive" (array)
- `department` -- Filter by departments: "executive", "it", "finance", "sales", etc. (array)
- `required_field` -- Require specific fields: "full_name", "position", "phone_number" (array)
- `limit` -- Max results per request (1-100, default 10; free/basic plans limited to 10)
- `offset` -- Skip results for pagination (default 0)
---
### 2. Find a Specific Person's Email
Infer the most likely email address for a person given their name and domain or company.
**Tool:** `HUNTER_EMAIL_FINDER`
**Example prompt:**
> "Find the email for Alexis Ohanian at reddit.com using Hunter"
**Key parameters:**
- `domain` -- Target domain (e.g., "reddit.com"). Takes precedence over `company`.
- `company` -- Company name (e.g., "Reddit"). Used if domain not provided.
- Name (one of these combinations required):
- `first_name` + `last_name` (e.g., "Alexis" + "Ohanian")
- `full_name` (e.g., "Alexis Ohanian")
- `max_duration` -- Max request duration in seconds (3-20, default 10). Longer durations yield more accurate results.
---
### 3. Verify Email Deliverability
Check whether an email address is valid, deliverable, and safe to send to.
**Tool:** `HUNTER_EMAIL_VERIFIER`
**Example prompt:**
> "Verify if [email protected] is a valid email address"
**Key parameters:**
- `email` (required) -- The email address to verify (e.g., "[email protected]")
**Response includes:** verification status, deliverability score, MX record validation, and risk assessment.
---
### 4. Get Email Volume Estimates
Check how many email addresses Hunter has for a domain or company -- this call is free and does not consume API credits.
**Tool:** `HUNTER_EMAIL_COUNT`
**Example prompt:**
> "How many email addresses does Hunter have for stripe.com?"
**Key parameters:**
- `domain` -- Domain to query (e.g., "stripe.com"). Required if `company` not provided.
- `company` -- Company name (min 3 characters). Required if `domain` not provided.
- `type` -- Filter count by "personal" or "generic" emails
**Returns:** Total count with breakdowns by type, department, and seniority level.
---
### 5. Save and Manage Leads
Create or update leads by email in a single upsert call -- no need to check existence first.
**Tool:** `HUNTER_UPSERT_LEAD`
**Example prompt:**
> "Save [email protected] as a lead in Hunter with name John Doe, position CTO"
**Key parameters:**
- `email` -- Lead's email address (primary identifier for upsert)
- Name, position, company, and other lead metadata
---
### 6. Check Account Usage and Limits
Review your Hunter account plan details, remaining searches, and verification quotas before running bulk operations.
**Tool:** `HUNTER_ACCOUNT_INFORMATION`
**Example prompt:**
> "How many Hunter API searches do I have left this month?"
**Key parameters:** None required.
---
## Known Pitfalls
- **HTTP 401 means invalid credentials**: `authentication_failed` errors indicate an invalid or expired API key. Fix before attempting bulk operations.
- **Email counts are estimates**: `HUNTER_EMAIL_COUNT` returns approximate numbers for sizing and prioritization, not guaranteed retrievable email counts.
- **Domain search uses offset pagination**: `HUNTER_DOMAIN_SEARCH` paginates via `limit`/`offset`. Do not assume the first page is complete -- continue fetching until results are empty or you hit a cap.
- **Empty results are not errors**: `HUNTER_DOMAIN_SEARCH` can return `emails: []` with no error. Treat as "no data found" and continue, rather than retrying as a failure.
- **Verification status nuances**: `accept_all` or `risky` statuses from `HUNTER_EMAIL_VERIFIER` indicate uncertainty. Exclude these from strict deliverability workflows or handle them separately.
- **Free/basic plan limits**: Free and basic plans limit `HUNTER_DOMAIN_SEARCH` to 10 results per request. Higher limits require a paid plan.
- **Domain format matters**: Use bare domains like "stripe.com" -- do not include protocol ("https://") or "www." prefix.
---
## Quick Reference
| Action | Tool Slug | Required Params |
|---|---|---|
| Search domain emails | `HUNTER_DOMAIN_SEARCH` | `domain` or `company` |
| Find person's email | `HUNTER_EMAIL_FINDER` | Name + (`domain` or `company`) |
| Verify email | `HUNTER_EMAIL_VERIFIER` | `email` |
| Get email count | `HUNTER_EMAIL_COUNT` | `domain` or `company` |
| Save/update lead | `HUNTER_UPSERT_LEAD` | `email` |
| Check account | `HUNTER_ACCOUNT_INFORMATION` | None |
---
*Powered by [Composio](https://composio.dev)*
This skill automates Hunter.io email intelligence through natural language via the Composio MCP integration. It lets you search domains for public emails, infer specific contacts, verify deliverability, manage leads, and monitor account usage. Use plain commands to run common outreach and data hygiene tasks without writing API calls.
The skill translates natural-language requests into Hunter toolkit actions (domain search, email finder, verifier, counts, lead upserts, and account checks) and returns structured results. It accepts parameters like domain/company, names, filters (department, seniority, type), and pagination settings, then calls the appropriate Hunter endpoint and summarizes verification status, counts, or lead upsert outcomes.
What does an HTTP 401 error mean?
HTTP 401 indicates invalid or expired API credentials. Reconnect your Hunter account or update the API key before retrying.
Are email counts exact?
No. Email counts are estimates to help sizing and prioritization; they do not guarantee that every address is retrievable.
How should I handle paginated domain search results?
Use limit and offset to iterate pages until results are empty or you reach your desired cap; the first page may not include all matches.