Work Email Finder: Name + Domain → Verified Email avatar

Work Email Finder: Name + Domain → Verified Email

Pricing

from $12.60 / 1,000 found work emails

Go to Apify Store
Work Email Finder: Name + Domain → Verified Email

Work Email Finder: Name + Domain → Verified Email

Find a person's work email from first name, last name and company domain. Generates common corporate patterns, resolves MX, and checks mailboxes via a live HTTPS verification API (Apify blocks port 25, so no direct SMTP on platform). Catch-all flagged. Pay only on finds.

Pricing

from $12.60 / 1,000 found work emails

Rating

0.0

(0)

Developer

Clean Row Data

Clean Row Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

24 minutes ago

Last modified

Share

Work Email Finder: name + domain → verified work email

ClearPath-style email finding with no third-party contact database. Give a first name, last name and company domain; the Actor generates common corporate patterns (first.last, flast, firstlast, …), resolves MX records, detects catch-all domains, and verifies mailbox existence with a live check.

Built to chain after Hiring Signals API and Hiring Intent Contacts: once you know the company domain, find the right person.

Price: $18 per 1,000 found emails ($0.018 each). Misses are free. We do not race to sub-$1/1k — verification quality matters more than a race to the bottom.

How verification works (honesty)

Apify platform runners block outbound TCP port 25, so this Actor cannot open a raw SMTP conversation to the recipient MX from inside Apify. Claiming “SMTP verified” on platform without a relay would be a lie.

What we do instead: when ABSTRACT_API_KEY is set (default path), each candidate is checked through Abstract Email Reputation over HTTPS. Abstract performs live SMTP + MX checks on their infrastructure and returns deliverability. We only mark verification=valid when the API says:

  • status=deliverable
  • is_smtp_valid=true
  • is_catchall is not true

Catch-all domains are returned as verification=catch_all (never valid) under the default policy.

Direct SMTP RCPT (verifyProvider=smtp) still exists for off-platform / self-hosted runners where port 25 is open.

verificationMeaning
validLive check accepted this mailbox; domain is not catch-all
catch_allDomain accepts arbitrary locals — pattern is a guess
invalidLive check rejected the candidates we tried
unknownCould not complete a live check (quota, timeout, no key, etc.)

Free-tier limits (Abstract)

Clean Row Data’s bundled free Abstract key is 100 checks / month (shared). Each catch-all probe + each pattern attempt costs one check. The Store example input (Dylan Field / figma.com) is limited to one check per run. For Store volume beyond that, bring your own Abstract key (abstractApiKey input or Actor env) or ask us to enable a paid plan / self-hosted SMTP relay.

Bring your own free Abstract key (abstractApiKey) for unlimited checks on your side. Without your own key, runs on a free Apify plan use the shared key and are limited to 9 mailbox checks per run (about 3 finds); misses and unchecked people are never charged. Get a free key at https://www.abstractapi.com/api/email-verification-validation-api (Email Reputation API, no card) and paste it into the abstractApiKey input.

Quick start

{
"firstName": "Dylan",
"lastName": "Field",
"domain": "figma.com",
"catchAllPolicy": "flag",
"verifyProvider": "auto"
}

Batch:

{
"people": [
{"firstName": "Dylan", "lastName": "Field", "domain": "figma.com"},
{"firstName": "Guillermo", "lastName": "Rauch", "domain": "vercel.com"}
],
"catchAllPolicy": "flag",
"onlyFinds": true
}

Or paste CSV (first,last,domain per line) into the csv field.

Output

FieldMeaning
emailBest address (null on miss when onlyFinds is off)
alternatesOther candidates tried / plausible
mx_hostPrimary MX
is_catch_allDomain accepts arbitrary local parts
verificationvalid / invalid / unknown / catch_all
confidence0–1
patterne.g. first.last, flast, first
verify_sourcehttps_abstract or smtp
detailReason code (e.g. https_abstract_deliverable)

Catch-all policy

Many corporate domains accept any local part. Claiming those as "verified" is dishonest.

PolicyBehavior
flag (default)Return best pattern with verification=catch_all, never valid
skipTreat as a miss (free, no row by default)
acceptReturn first pattern as catch_all with low confidence

Integrations (n8n, Make, Zapier, Clay, AI agents)

Every integration calls the same Apify API, so the price is the same everywhere (pay per found email; misses are free).

  • Any HTTP client / Clay HTTP API column: POST https://api.apify.com/v2/acts/cleanrowdata~work-email-finder/run-sync-get-dataset-items with header Authorization: Bearer <APIFY_TOKEN> and a JSON body like:
    {"people": [{"firstName": "{{first}}", "lastName": "{{last}}", "domain": "{{domain}}"}], "onlyFinds": true}
    The response is the dataset rows. In Clay, call it from an HTTP API column and use it as one step of a waterfall.
  • n8n: use the Apify node (verified community node) to run Actor cleanrowdata/work-email-finder, or an HTTP Request node with the call above.
  • Make: Apify Run an Actor module, then Get Dataset Items. Zapier: Apify Run Actor action, then Fetch dataset items.
  • AI agents (Claude, Cursor, ChatGPT and others) via the Apify MCP server: connect https://mcp.apify.com?tools=cleanrowdata/work-email-finder and ask, e.g. "Find the work email for Dylan Field at figma.com".

Pricing (pay per event)

EventPriceWhen
email_found$0.018Row with a find (valid or catch_all under flag/accept)
Misses$0Not pushed when onlyFinds is on
apify-actor-startApify defaultRun start

What this is not

  • Not a LinkedIn scraper
  • Not a phone finder
  • Not a bulk B2B database dump
  • Does not buy or resell third-party contact data
  • Does not claim direct SMTP from Apify runners (port 25 is blocked)

If this saved you time, a quick review on the Store helps a lot, and feature requests go in the Issues tab; we usually ship them within days.

Compliance

Mailbox verification uses Abstract’s live checks (or direct SMTP when you run where :25 is open). Some networks and servers always return 250 (catch-all) — we flag those. Results include verification, confidence, and verify_source so you can filter. You are responsible for lawful use of any email you send to.