Business Email Enricher - Emails, Phones & Socials
Pricing
Pay per event
Business Email Enricher - Emails, Phones & Socials
Turn a plain list of business website URLs into enriched B2B leads. Visits each site's homepage and contact/about pages to extract email addresses (incl. Cloudflare-obfuscated), phone numbers, and social media profiles โ the perfect second step after a Google Maps or directory scraper.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Halven Labs
Maintained by CommunityActor stats
0
Bookmarked
17
Total users
15
Monthly active users
14 days ago
Last modified
Categories
Share
Business Email Enricher โ Emails, Phones & Socials from Website URLs
Turn a plain list of business website URLs into enriched B2B leads. For each site, this actor visits the homepage and its contact/about pages and extracts email addresses, phone numbers, and social media profiles (Facebook, X/Twitter, LinkedIn, Instagram, YouTube, TikTok, Pinterest, Telegram, WhatsApp, Discord, Snapchat, Threads, Reddit).
The perfect second step after a Google Maps / directory scraper: feed in the website column, get back contactable leads. Export to CSV, Excel, JSON, or Google Sheets.
๐ฏ Why use this actor
- Get leads, not just a list of businesses โ turn plain company websites into actual contact points (email, phone, socials) ready for outreach.
- Skip hours of manual "find the contact page" work โ the actor visits contact/about pages for you, across hundreds of sites in one run.
- Drop straight into your existing pipeline โ designed to plug directly into Google Maps / directory scraper output, no reformatting needed.
โจ Features
- Email extraction that actually works โ finds
mailto:links, plain-text emails, and even Cloudflare-obfuscated addresses. Aggressively filters out junk (image filenames, placeholder/CDN domains). - Contact & about page crawling โ most emails aren't on the homepage, so the actor automatically follows likely contact/about/impressum pages.
- Social profiles โ first profile URL per network, found in links and in JS/JSON blobs, ignoring share/embed noise.
- Phone numbers โ high-precision extraction from
tel:links. - Flexible input โ accepts bare domains, full URLs, or objects with a
website/urlfield (drop-in for Google Maps scraper output). - Robust โ unreachable sites are recorded (not charged) and never crash the run.
- Bounded โ
maxItemsandmaxPagesPerSitecap time and cost exactly.
๐ Quick start
- Paste your business website URLs into Business website URLs.
- (Optional) Adjust Max pages per site or enable Only output sites where an email was found.
- Click Start. The default input runs successfully with zero edits.
Example input
{"websiteUrls": ["https://acme-plumbing.com","https://www.example-dentist.com"],"maxItems": 100,"maxPagesPerSite": 3,"onlyWithEmail": false,"proxyConfiguration": { "useApifyProxy": true }}
| Field | Type | Default | Description |
|---|---|---|---|
websiteUrls | array | (required) | Website URLs (bare domain, full URL, or objects with a website/url field). |
maxItems | integer | 100 | Max websites to enrich. 0 = no limit. |
maxPagesPerSite | integer | 3 | Homepage + up to (this โ 1) contact/about pages. |
onlyWithEmail | boolean | false | Skip (and don't charge for) sites with no email found. |
proxyConfiguration | object | Apify Proxy (auto) | Proxy settings. |
๐ฆ Output
One flat row per website:
{"inputUrl": "https://www.basecamp.com","finalUrl": "https://basecamp.com/","domain": "basecamp.com","companyName": "Basecamp","primaryEmail": "jason@basecamp.com","emails": "jason@basecamp.com, support@basecamp.com","emailCount": 2,"emailFound": true,"phones": "+1 312-555-0100","facebook": "https://www.facebook.com/basecamp","twitter": "https://twitter.com/basecamp","linkedin": "https://www.linkedin.com/company/basecamp","instagram": null,"youtube": null,"tiktok": null,"pinterest": null,"telegram": null,"whatsapp": null,"discord": null,"snapchat": null,"threads": null,"reddit": null,"pagesCrawled": 3,"status": "ok"}
status is ok for reachable sites and unreachable for sites that failed to load (those rows are not charged).
Output fields
| Field | Type | Description |
|---|---|---|
inputUrl | string | The URL/domain you supplied. |
finalUrl | string | null | URL after redirects, when reachable. |
domain | string | Bare domain. |
companyName | string | null | From og:site_name or page title. |
primaryEmail | string | null | Best-guess primary contact email. |
emails | string | All found emails, comma-separated. |
emailCount | number | Count of emails found. |
emailFound | boolean | Whether any email was found. |
phones | string | Phone number(s) found, comma-separated. |
facebook / twitter / linkedin / instagram / youtube / tiktok / pinterest / telegram / whatsapp / discord / snapchat / threads / reddit | string | null | First profile URL per network. |
pagesCrawled | number | Pages actually visited for this site. |
status | string | ok or unreachable. |
๐ก Use cases
- Lead generation โ enrich scraped business listings with direct contact details.
- Cold outreach โ build targeted email/social lists for sales and partnerships.
- CRM enrichment โ fill missing contact fields for existing accounts.
- Recruiting & partnerships โ find the right inbox and social profiles fast.
๐ Works great with
- Google Maps scrapers โ pipe the
websitefield straight in. - Directory / Yellow Pages scrapers โ enrich any list of company sites.
๐ณ Pricing (pay-per-event)
| Event | Price |
|---|---|
| Actor start | $0.005 per run |
| Website enriched | $0.004 per reachable site |
Enriching 1,000 websites costs about $4.01. Unreachable sites are recorded free of charge. Set maxItems to cap spend.
โ FAQ
Why didn't it find an email for some sites? Many businesses hide emails behind contact forms or images. This actor extracts real, publicly listed addresses (including Cloudflare-protected ones) but can't read data that isn't published as text.
Can I feed in Google Maps scraper output directly?
Yes โ pass the objects (it reads the website/url field) or just the website strings.
How do I get more emails per site?
Increase maxPagesPerSite so the actor crawls more contact/about pages.
โ๏ธ Legal
This actor collects only publicly available business contact information from public web pages. You are responsible for using the data in compliance with applicable laws (including GDPR, CAN-SPAM, and local anti-spam rules) and each website's terms. Do not use extracted emails for unsolicited bulk messaging where prohibited.