Email Format Finder: Company Email Pattern Lookup avatar

Email Format Finder: Company Email Pattern Lookup

Pricing

Pay per event

Go to Apify Store
Email Format Finder: Company Email Pattern Lookup

Email Format Finder: Company Email Pattern Lookup

Find the email format of a company (first.last, flast, first...) from the addresses it publishes on its own website. Per domain: pattern, 0-100 confidence, example emails with source URL, MX and mail provider. Domains with no clear pattern are free. $0.01 per pattern found.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Rod Services

Rod Services

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

Email format finder and company email pattern lookup: find how a company writes its work emails (first.last, flast, first...) from the addresses it publishes on its own website. Per domain you get the format, a 0-100 confidence, example emails with the page they came from, MX and mail provider. $0.01 per domain with a pattern. No pattern, no charge. No API key.

What you get

  • The email pattern such as {first}.{last}, {f}{last} or {first}, in the same notation Hunter uses, plus a plain example like jane.doe@acme.com.
  • A confidence from 0 to 100 and the number of published addresses that support the pattern. A pattern is only reported at 50 or more.
  • Evidence you can check. Up to 10 example addresses per domain, each with the exact page of the company website where it is shown.
  • Mail setup of the domain. MX hosts and the provider (Google Workspace, Microsoft 365, Proofpoint, Zoho and others), plus a hint when a secure email gateway makes mailbox checks unreliable.
  • Other formats on the site, so a company with two conventions is visible.
  • One row per domain, also for domains without a result. Those rows are free and say why.
  • Dataset input. Feed the output of a Google Maps, Apollo or directory scraper with a website or domain field.

How it works

  1. The Actor opens the homepage, reads robots.txt and the sitemap, and picks the pages where companies show contacts: team, people, press, contact, impressum, about and privacy pages. Menus in many languages are understood (Kontakt, Équipe, Komanda and more).
  2. It reads every email address on those pages together with the person name printed next to it. Role addresses such as info@ and sales@ are ignored.
  3. A pattern counts as strong evidence when the name on the page produces the address, for example "Anna Meier" next to anna.meier@acme.com. An address with no name next to it counts less, based on its shape only.
  4. Confidence rises with more supporting addresses and falls when the site shows conflicting formats.
  5. DNS gives the MX hosts and the mail provider. No mail server is contacted.

Sources are limited to emails the company itself publishes on its own website. The Actor does not mine GitHub commits, does not visit LinkedIn or any social network, does not log in, and does not bypass bot protection. robots.txt is always respected.

Quick start

  1. Open the Input tab.
  2. Paste company domains into Company domains or websites, one per line. acme.com is fine.
  3. Or pick a dataset in Dataset with websites or domains, for example from a Google Maps Scraper run.
  4. Press Start. The prefilled example with 3 domains finishes in about a minute.
  5. Open the Output tab. The Overview view shows one pattern per domain. The Example emails view shows each supporting address with its source page.

Input example

{
"domains": ["acme.com", "https://www.example.org"],
"maxExamples": 3,
"maxPagesPerDomain": 8
}
FieldDefaultDescription
domainsCompany domains or websites. Duplicates and www variants are merged. Free mail domains such as gmail.com are rejected.
datasetIdDataset of another run with a website or domain field. Dataset ID or the dataset picker.
domainFieldautoField with the website or domain in that dataset. Dot paths work.
maxExamples3Example addresses with source page per domain, 1 to 10.
maxPagesPerDomain8Homepage plus best matching pages, 1 to 30. The crawl stops early when the evidence is clear. Same price for any number.
hunterApiKeyOptional. Your own Hunter.io key adds Hunter's format as one more vote and reports its accept-all flag. Uses at most one credit of your plan per domain.
suppressionListEmails, domains or their SHA-256 hashes. Matching addresses never appear in the output.
maxConcurrency10Domains read in parallel.
timeoutSecs15Timeout per page.

Output sample

