Email Finding Hunter domain API
Find named contacts and their work email addresses at a company domain, filtered by job title, seniority or department. Priced per returned contact, so limit is the cost control.
- Category enrichmentRequests / mo 121Routing 1 lane · no failover
Pricing
One price, in dollars
pay per request · no subscription · fallbacks added as the catalog growsCall it
Make your first request
POST /v1/run/email_finding.hunter_domain · same shape for every APIimport os, requests res = requests.post( "https://api.getanyapi.com/v1/run/email_finding.hunter_domain", headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"}, json={ "domain": "" }, ) print(res.json())
{
"data": {
"acceptAll": true,
"disposable": true,
"domain": "example.com",
"emailPattern": "alex@example.com",
"emails": [
{
"confidence": 1024,
"decisionMaker": true,
"department": "example",
"email": "alex@example.com",
"firstName": "Alex",
"lastName": "Rivera",
"linkedinUrl": "https://example.com/page",
"phone": "+1 555-0142",
"position": "example",
"seniority": "example",
"sources": [
{
"domain": "example.com",
"extractedUtc": 12.5,
"lastSeenUtc": 12.5,
"stillOnPage": true,
"url": "https://example.com/page"
}
],
"type": "general",
"verificationStatus": "active",
"verifiedUtc": 12.5
}
],
"organization": "Acme Inc",
"totalCount": 12500,
"webmail": true
},
"found": true
}interface EmailFindingHunterDomainResponse {
data: {
acceptAll?: boolean;
disposable?: boolean;
domain: string;
emailPattern?: string;
emails: {
confidence?: number;
decisionMaker?: boolean;
department?: string;
email: string;
firstName?: string;
lastName?: string;
linkedinUrl?: string;
phone?: string;
position?: string;
seniority?: string;
sources?: {
domain: string;
extractedUtc?: number;
lastSeenUtc?: number;
stillOnPage?: boolean;
url?: string;
}[];
type?: string;
verificationStatus?: string;
verifiedUtc?: number;
}[];
organization?: string;
totalCount: number;
webmail?: boolean;
} | null;
found: boolean;
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
Request, response, and price
Last verified 2026-08-23 · uptime and latency measured over 30dcurl -X POST https://api.getanyapi.com/v1/run/email_finding.hunter_domain \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"domain":"stripe.com","limit":2,"type":"personal"}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| domain | string | "stripe.com"Company domain without a scheme or path, e.g. stripe.com. |
| department | enum | Restrict to one department. |
| jobTitle | string | One job-title keyword to match, e.g. editor. A single keyword only: a comma-separated list is not supported and only its last entry would apply. |
| limit | integer | 2Maximum contacts to return in this response. Every returned contact is billed, so this is the cost control. |
| offset | integer | Number of contacts to skip before this page begins. |
| requiredField | enum | Only return contacts that carry this field. |
| seniority | enum | Restrict to one seniority level. |
| type | enum | "personal"Restrict to personal mailboxes belonging to a named person, or to generic ones such as info@ and support@. |
| Response | ||
| data | object | |
| data.acceptAll | boolean | True when the mail server accepts any address at this domain, so an address cannot be verified by delivery. |
| data.disposable | boolean | True when the domain belongs to a disposable-email service. |
| data.domain | string | The company domain the contacts belong to. |
| data.emailPattern | string | Address pattern the company uses, e.g. {first}{last}. |
| data.emails | object[] | Contacts returned by this page, one per billed result. |
| data.emails[].confidence | integer | Upstream confidence in the address, 0 to 100. |
| data.emails[].decisionMaker | boolean | True when the contact is judged a decision maker. |
| data.emails[].department | string | Department the contact works in. |
| data.emails[].email | string | The work email address. |
| data.emails[].firstName | string | Contact's first name. |
| data.emails[].lastName | string | Contact's last name. |
| data.emails[].linkedinUrl | string | Contact's LinkedIn profile URL. |
| data.emails[].phone | string | Contact's phone number. |
| data.emails[].position | string | Contact's job title. |
| data.emails[].seniority | string | Seniority level: junior, senior or executive. |
| data.emails[].sources | object[] | Public pages the address was found on. |
| data.emails[].sources[].domain | string | Domain of the page the address was found on. |
| data.emails[].sources[].extractedUtc | number | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. |
| data.emails[].sources[].lastSeenUtc | number | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. |
| data.emails[].sources[].stillOnPage | boolean | True when the address was still present at the last check. |
| data.emails[].sources[].url | string | URL of the page the address was found on. |
| data.emails[].type | string | personal for a named person's mailbox, generic for a shared inbox. |
| data.emails[].verificationStatus | string | Deliverability verdict recorded for the address. |
| data.emails[].verifiedUtc | number | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. |
| data.organization | string | Company name registered against the domain. |
| data.totalCount | integer | Contacts matching the filters across the whole domain, of which this response returns at most limit. |
| data.webmail | boolean | True when the domain is a webmail provider rather than a company. |
| found | boolean | False when the domain yielded no contacts for the requested filters. |
| Price | ||
| Price per request (ceiling) | USD | $3.60 |
| Price /1k results | USD | $36.00 |
FAQ
About the Email Finding Hunter domain API
The AnyAPI Email Finding Hunter domain API returns Email Finding hunter domain data as normalized JSON from one POST call to /v1/run/email_finding.hunter_domain. Find named contacts and their work email addresses at a company domain, filtered by job title, seniority or department. Priced per returned contact, so limit is the cost control. AnyAPI returns one normalized schema whichever source serves it. It costs $36 per 1,000 results, and never more than $3.60 for a single request, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 97.5% of Email Finding hunter domain calls through AnyAPI succeeded, with a median response time of 2.1 seconds across 121 measured calls.
More to call
Other Email Finding endpoints
Get started
Two ways to start on AnyAPI
Humans fund a USD wallet and pay per request. Agents point a coding agent at one URL and onboard themselves.