Website Email Finder: Company Emails, Phones and Socials
Pricing
Pay per event
Website Email Finder: Company Emails, Phones and Socials
Find business email addresses, phone numbers and social profiles from company websites. Junk filtered, role addresses labelled, MX checked. Pay only for domains where a contact was found.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Pohja Studio
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
12 days ago
Last modified
Categories
Share
Website Email Finder
Give it a list of company websites. Get back the email addresses, phone numbers and social profiles published on them — with the junk already removed.
You pay only for domains where a contact belonging to that company was found. Dead ends, unreachable sites and pages that only carry somebody else's address are returned as rows so you can join them back onto your list, and they cost nothing.
What it is for
Most lead lists arrive without email addresses. A Google Maps or directory scrape gives you a company name, a phone number and a website — and then stops. This Actor is the step after that one: it reads each website and pulls out the addresses that are actually on it.
Paste the dataset ID of your previous run into Or: dataset ID from a previous run, tell it which field holds the website, and it enriches the whole list without you exporting anything.
Input
| Field | What it does |
|---|---|
domains | Websites to read. example.com, www.example.com and https://example.com/about all work. |
sourceDatasetId + sourceDatasetField | Read the websites out of another Actor's dataset instead of typing them. |
maxPagesPerSite | Homepage first, then the contact / about / imprint pages it links to. Default 5. |
excludeRoleAddresses | Keep only named people, drop info@, sales@, support@. |
excludeFreeProviders | Drop gmail.com, hotmail.com and similar. |
requireMx | Drop addresses whose domain cannot receive mail at all. On by default. |
onlySiteDomain | Drop addresses that belong to a different company. |
maxEmailsPerSite | Cap per site, best first. |
includeSitesWithoutContacts | Keep a free row for every dead end. On by default. |
Output
One row per domain:
{"domain": "kesko.fi","finalUrl": "https://www.kesko.fi/","pagesCrawled": 4,"primaryEmail": "harri.utoslahti@kesko.fi","primaryEmailIsCompanyDomain": true,"emails": ["harri.utoslahti@kesko.fi", "viestinta@kesko.fi", "ir@kesko.fi"],"emailDetails": [{ "email": "harri.utoslahti@kesko.fi", "type": "personal", "isSameDomain": true, "isFreeProvider": false, "mxFound": true }],"phones": ["+358105321000"],"socials": { "linkedin": "https://www.linkedin.com/company/kesko", "facebook": "https://www.facebook.com/kesko" },"emailCount": 3,"companyEmailCount": 3,"status": "contacts-found"}
status is one of contacts-found, only-third-party-contacts, no-contacts, unreachable.
What makes the list usable
Anything can run a regular expression over a page. The work is in what you throw away, because every false positive costs you a bounce, and enough bounces cost you your sending domain.
Removed, with the reason recorded:
- Image and asset filenames.
logo@2x.pngandhero@3x.jpgare the most common false positive in this category. - Ordinary words that look like obfuscation.
www.wikidata.orgis notwww.wikid@a.org;static.hsappstatic.netis notstatic.hsappst@ic.net. Both came out of a real run before the patterns were tightened. - Form examples, including localised ones:
matti@esimerkki.fi,max@beispiel.de,hello@example.com. - "Our addresses look like this" notices:
etunimi.sukunimi@,firstname.lastname@. - Mailboxes nobody reads:
noreply@,donotreply@, disposable domains. - CMS and tracking noise: Wix, Squarespace and Sentry boilerplate, build hashes.
- Other companies' addresses. A privacy notice quotes the regulator; documentation uses a fictional customer. Those are ranked last and never billed — a real run had
john.wick@thecontinental.comas the best email forapify.com.
Recovered rather than discarded:
- Cloudflare-protected addresses (
data-cfemail), HTML entities (@) and percent-encoding. - Written-out obfuscation:
boris (at) example (dot) fi. - Addresses glued to a query string:
05%7c02%7charri.utoslahti@kesko.fibecomesharri.utoslahti@kesko.fi.
Kept but labelled, so you decide:
type: "role"vs"personal"— a desk or a named human.isSameDomain— does this address belong to the company whose site it was on.isFreeProvider— sole traders really do run on gmail.mxFound— whether the domain accepts mail at all.
About verification
requireMx checks DNS: does this domain accept mail. That check never rejects a working mailbox, so it is safe to leave on.
Per-mailbox SMTP probing is deliberately not done. Gmail and Outlook stopped answering it truthfully, and a "verified" flag built on it is a guess dressed up as a fact. If you need mailbox-level verification, run a dedicated verifier over the output.
Expected results
Roughly 60–70% of ordinary company websites publish at least one usable address. Sites that publish none are usually large companies routing everything through a web form, or single-page sites with a contact form and no address. Those come back as no-contacts and cost nothing.
Notes
Only public pages are read, at a polite rate, with no login and no browser automation. Contact details of businesses are personal data in the EU: you are the controller of what you do with the output, and cold outreach still needs a lawful basis under GDPR and the ePrivacy rules of the country you are mailing into.