{
"domain": "acme.com",
"inputUrl": "acme.com",
"status": "pattern-found",
"pattern": "{first}.{last}",
"patternId": "first.last",
"formatExample": "jane.doe@acme.com",
"confidence": 87,
"supportingExamples": 7,
"evidenceSources": ["website"],
"alternatives": [{ "pattern": "{f}.{last}", "patternId": "f.last", "confidence": 9, "supportingExamples": 1 }],
"examples": [
{ "email": "anna.meier@acme.com", "sourceUrl": "https://acme.com/team", "evidence": "name-on-page" },
{ "email": "peter.mueller@acme.com", "sourceUrl": "https://acme.com/team", "evidence": "name-on-page" },
{ "email": "greta.lindqvist@acme.com", "sourceUrl": "https://acme.com/about", "evidence": "name-on-page" }
],
"emailDomain": "acme.com",
"mx": { "found": true, "hosts": ["aspmx.l.google.com"], "provider": "Google Workspace", "note": null },
"catchAll": null,
"catchAllSource": null,
"hunterPattern": null,
"emailsSeen": { "personal": 8, "role": 2, "otherDomain": 3, "suppressed": 0 },
"pagesCrawled": 5,
"error": false,
"scrapedAt": "2026-10-07T09:30:00.000Z"
}

A domain with no clear pattern returns a free row:

{
"domain": "small-shop.com",
"status": "no-pattern",
"error": true,
"errorCode": "no-named-emails",
"message": "No personal email addresses are published on the 5 page(s) read. Only 1 role address(es) such as info@ were found.",
"howToFix": "Raise \"Pages per domain\", or add your own Hunter API key to get the format from Hunter. If you know the person, Work Email Finder tries the likely addresses."
}

Data fields

FieldDescription
statuspattern-found (charged), no-pattern or failed (free).
pattern, patternIdThe format as {first}.{last} and as first.last. Tokens: first, last, f (first initial), l (last initial).
formatExampleThe format applied to a made-up name.
confidence0 to 100. Found rows have 50 or more.
supportingExamplesHow many published addresses fit the format.
alternativesOther formats seen on the site, with confidence.
examples{ email, sourceUrl, evidence }. name-on-page: a person name next to the address produces it. structure-only: the shape of the address fits.
mx{ found, hosts, provider, note } from DNS.
catchAlltrue or false only when your Hunter key reports it, otherwise null. The Actor does not probe mail servers.
emailsSeenCounts of personal, role, other-domain and suppressed addresses seen.
errorCodeno-named-emails, pattern-not-clear, robots-blocked, site-unreachable, bot-protection, http-error, invalid-domain, webmail-domain.

Pricing

Pay per event. You pay for domains with a pattern, not for compute time or pages. Discounts apply automatically on paid Apify plans.

EventFree planBronzeSilverGold
Domain with a pattern found, per 1,000$10.00$9.00$8.00$7.00
Run start, per run$0.001$0.001$0.001$0.001
  • Domains with no pattern are free: no named emails, unclear format, site down, blocked by robots.txt or bot protection, invalid input.
  • Set Maximum cost per run in the run options to cap spend. The Actor stops when the limit is reached.
  • The Apify free plan's monthly credit covers hundreds of domains.

Use it from code, Make, Zapier or AI agents

Run it through the Apify API, the JavaScript and Python clients, schedules, webhooks, or integrations such as Make, Zapier, n8n and Google Sheets. AI agents can call it through the Apify MCP server at mcp.apify.com.

curl -X POST "https://api.apify.com/v2/acts/rod_analytics~email-format-finder/run-sync-get-dataset-items" \
-H "Authorization: Bearer <YOUR_APIFY_TOKEN>" -H "Content-Type: application/json" \
-d '{"domains": ["acme.com"]}'

To find the address of one named person, use Work Email Finder: Find Email by Name and Domain. It uses the same pattern engine.

GDPR, ePrivacy and responsible use

