Email Finder and Verifier API - Domain Search, Enrichment
Under maintenancePricing
$10.00 / 1,000 results
Email Finder and Verifier API - Domain Search, Enrichment
Under maintenanceFind business email addresses at any company domain, filtered by department, seniority, job title and decision maker, find a specific person's address by name, verify deliverability with SMTP and MX checks, and enrich a company or a person. Pay per result. Bring your own API key.
Pricing
$10.00 / 1,000 results
Rating
0.0
(0)
Developer
Nabeel Hassan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Find business email addresses at any company domain, filtered by department, seniority, job title and decision maker status; find one specific person's address from their name and their employer; verify deliverability with regex, MX, SMTP and catch-all checks; and pull the full company or person profile behind a domain or an address. One flat row per email, person or company.
What this actor does
- Finds every email at a company, not just the first page. Domain search pages through a domain until the provider runs out, so a company with 400 known addresses returns 400 rather than a truncated 100.
- Filters before you pay, not after. Department, seniority, job title, decision maker, personal against generic, verification status and required fields are all sent to the provider, so a search for senior sales contacts with a full name and a job title costs you those rows and not the whole company.
- Finds a named person's address. Give the finder a list of names and a list of domains and it pairs them up, returning the address with a confidence score, the job title, the phone number where known, and the pages the address was seen on.
- Verifies deliverability properly. The verifier returns the verdict, the deliverability score, and the underlying checks separately: regex validity, gibberish detection, disposable and webmail flags, MX records, the SMTP server, the SMTP check, the catch-all flag and whether the domain blocks verification.
- Enriches companies and people. Company enrichment returns the legal name, the description, the founding year, sector, industry, SIC and NAICS codes, employee count, revenue and funding metrics, the full geography and the technology stack. Person enrichment returns the name, job title, seniority, role, employer and location behind an address.
- Keeps the key out of the URL. The provider documents an api_key query parameter; this actor sends the key as a header instead, so it never lands in a log line or a redirect.
- Never charges for a miss. Only rows carrying a resolved result are billed.
Input
| Field | What it does |
|---|---|
mode | Domain search, email finder, verifier, company enrichment or person enrichment. |
domains | Company domains. Used by search, finder and company enrichment. |
fullNames | Names to find addresses for. Paired with each domain. |
emails | Addresses to verify or to enrich a person from. |
department | Only return emails from these departments. |
seniority | Only return emails at these seniority levels. |
jobTitles | Only return emails whose job title matches. |
decisionMakersOnly | Only return flagged decision makers. |
emailType | Personal addresses, generic role addresses, or both. |
verificationStatus | Only return emails with these verification verdicts. |
requiredFields | Only return emails carrying a full name, job title or phone number. |
emailsPerDomain | Emails per request, up to the provider's maximum of 100. |
maxDurationSeconds | How long the finder may spend on one lookup. |
requestsPerMinute | Pace the run under the provider's documented ceilings. |
skipNotFound | Leave unresolved inputs out of the dataset. |
maxResults | Hard cap on rows, and therefore on spend and run time. |
apiKey | Your own API key. Stored as a secret. |
Example output
{"found": true,"mode": "domainSearch","query": "example.com","email": "jane.doe@example.com","emailType": "personal","confidence": 97,"firstName": "Jane","lastName": "Doe","fullName": "Jane Doe","position": "VP of Sales","seniority": "executive","department": "sales","decisionMaker": true,"phoneNumber": null,"linkedin": "https://linkedin.com/in/janedoe","twitter": null,"verificationStatus": "valid","verificationDate": "2026-08-02","domain": "example.com","organization": "Example Labs","emailPattern": "{first}.{last}","acceptAll": false,"disposable": false,"webmail": false,"sources": [{ "domain": "example.com", "uri": "https://example.com/team", "extracted_on": "2026-05-11", "still_on_page": true }],"raw": { }}
Frequently asked questions
What data does the Email Finder API return?
A domain search returns each email with its type, confidence score, first and last name, job title, seniority, department, decision maker flag, phone number, social profiles, verification verdict and date, and the pages the address was found on, alongside the organisation name and the company's email pattern. The finder returns one address with the same person fields plus its sources. The verifier returns the verdict, the score, and the regex, gibberish, disposable, webmail, MX, SMTP, catch-all and block checks separately. Company enrichment returns the legal name, description, founding year, sector, industry, SIC and NAICS codes, employee count, revenue, funding, geography and technology stack. Person enrichment returns the name, job title, seniority, role, employer and location.
Do I need my own API key?
Yes. This actor does not include data access. You use your own API key from Hunter, which is the provider whose email data API this actor calls, created on their dashboard. Your own plan, request allowance and terms apply. Paste the key into the apiKey field, where it is stored as an Apify secret and sent in a request header rather than the documented URL parameter, so it never appears in a log line or a redirect.
How do I build a list of just the decision makers at a company?
Run domain search, set department to the departments you sell into, set seniority to executive, and turn on decisionMakersOnly. Add requiredFields of full name and job title to drop the role addresses and half-known records. All of those filter on the provider's side, so you are charged for the people you asked for rather than for the whole company.
How do I get only addresses that are safe to send to?
Set verificationStatus to valid. The provider then returns only addresses it has verified as deliverable and leaves out the catch-all and unknown ones, which is what you want when the list is going straight into a sending tool. Keep accept all in the list as well if you would rather have catch-all domains and decide about them yourself.
What is the difference between a personal and a generic email?
A personal address belongs to a named person, such as jane.doe at a company. A generic address is a role mailbox such as contact, sales or support. Both are returned by default. Personal addresses are the ones worth targeting for outreach; generic ones are more useful for support routing and for reaching companies that publish no individual addresses.
How does the email finder work?
It takes a person and a company and returns the most likely address for that pairing, with a confidence score and the evidence behind it. Supply a list of names and a list of domains and every name is tried against every domain, so ten names at one company is ten lookups. Raise maxDurationSeconds when you want the provider to work harder on an address it cannot find quickly.
What do the verification fields actually mean?
verificationStatus is the verdict: valid, invalid, accept all, webmail, disposable or unknown. confidence is the deliverability score. The rest are the checks that produced the verdict, exposed separately so you can apply your own policy: regexpValid for format, gibberish for random-looking local parts, disposable for throwaway providers, webmail for consumer mailboxes, mxRecords for whether the domain accepts mail at all, smtpCheck for the mailbox probe, acceptAll for catch-all domains and blocked for domains that refuse verification.
How does this handle rate limits?
The provider documents different ceilings per route: 500 requests per minute on search and enrichment, 300 on verification, with per-second limits alongside. The actor spaces requests evenly to stay under whichever ceiling you set in requestsPerMinute, and treats the per-second limit response as something to wait out while treating the monthly allowance response as a reason to stop, because waiting will not fix the latter.
What happens when a domain or address returns nothing?
The row is written with found: false and an error giving the provider's own reason, and the run continues to the next input. Misses are not charged for. Set skipNotFound to true to leave them out of the dataset entirely.
How much does a run cost?
Pricing is pay per result: you are charged for each email, person or company returned to the dataset, and never for misses or duplicates. Apify platform usage is included in the per-result price. Your own API provider's request allowance is separate and billed by them.
Keyword map
email finder API, email verification API, domain search API, find email by name, company email lookup, bulk email verifier, email deliverability check, SMTP verification API, catch-all domain detection, disposable email detection, B2B contact data API, decision maker emails, department filter email search, job title email search, person enrichment API, company enrichment API, email pattern detection, lead list building, sales prospecting data, CRM contact enrichment