Email Finder & Verifier — Bulk Company & Domain Email Lookup
Pricing
from $10.00 / 1,000 company enricheds
Email Finder & Verifier — Bulk Company & Domain Email Lookup
Find AND verify business emails in bulk from company names or domains. Discovers the website, scrapes emails, ranks role addresses, then validates each one — syntax, MX record, disposable/role/free flags — so you export deliverable addresses, not just candidates. CSV/JSON/API.
Pricing
from $10.00 / 1,000 company enricheds
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Email Finder
Turn a list of company names or domains into contactable business email addresses — in bulk. Give it a domain and it scrapes the company's own site for emails; give it a company name and it discovers the website first, then finds the emails. Every row comes back with the resolved website, ranked emails, the source, and a confidence signal.
Why Use This Scraper?
- Two ways in. Already have the domain? It scrapes the site directly (most accurate). Only have the company name? It discovers the website first, then finds the emails.
- Bulk by design. Paste an array, a spreadsheet column, or a comma-separated blob of hundreds of companies and get one clean row back per company.
- Role emails ranked first. Generic outreach addresses (
info@,sales@,support@,hello@) float to the top of each company's results, with junk and placeholder addresses (name@example.com,no-reply@) stripped out. - Pay only for hits. Flip
onlyWithEmailsand you're charged only for companies where at least one email was actually found. - Every row is qualified. Each result carries a
source(site-scrape / hunter) and aconfidencesignal so you can filter for quality before you import. - Find and verify, in one pass. Flip
verifyEmailsand every address is validated — syntax, MX record (does the domain accept mail?), plus disposable / role / free-provider flags — returningvalidEmailsand abestValidEmailso you export deliverable addresses, not just candidates. No second tool, no second export. - Optional Hunter.io fallback. Supply your own Hunter.io key to add a paid domain-search fallback for companies where the on-site scrape comes up empty.
Overview
Email Finder is a bulk business-email discovery tool. Feed it companies — by domain, by name, or both — and it returns the best contact emails it can find for each, with provenance.
It works in two modes, which you can mix freely in one run:
- Track A — domain in. You pass a website (e.g.
stripe.com). The actor scrapes the company's own contact pages formailto:links and on-page addresses. This is the most accurate path because there's no guessing about which company you mean. - Track B — name in. You pass a company name (e.g.
"Notion Labs"). The actor first resolves the name to a website, applies a name-match precision guard so it doesn't attach the wrong company's domain, then scrapes that site for emails.
A realistic note on hit rates: emails are found for companies that actually publish a contact address on their site — which is most small and mid-sized businesses, agencies, shops, and firms (the typical lead-gen target). Large enterprises that hide behind a contact form return no on-page email; for those, the optional Hunter.io fallback helps. Every row tells you exactly where its emails came from, so quality is never a guess.
Supported Inputs
Mix and match in one run — they're all merged and de-duplicated:
domains— company websites/domains (Track A, most accurate).companyNames— company/brand names to resolve, then find emails (Track B).inputText— paste a blob of domains or names (new-line / comma / semicolon separated). Anything with a dot is treated as a domain; everything else as a company name.companies— advanced structured rows mixingname+website+city/statefor best disambiguation.
Use Cases
| Who | What they use it for |
|---|---|
| Sales & lead-gen teams | Turn a list of target companies into contactable emails for outbound outreach. |
| Agencies & freelancers | Build a prospect list for a niche (e.g. dentists, law firms, e-commerce shops) from names or domains. |
| Recruiters | Find a company's contact address when reaching out about candidates or partnerships. |
| Market researchers | Attach a contact email and resolved website to a list of companies for a study or directory. |
| RevOps / data teams | Enrich a CRM segment with business emails, source, and confidence in bulk. |
How It Works

