The most universal sales task there is: "I have a list of company websites — get me their emails and phone numbers." Here's how to do it reliably, and cheaply, without a browser.
Where the data actually hides
Businesses rarely put their email on the homepage. It's on the contact / about / imprint / support page. So the trick isn't just fetching one URL — it's following the few same-domain links that look like contact pages, then scanning those too.
The highest-confidence sources are mailto: and tel: links; after that, scan visible text with a well-filtered regex (drop asset filenames like logo@2x.png, tracking IDs, and example addresses).
Pure HTTP is enough (and cheap)
No browser needed. curl_cffi with Chrome TLS impersonation fetches the pages; BeautifulSoup + regex pull the contacts. That keeps cost per site tiny — which matters when you're processing thousands of domains.
Input / output
{
"startUrls": [{ "url": "https://example.com" }, { "url": "acme.io" }],
"crawlContactPages": true,
"maxPagesPerSite": 5
}
{
"domain": "apify.com",
"emails": ["hello@apify.com", "support@apify.com"],
"phones": ["+1 ..."],
"socials": { "linkedin": "...", "twitter": "...", "youtube": "..." }
}
Use it for
- Lead generation — enrich a list of company domains with reachable contacts.
- Sales prospecting — pair it with a Google Maps or directory scraper: one finds the businesses, this gets their contacts.
- CRM enrichment — fill missing email/phone fields.
Ready-made: Contact & Email Extractor on Apify. Public pages only — and respect anti-spam / data-protection laws (GDPR, CAN-SPAM) when you reach out.
Top comments (0)