Website Contact Scraper — Emails, Phones & Socials
Pricing
Pay per event
Website Contact Scraper — Emails, Phones & Socials
Extract business emails, phone numbers and social media profiles from any list of websites. De-obfuscates emails, reads Organization schema, and optionally crawls contact/about pages. Bulk-ready, no login or API key.
Pricing
Pay per event
Rating
0.0
(0)
Developer
hiper soft
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Website Contact Scraper — Emails, Phones & Social Profiles
Turn a list of websites into a clean contact sheet. Give the Actor any set of domains or URLs and it returns emails, phone numbers, and social media profiles for each one — ready for lead lists, CRM enrichment, or outreach.
No login, no API key. Bulk-ready: feed it thousands of sites at once.
What it extracts
| Field | Notes |
|---|---|
emails | From mailto: links, page text, and de-obfuscated forms (name [at] site [dot] com). Junk/placeholder addresses filtered out. |
phones | Real declared numbers only — from tel: links and Organization schema — normalized (kept in E.164-ish form). We deliberately skip loose page digits so you never get dates/IDs masquerading as phones. |
socials | Classified links: LinkedIn, Twitter/X, Facebook, Instagram, YouTube, TikTok, Pinterest, GitHub, Telegram, WhatsApp. Share/intent URLs excluded. |
companyName | From the site's Organization/LocalBusiness JSON-LD when present. |
address | Postal address from structured data when present. |
domain, url | Canonical domain and the final URL after redirects. |
pagesCrawled | How many pages were read for this site. |
Why it's more complete
Unlike a homepage-only scraper, it optionally crawls the contact/about/imprint pages on the same site, reads JSON-LD structured data (which many sites use to publish their real email, phone, address and social links), and de-obfuscates emails that are deliberately hidden from naive scrapers.
Input
{"websites": ["apify.com", "stripe.com", "https://example.org"],"deepCrawl": true,"maxPagesPerSite": 5,"maxConcurrency": 10}
- websites — domains or URLs, one per line. (Or use startUrls for a request list.)
- deepCrawl — follow contact/about pages for more results (default on). Turn off for one request per site.
- maxPagesPerSite — cap pages fetched per site (default 5).
- maxConcurrency — sites processed in parallel (default 10).
- maxItems — cap total sites (0 = all).
- proxyConfiguration — optional; enable if you hit blocks.
Output (one record per website)
{"input": "apify.com","url": "https://apify.com/","domain": "apify.com","companyName": "Apify","emails": ["hello@apify.com", "support@apify.com"],"phones": ["+14155551234"],"socials": {"linkedin": "https://www.linkedin.com/company/apifytech","twitter": "https://twitter.com/apify","github": "https://github.com/apify"},"address": "...","pagesCrawled": 3,"error": null}
Sites where nothing was found still return a row, with error describing why
(e.g. a network block) or null when the site simply had no public contacts.
Pricing
Pay per website result. No monthly fee — you only pay for what you run.
Notes & fair use
Extracts only publicly available contact information already published on the target websites. You are responsible for using the data in line with applicable laws (GDPR/CAN-SPAM etc.) and each site's terms.