- Input — give it domains, company names, or both (array, pasted list, or CSV blob), optionally with a city/state to disambiguate.
- Resolve & scrape — for names, it resolves the website (and applies a name-match guard); then it scrapes the company's contact pages for
mailto:links and on-page emails, strips junk and placeholder addresses, and ranks role emails first. If you supplied a Hunter.io key, it falls back to a domain search when the site scrape finds nothing. - Export — each company becomes one flat row (website, emails, source, confidence), streamed to the dataset for download as JSON, CSV, or Excel, or via the API.
Input Configuration
| Field | Type | Description |
|---|---|---|
domains | array | Company websites/domains to find emails for (Track A, most accurate). |
companyNames | array | Company names to resolve to a website, then find emails (Track B). |
inputText | string | Paste a blob of domains or names (new-line / comma / semicolon separated). |
companies | array | Advanced — structured { name, website, city, state } rows. |
guardMode | string | Domain-match strictness for discovery: business (default), off, residential. |
onlyWithEmails | boolean | Emit only companies where an email was found — pay only for hits. |
verifyEmails | boolean | Validate every found email (syntax + MX + disposable/role/free flags); adds emailVerifications, validEmails, bestValidEmail. Billed per email verified. |
hunterApiKey | string | Optional Hunter.io API key for a paid domain-search fallback. |
maxItems | integer | Hard cap on companies processed this run. |
maxConcurrency | integer | How many companies to enrich in parallel. |
proxy | object | Proxy configuration (Residential recommended). |
Example input
{"domains": ["ahrefs.com", "sitepoint.com"],"companyNames": ["Basecamp"],"inputText": "backlinko.com\nSmashing Magazine","guardMode": "business","onlyWithEmails": false}
Output Overview
Every company is emitted as one flat JSON object. Fields that don't resolve (e.g. no email found) come back null or empty rather than missing, so the schema stays consistent. Download as JSON, CSV, Excel, or via the Apify API.
Output Samples
A domain that publishes emails (Track A):
{"query": null,"inputWebsite": "ahrefs.com","companyName": null,"website": "https://ahrefs.com","email": "support@ahrefs.com","emails": ["support@ahrefs.com", "pr@ahrefs.com"],"emailCount": 2,"source": "site-scrape","confidence": "high","foundAt": "2026-07-08T05:20:41.000Z"}
A company found by name (Track B):
{"query": "Basecamp","inputWebsite": null,"companyName": "Basecamp","website": "https://basecamp.com","email": "jason@basecamp.com","emails": ["jason@basecamp.com"],"emailCount": 1,"source": "site-scrape","confidence": "high","foundAt": "2026-07-08T05:20:42.000Z"}
A company with no public email:
{"query": null,"inputWebsite": "mailchimp.com","website": "https://mailchimp.com","email": null,"emails": [],"emailCount": 0,"source": "none","confidence": "low"}
With verifyEmails: true, each row also carries validation — validEmails / bestValidEmail plus a per-address emailVerifications array:
{// …the normal finder fields…"validEmails": ["jane.doe@acme.com"],"validEmailCount": 1,"bestValidEmail": "jane.doe@acme.com","emailVerifications": [{ "email": "jane.doe@acme.com", "syntaxValid": true, "domain": "acme.com", "mxFound": true,"isDisposable": false, "isRoleBased": false, "isFreeProvider": false, "verdict": "valid" },{ "email": "info@acme.com", "syntaxValid": true, "domain": "acme.com", "mxFound": true,"isDisposable": false, "isRoleBased": true, "isFreeProvider": false, "verdict": "risky" }]}
verdict is valid (syntax + MX ok, not disposable), risky (role-based or free-provider), or invalid (bad syntax, no MX, or disposable).
Key Output Fields
Input echo
query— the company name you passed (Track B), elsenullinputWebsite— the domain you passed (Track A), elsenull
Result
website— the resolved company websiteemail— the single best email (role addresses first)emails— all emails found, ranked best-to-worst, de-duplicatedemailCount— how many were found
Provenance
source—site-scrape,hunter, ornoneconfidence—high/medium/lowfoundAt— ISO timestamp
FAQ
What's the difference between passing a domain and a company name? A domain (Track A) is the most accurate — the actor scrapes exactly that site, no guessing. A company name (Track B) requires the actor to first resolve the name to a website, which it does via a company-directory lookup plus a name-match guard so it doesn't attach the wrong domain. If you have domains, prefer them.
Why did some companies return no email?
Because they don't publish one on their site — many large companies route everything through a contact form. The actor reports source: "none" for those so you always know. For hard cases, supply a Hunter.io API key to enable the paid fallback. Small and mid-sized businesses (the usual outreach targets) publish emails far more often.
How are the emails ranked?
Role/outreach addresses (info@, sales@, contact@, support@, hello@) are floated to the top, and obvious junk — tracking pixels, asset filenames, and placeholder addresses like name@example.com or no-reply@ — is stripped out. The single best one is surfaced as email, the full ranked list as emails.
Do I pay for companies where no email is found?
Only if you want the full dataset. Set onlyWithEmails: true and rows with no email are dropped before they're written or charged, so you pay only for successful hits.
Do I need a Hunter.io key? No — the free site-scrape path works on its own. A Hunter.io key is an optional fallback that kicks in only when the on-site scrape finds nothing, using your own Hunter quota.
How fast is it, and how many companies can it handle?
It enriches companies in parallel (tune maxConcurrency) and scales from a handful to thousands. Site scraping runs over a proxy, so use Residential proxies for the best success rate on large runs.
What export formats are supported? Every run writes to an Apify dataset you can download as JSON, CSV, Excel, XML, or JSONL, or fetch via the Apify API — and wire into scheduling, webhooks, Google Sheets, Zapier, or Make.
Support
- Found a bug or need a new field? Open a ticket on the Issues tab of this actor — it's the fastest way to reach me and I actively maintain this actor.
- Email: muhamed.didovic@gmail.com
- Website: muhamed-didovic.github.io
Additional Services
Need something beyond the standard output? I build and maintain custom actors and data pipelines. Happy to help with:
- Email verification (syntax, MX, deliverability) as a follow-on step
- Person-level contact discovery (names, titles, LinkedIn) via a provider key
- Custom fields, filters, or export formats tailored to your workflow
- Private or dedicated actors for high-volume or compliance-sensitive use
Reach out via the Issues tab or email and describe what you need.
Explore More Scrapers
Browse my other Apify actors — job boards, business directories, review sites, social platforms, and more — on my profile: memo23 on Apify.
⚠️ Disclaimer
This actor discovers publicly available business contact information — the same email addresses any visitor can see on a company's public website. It does not access private data, bypass authentication, or scrape gated content.
You are responsible for how you use the data you collect. Use it in compliance with applicable laws (including the GDPR, CAN-SPAM, CASL, and other data-protection and anti-spam regulations) and any contractual obligations you may have. Finding an email address does not constitute consent to contact it — ensure your outreach complies with the relevant marketing and messaging laws in your jurisdiction. Do not use this tool to facilitate spam, harassment, or any violation of privacy.
SEO Keywords
email finder, bulk email finder, business email finder, company email lookup, domain email finder, email scraper, email extractor, find company emails, b2b email finder, lead generation tool, sales prospecting, contact email finder, email discovery, company contact scraper, domain to email, email hunter alternative, cold outreach emails, crm enrichment, bulk email lookup, email finder api