Skip to content

Email Finder

Try for free

Find business email addresses for people at a company from their name and the company domain, or discover the people named on a company website. Every address comes with a likelihood score, the ranked alternatives, the company email format learned from addresses published on its site, and an MX check of the domain. No login or API key needed.

📧 Email Finder

Find the business email address of anyone at a company from their name and the company's domain, or point it at a company website and get the people named there with their likely addresses. Every address comes with a likelihood score, the ranked alternatives and the company email format learned from the addresses the company publishes itself. No login, no API key: $17 per 1,000 person emails and $8.50 per 1,000 companies, platform usage included.

✨ Why use Email Finder?

  • 🎯 Real evidence, not just guesses — the company's website is read for published addresses. If the person's own address is published, you get exactly that address; addresses of colleagues reveal the company format ({first}.{last}, {f}{last}, {first} ...) for everyone else.
  • 📊 An honest likelihood score — each address carries a likelihood in percent, a confidence level (high, medium, low), the source of the answer and up to 8 ranked alternatives, so you can decide what to send to and what to verify first.
  • 👥 Finds the people for you — turn on Find people on the company websites and the team, about and leadership pages become rows with name, job title, LinkedIn link (when the site shows one) and email. Filter by job title words such as founder, CEO or sales.
  • 📮 Mail checks included — every domain is checked for mail servers (MX records) and its mail provider (Google Workspace, Microsoft 365, Proofpoint, Zoho ...). People at domains that cannot receive email are never charged.
  • ⚡ Fast and bulk-friendly — many companies are checked in parallel, each website is read once per run however many people work there, and names with accents, middle names, particles (van, de la) and titles (Dr., Jr.) are handled.

🎯 Use cases

  • 💼 Sales prospecting — turn a list of decision makers and their company domains into addresses for outreach.
  • 🧑‍💼 Recruiting — reach hiring managers and team leads you found on a company's team page.
  • 🤝 Partnerships and PR — find the right person at an agency, publisher or nonprofit instead of a generic info@ inbox.
  • 🗂️ CRM enrichment — add likely emails, the company email format and the mail provider to your account and contact lists.
  • 🔎 Market research — learn which email formats and mail providers a set of companies uses.

🚀 How to use

  1. Under People, add one person per line as Full name, company.com (a website URL works too).
  2. Under Company domains or websites, add companies to get their published addresses and email format. Turn on Find people on the company websites to also get the people named on their sites, and add Job titles to keep to narrow them down.
  3. Click Start. Most runs finish in seconds.
  4. Download the results as JSON, CSV or Excel, or read them through the API. The People and Companies tabs show each kind of row.

📥 Input

