Website Contact Extractor - Verified Outreach-Ready Emails
Pricing
from $1.60 / 1,000 contact rows
Website Contact Extractor - Verified Outreach-Ready Emails
[π΅ $2.00 / 1K] Turn a list of company domains into verified, outreach-ready contacts. Extracts emails, phones, and socials, classifies role vs personal, MX-verifies deliverability, and dedupes - so you get usable leads, not a junk email dump. CSV/JSON.
Pricing
from $1.60 / 1,000 contact rows
Rating
0.0
(0)
Developer
Actor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Website Contact Extractor - Verified Outreach-Ready Emails, Not Raw Dumps
Turn a list of company domains into verified, outreach-ready contacts - not a junk email dump.
Most website email scrapers hand you a pile of noreply@, webmaster@, and unverifiable addresses mixed in with the good ones. This Actor extracts the contacts, then does the work the others skip: it classifies each email (personal vs role vs junk), MX-checks that the domain actually accepts mail, keeps only on-domain addresses, and dedupes. You get a clean, prioritized list you can email today.
β What you get / β what this isn't
| β This Actor gives you | β This Actor is not |
|---|---|
| MX-verified, on-domain, deduped emails | Not a raw dump of noreply@ and junk |
| Personal contacts ranked above role inboxes | Not unverified guesses you can't trust |
An outreachReady flag per email | Not private or login-gated data |
| Socials + phone numbers per site | Not a generic crawler with no enrichment |
π Why use this Actor
- Verified, not guessed. Every email domain is MX-checked, so dead domains are flagged before you waste a send.
- Personal first. Real people (
jane@) rank above role inboxes (info@,sales@), which beat junk (noreply@) - so the best contact is row one. - Outreach-ready flag. One boolean tells you which emails are safe to use: not junk, on the company's own domain, and deliverable.
- Socials and phones too. LinkedIn, X, Facebook, Instagram, YouTube, and phone numbers per site.
- One summary row per domain. Counts, primary email, and a status (ok / no_contacts / unreachable) for a fast read.
- Built to pair with lead lists. Feed it the website column from a Google Maps, directory, or CRM export.
π₯ Who it's for
Sales, growth, and agency teams building cold-outreach lists. Common jobs:
- Enrich a Google Maps or directory scrape (you have websites, you need emails).
- Clean a contact list down to deliverable, non-junk addresses before a cold campaign.
- Find a company's socials and phone alongside its email in one pass.
- Build outreach lists where every row is already verified and prioritized.
Example tasks
- Find emails from company websites
- Enrich Google Maps leads with emails
- Extract social profiles from websites
βοΈ How to extract emails from websites
- Open the Actor on Apify.
- Paste your
domains(company domains or full URLs). - Set
pagesPerSite(homepage, /contact, /about - more pages, higher yield and cost). - Keep
verifyMxon so dead domains are flagged. - Click Start.
- Open the Outreach-ready contacts view, or download CSV/JSON/Excel or pull from the API.
π₯ Input
{"domains":["basecamp.com","apify.com"],"pagesPerSite":3,"verifyMx":true,"maxDomains":100}
domains- company domains or URLs (example.comorhttps://example.com).pagesPerSite- how many common pages to check per site. More pages = higher yield, higher cost.verifyMx- MX-verify email domains for deliverability (recommended).maxDomains- safety cap so a default run stays cheap.
π€ Output
Two row types in one dataset, with ready-made views.
Outreach-ready contacts (default view):
| domain | emailType | mxValid | outreachReady | sourceUrl | |
|---|---|---|---|---|---|
| basecamp.com | jason@basecamp.com | personal | true | true | https://basecamp.com/about |
| apify.com | hello@apify.com | role | true | true | https://apify.com/contact |
Per-domain summary:
| domain | status | primaryEmail | outreachReadyEmails | emailsFound | socialsFound |
|---|---|---|---|---|---|
| apify.com | ok | hello@apify.com | 1 | 1 | 12 |
| ycombinator.com | no_contacts | (null) | 0 | 0 | 7 |
π΅ How much does it cost?
You pay per result plus Apify platform usage. Cost scales with the number of domains and pagesPerSite (more pages crawled per site = higher yield and higher cost). MX verification is cheap. Keep pagesPerSite at 2-3 for the best yield-to-cost ratio.
π Run it on the Apify platform
Schedule recurring enrichment, call it from the API, export to CSV/JSON/Excel, or pipe results into Make, Zapier, webhooks, or your CRM.
β οΈ Limits and caveats
- Only public website data is read. No login, no private data.
- A few sites block automated requests or hide emails behind forms; those return
unreachableorno_contactsrather than failing the run. - MX verification confirms the domain accepts mail, not that a specific inbox exists.
π§© Related Actors
- Bulk URL Status Checker - check domains and final URLs before running contact enrichment.
- Lead List Deduplicator & Normalizer - merge contacts from multiple sources into one canonical list.
- LinkedIn Ads Library Scraper - find advertisers, then turn their domains into contacts here.
β FAQ
Does it verify emails? It MX-checks each email's domain for deliverability and flags dead domains. It does not send test mail to individual inboxes.
Can I enrich a lead list? Yes - feed it the website column from any Google Maps, directory, or CRM export.
Does it scrape private data? No. It reads only public website pages.
π οΈ Support
If a run fails or a field is missing, open an Actor issue with the run URL, the input you used, and the field or behavior you expected.