This Actor is built for B2B use:

  • Only company-published addresses. Example emails are work addresses that the company itself shows on its public website, each with its source page. Free mail providers (gmail.com, outlook.com, gmx.de and others) and addresses on other domains are dropped.
  • No guessing of people. The Actor finds the format of a domain. It does not generate or verify addresses of individuals. Work Email Finder does that, for names you give it.
  • No sources outside the company website. No GitHub commit mining, no LinkedIn or other social network, no logins, no CAPTCHA or bot bypass. robots.txt is always respected, at most 2 parallel requests per site.
  • No sensitive inference. Names are only compared with the local part of an address. Nothing about gender, origin or other traits is derived.
  • Nothing is stored on our side. Results go only to your own dataset. The log holds counts, never addresses.
  • Suppression list. Pass emails, domains or SHA-256 hashes in suppressionList. Matching addresses are dropped before anything is computed.
  • You are the controller. If you keep or use the example addresses, you decide the purpose and the means, so you are the data controller under the GDPR. You need a lawful basis, for example a documented legitimate interest for B2B contact, and you must give the people concerned a privacy notice (Art. 14) and honour objections. Check national marketing rules before you send anything. Germany requires prior consent for advertising emails, also B2B (UWG section 7). France and Lithuania allow B2B outreach with an easy opt-out when it relates to the person's job.

This is not legal advice. Check your use case with your data protection officer.

FAQ

How accurate is the pattern? The confidence is a heuristic from the evidence on the site, not a guarantee that a given mailbox exists. 70 or more with several name-backed examples is reliable in practice. Companies sometimes use different formats for different teams, which shows in alternatives.

Does it verify that an address exists? No. It finds the format. To check a single address, use Work Email Finder or Email Validator & Verifier.

Why is my domain "no-pattern"? Many small sites show only info@. Some sites show names without addresses. Raise Pages per domain, or add your own Hunter key.

Does it work on JavaScript-only websites? It reads server HTML without a browser. Sites that load their team list with JavaScript may return fewer pages.

Some sites fail with 403. Some large sites block datacenter IPs. Those rows are free. The Actor does not bypass bot protection.

What happens if my input is wrong? The run ends SUCCEEDED with one free help row: error, errorCode, message and howToFix. Only the start fee is charged. Codes: no-valid-domains, no-domains-in-dataset, dataset-unreadable and bad-hunter-key.

Is the Hunter key safe? It is sent only to Hunter in a header, from your run. It is never logged or stored by this Actor, and the field is a secret input.

Found a bug or need a custom field? Open an issue on the Issues tab. Replies usually come within a day.

ActorWhat it does
Work Email Finder: Find Email by Name and DomainFind a work email from a name and a company domain
Website Content Crawler to Markdown for RAG & LLMsCrawl a site and get clean Markdown for RAG and LLMs
PDF to Markdown & Text Extractor with OCRTurn PDF, DOCX and scans into Markdown or text
SEO Audit Tool: Site Crawler, Broken Links & ScoreCrawl a site for broken links and SEO issues
PageSpeed Insights & Lighthouse Bulk CheckerCore Web Vitals and Lighthouse scores for many URLs
Tech Stack Detector: Wappalyzer & BuiltWith AlternativeSee which CMS, analytics and frameworks a site uses
Bulk Domain Lookup: DNS, WHOIS, SPF, DMARC & SSLDNS, mail security and SSL checks for domain lists
Speech to Text: Audio, Video & Podcast TranscriberTranscribe audio, video and podcasts
Email Validator & Verifier: Bulk MX & Disposable CheckClean email lists before you send
Website Contact Scraper: Emails, Phones & Social LinksCompany emails, phones and social links from websites
VIES VAT Checker & EU Company Registry LookupValidate EU VAT numbers and look up companies
Companies House Scraper: UK Company Search, No API KeyUK company profiles, officers and filings
EU TED Tenders Scraper & Alerts: Public ProcurementEU public tenders with daily alerts
Greenhouse, Lever & Ashby Job Scraper: 8 ATS in One FeedJobs from 8 ATS platforms in one feed
GitHub Scraper: Repo Stats, Stars, Trending & SearchStars, activity and trending GitHub repos
Hacker News ScraperStories, comments and Who is hiring threads from Hacker News