Business Email Discovery — B2B Contact Finder API avatar

Business Email Discovery — B2B Contact Finder API

Pricing

from $67.00 / 1,000 business email records

Go to Apify Store
Business Email Discovery — B2B Contact Finder API

Business Email Discovery — B2B Contact Finder API

Company domain to business emails: published role and personal contact addresses from the company's public pages plus standard role addresses, each DNS mail-verified. One record per email. Keyless; B2B use, honour outreach/privacy law.

Pricing

from $67.00 / 1,000 business email records

Rating

0.0

(0)

Developer

NexGen Signal

NexGen Signal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Pay per email. Give it a company domain and get back the business email addresses to reach that company — published role and contact addresses plus standard role addresses, each DNS-verified.

Feed one domain or thousands and, for each, get a clean list of business emails your sales team can actually use: the addresses the company publishes on its own pages, plus the standard role addresses (info@, sales@, contact@) for any domain that can receive mail — one tidy record per email, keyed by domain.

What this is, in one paragraph

Every company publishes a way to reach it, but it's spread across a contact page, an about page, a footer. This actor pulls it together: for each domain it reads the homepage and a few likely contact/about pages, extracts the business emails published there (classifying each as a role address like sales@ or a named-person business address), adds the standard role addresses that almost every business runs, and confirms via a DNS lookup whether the domain can receive mail at all. You get one record per email, each tagged as published or inferred, so you know exactly what came off the site and what is a standard-role suggestion. It is a keyless, code-friendly B2B contact-discovery endpoint.

Who buys this and for what job

  • Sales and RevOps teams turning a list of target-company domains into a reachable contact per account.
  • Lead-generation and agency teams building B2B prospect lists at scale.
  • Data teams assembling a company-email table keyed by domain.
  • Builders and agents who need a keyless company-email endpoint they can call from code.

The job it does: take a company's domain and return the business emails that reach it — published and standard-role — verified at the domain level, without an account or key.

Pricing

Pay per event. One event: a business email record delivered. Tiered by your Apify plan; the record is delivered before it is charged. No subscription. A domain that yields nothing still returns one record (with success: false) and counts as one processed lookup.

EventFree planBronzeSilverGold / Platinum / Diamond
Business email record$0.10$0.09$0.08$0.067

There is also a negligible per-run start fee. About 10 emails per dollar at the base rate.

Input

FieldTypeDefaultDescription
domainsarray(required)One or more company domains (e.g. stripe.com). One record is returned per business email found.
includeInferredRolesbooleantrueAlso return standard role addresses (info@, contact@, sales@, …) for mail-capable domains, marked as inferred.
maxPerDomaininteger50Cap on email records returned per domain.
proxyConfigurationobjectResidentialProxy for site requests; residential is recommended.

Output

One JSON object per email. Real example:

{
"record_id": "sales@stripe.com",
"domain": "stripe.com",
"email": "sales@stripe.com",
"email_type": "published_role",
"local_part": "sales",
"source_url": "https://stripe.com/contact",
"discovered": true,
"has_mx": true,
"mx_provider": "Google Workspace",
"success": true,
"error": null,
"observed_at": "2026-08-25T00:00:00Z"
}

email_type is one of published_role, published_personal, or inferred_role; discovered is true only for addresses actually published on the site. An unbilled RUN_RECEIPT records how many domains went in, how many email records were delivered, and how many domains yielded at least one.

Field reference

Each record carries record_id (the email), the domain, the email and its local_part, the email_type and discovered flag that tell you whether it was published or a standard-role suggestion, the source_url it came from, and the domain's mail capability (has_mx, mx_provider) from a DNS check. success and error let your pipeline branch on empty domains. Provenance travels on every record: source, licence, attribution, disclaimer, and observed_at.

How a run works

For each domain the actor fetches the homepage and a few likely contact/about pages over a residential proxy, extracts every email that belongs to that domain, and classifies each. It confirms the domain's mail server via a DNS MX lookup, and — when that check passes and you've left inferred roles on — adds the handful of standard role addresses every business runs, marked inferred_role so they're never confused with published data. Each email becomes one delivered, billed record; a domain with nothing to show still returns a single honest record so every input is accounted for.

Published vs. inferred

The distinction is deliberate and always explicit. A published_role or published_personal address was found in the company's own public pages — that's data. An inferred_role address (info@company.com and friends) is a standard-role suggestion returned only when the domain's DNS says it can receive mail — that's a lead, not a claim that the mailbox is monitored. Filter on discovered to keep only what was published, or keep both for maximum reach; either way you always know which is which, so you never mistake a suggestion for a verified find.

Running at scale

Feed a single domain to test or a list of thousands to build a whole prospect base in one pass. Cost tracks output exactly: the number of email records delivered is the number of events billed, and maxPerDomain caps how many emails any one domain can contribute so a single large site can't blow the budget. Every domain resolves to at least one record — a real email or an honest miss — so nothing silently disappears from a big run, and the unbilled run receipt reconciles domains-in against records-out and how many domains produced a contact. Site fetches run over a residential proxy with automatic session re-rolls, so an intermittent block on one company doesn't cost you the rest of the batch.

Use with AI agents

Point Claude, an OpenAI Agents SDK tool, an n8n or Make flow, or any MCP-aware client at this actor and hand it a list of company domains. Because the output is flat JSON keyed by domain and email, an agent can build a reachable-contact list per account in one call and prefer published addresses over inferred ones. A typical prompt: find the business contact emails for each of these company domains and flag which were actually published.

Lawful use and limitations

  • Business contacts, public sources. Every published address comes from the company's own public pages; inferred addresses are standard business roles gated on a DNS mail check. This is a B2B prospecting dataset for contacting businesses and their published business contacts — not private individuals.
  • Use it lawfully. Respect applicable outreach and data-protection law (for example GDPR legitimate-interest and CAN-SPAM requirements) and honour opt-outs and unsubscribe requests.
  • MX is a DNS check. It confirms a domain can receive mail; it is never an SMTP mailbox probe and does not confirm a specific address is monitored.
  • Coverage varies. Some companies publish no addresses or obfuscate them; those return an honest empty record. No data beyond business email details is collected.

Business email addresses discovered from a company's public web pages plus standard role addresses, DNS-verified at the domain. For B2B outreach to businesses and their published business contacts, not private individuals. Use in line with applicable outreach and data-protection law, and honour opt-outs.