FieldWhat it does
peopleOne person per line: Jane Doe, example.com. Through the API also objects such as {"fullName": "Jane Doe", "companyDomain": "example.com"} or {"firstName", "lastName", "website"}.
domainsCompany domains or websites (example.com, https://www.example.com, jane@example.com). One company row each.
findPeopleAlso save a person row for everyone named on the company websites (default off).
jobTitlesKeep only found people whose job title contains one of these words.
maxPeoplePerDomainSave at most this many found people per company (empty = all).
scanWebsitesFor people lookups, read the company websites for published addresses and the company format (default on). Off = faster, common formats only. Company domains are always read.
maxPagesPerDomainPages read per website (default 10).
includeDomainsWithoutEmailsAlso save company rows when no address is published (default off).
maxConcurrencyCompanies checked in parallel (default 10).
{
  "people": ["Jane Doe, example.com", "Doe, John, https://www.example.com/team"],
  "domains": ["example.com"],
  "findPeople": true,
  "jobTitles": ["founder", "director", "sales"]
}

📤 Output

Person rows ("type": "person"):

FieldMeaning
emailThe most likely address.
likelihoodHow likely this address is, in percent.
confidencehigh (published, or 75% and up), medium (35% and up) or low.
formatThe format of the address, e.g. {first}.{last}.
sourcepublished (found on the company website), company-format (format learned from the company's published addresses) or common-format (no published personal addresses; most common company format).
candidatesUp to 8 addresses, most likely first, each with its format and likelihood.
fullName, firstName, lastName, title, linkedinUrlThe person (title and LinkedIn link for people found on a website).
domain, companyName, mailProvider, mxFoundThe company's mail domain, name and mail provider.
publishedOn, foundOnThe page that published the address, and the page the person was found on.

Company rows ("type": "company"):

FieldMeaning
emails, email, emailCountAddresses published on the website, general inboxes (info@, contact@ ...) first. Split into roleEmails, personalEmails and otherDomainEmails.
emailFormat, emailFormatExample, emailFormatLikelihood, emailFormatEvidenceThe company's email format, an example address, how likely it is and why.
mailProvider, mxHosts, mxFoundMail provider and mail servers.
website, companyName, peopleFound, pagesScannedThe website that was read.

Example rows (names and domain are made up):

[
  {
    "type": "person",
    "fullName": "Jane Doe",
    "firstName": "Jane",
    "lastName": "Doe",
    "domain": "example.com",
    "companyName": "Example Inc.",
    "title": "Head of Sales",
    "linkedinUrl": null,
    "email": "jane.doe@example.com",
    "likelihood": 74,
    "confidence": "medium",
    "format": "{first}.{last}",
    "source": "company-format",
    "publishedOn": null,
    "candidates": [
      {"email": "jane.doe@example.com", "format": "{first}.{last}", "likelihood": 74},
      {"email": "jane@example.com", "format": "{first}", "likelihood": 7},
      {"email": "jdoe@example.com", "format": "{f}{last}", "likelihood": 6}
    ],
    "mxFound": true,
    "mailProvider": "Google Workspace",
    "foundOn": "https://www.example.com/team",
    "checkedAt": "2026-11-13T01:18:44Z"
  },
  {
    "type": "company",
    "domain": "example.com",
    "website": "https://www.example.com/",
    "companyName": "Example Inc.",
    "email": "info@example.com",
    "emails": ["info@example.com", "press@example.com", "john.smith@example.com", "maria.garcia@example.com"],
    "emailCount": 4,
    "emailFormat": "{first}.{last}",
    "emailFormatExample": "jane.doe@example.com",
    "emailFormatLikelihood": 74,
    "emailFormatEvidence": "2 of 2 published addresses matching names on the website use this format",
    "emailFormatSource": "company-format",
    "mxFound": true,
    "mailProvider": "Google Workspace",
    "mxHosts": ["aspmx.l.google.com", "alt1.aspmx.l.google.com"],
    "peopleFound": 6,
    "pagesScanned": 10
  }
]

People and companies that give no result (no domain in the line, a domain that does not exist or has no mail servers, a free mailbox provider such as gmail.com) are listed with the reason in the run's SUMMARY record and cost nothing.

💰 Pricing

  • Person email: $0.017 per person row ($17 per 1,000). Charged only when the company's domain accepts email.
  • Company: $0.0085 per company row ($8.50 per 1,000). Charged only when the website publishes at least one address (unless you turn on Also save companies without published addresses).
  • Platform usage (compute and proxies) is included. Duplicates in one run are looked up and charged once.

Example: 1,000 people at 200 companies, plus the 200 company rows, costs about $17 + $1.70 = $18.70.

❓ FAQ

Is the address verified with the mail server? No. The actor checks that the domain has mail servers (MX records) but does not open a connection to the mail server, so it does not confirm that the mailbox exists. The likelihood score says how sure the result is; addresses published by the company itself (source: published) are the safest.

How is the likelihood worked out? From the evidence on the company website: the person's own published address, the format of colleagues' published addresses (matched to their names on the site, or judged by the shape of the address), and how common each format is at companies in general when the site shows nothing.

Is it legal? The actor reads publicly available company web pages and public DNS records. How you use business contact data is up to you: follow the privacy and anti-spam rules that apply to you (for example GDPR and CAN-SPAM).

Do I need a login, an API key or a proxy? No. Websites are read through Scrape.ly datacenter proxies by default, at no extra cost.

How many people or companies can I look up? As many as you like in one run. Each company website is read once, however many people you look up there.

What if a field is empty? title and linkedinUrl are only known for people found on a website, and publishedOn only when the address was published. Company names come from the website and can be empty when it cannot be read.

Can I schedule it or use the API? Yes. Schedule runs in the console, or start them through the Scrape.ly API, CLI or MCP server and read the dataset as JSON or CSV.

⚠️ Limits

  • Mailboxes are not checked against the mail server, and catch-all domains (that accept every address) cannot be told apart.
  • People are found on websites that list them in the page HTML (team, about, leadership and contact pages). Sites that build these pages only with JavaScript may show no people; person lookups by name still work there.
  • Company websites are found from the domain you give; company names without a domain are not resolved.
  • Free mailbox providers (gmail.com, outlook.com ...) are skipped: there is no company format to learn.
  • Website reading covers the home page plus the pages most likely to list people and addresses (10 by default); addresses only published deeper in the site may be missed. Raise Pages to read per website to read more.
//From the blog\\

Latest articles

All articles

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.