Contact Info Extractor
Pricing
from $1.00 / 1,000 results
Contact Info Extractor
Extract emails, phone numbers, and social profiles from any list of websites or another scraper's dataset. Emails validated via DNS MX checks. Chain it after Google Maps Scraper to turn business listings into an outreach-ready lead list with a best-email pick per site.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Uncle Glooby
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Contact Info Extractor & Email Validator
Turn a list of websites into a clean contact list — emails, phone numbers, and social profiles — with every email domain validated so your outreach doesn't bounce on day one.
Built to slot directly after any scraper: Google Maps, business directories, or your own URL list. Those tools give you websites; this Actor turns websites into people you can actually reach.
What it does
- Two input modes:
- Paste a list of website URLs, or
- Point it at a dataset from another Actor run (e.g. Google Maps Scraper output) and tell it which field holds the URL. Your original row is carried through in the output, so nothing gets disconnected.
- Smart, shallow crawling — fetches each homepage; if no email is found there, it follows up to a few contact-like pages (contact, about, impressum) per site. Capped so runs stay fast and costs stay predictable.
- Extracts:
- Emails — from
mailto:links and page text, with junk filtered out (image filenames, no-reply addresses, tracker noise) - Phone numbers — from
tel:links and visible text, international formats supported - Social profiles — LinkedIn, Facebook, Instagram, X/Twitter, YouTube, TikTok
- Emails — from
- Email validation via DNS MX checks — verifies each email's domain actually runs mail servers. Catches dead domains and typos before they hurt your sender reputation. (This is DNS-level validation; it confirms the domain can receive mail, not that a specific mailbox exists — full mailbox verification requires SMTP infrastructure that no ethical bulk tool can honestly promise.)
bestEmailper site — prefers validated, personal addresses (jane@ beats info@) so you can use the output directly in outreach tools.
Input example (dataset mode)
{"inputDatasetId": "abc123","urlField": "website","maxPagesPerSite": 3,"validateEmails": true}
Output example (one row per site)
{"website": "https://acmeplumbing.com","domain": "acmeplumbing.com","status": "ok","pagesChecked": 2,"emails": [{ "email": "jane@acmeplumbing.com", "mxValid": true },{ "email": "info@acmeplumbing.com", "mxValid": true }],"bestEmail": "jane@acmeplumbing.com","phones": ["+1 (555) 123-4567"],"socials": {"facebook": "https://facebook.com/acmeplumbing","instagram": "https://instagram.com/acmeplumbing"},"source": { "...your original dataset row..." : "..." }}
A SUMMARY record in the key-value store reports totals: sites reached, sites with emails found, sites with phones.
The lead-gen workflow this fits into
- Run a scraper (Google Maps, directories, job boards...) → business listings with websites
- This Actor → emails, phones, socials per business, validated
- A dedupe/merge Actor → one clean list
- Export to your CRM or outreach tool
Tips
- Sites that block automated traffic come back with
status: "unreachable"instead of failing the run. For large runs, enabling Apify Proxy in the input significantly improves reach. - Generic addresses (info@, contact@) are still collected —
bestEmailjust prefers personal ones when available. - Keep
maxPagesPerSiteat 3 unless you have a specific reason; going higher rarely finds more and slows the run.
Pricing
Pay-per-result: billed per site in the output. Every site you feed in produces exactly one output row — reached or not — so costs are fully predictable from your input size.