Business Email Enricher - Emails, Phones & Socials avatar

Business Email Enricher - Emails, Phones & Socials

Pricing

Pay per event

Go to Apify Store
Business Email Enricher - Emails, Phones & Socials

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

Halven Labs

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

15

Monthly active users

14 days ago

Last modified

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/url field (drop-in for Google Maps scraper output).
  • Robust โ€” unreachable sites are recorded (not charged) and never crash the run.
  • Bounded โ€” maxItems and maxPagesPerSite cap time and cost exactly.

๐Ÿš€ Quick start

  1. Paste your business website URLs into Business website URLs.
  2. (Optional) Adjust Max pages per site or enable Only output sites where an email was found.
  3. 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 }
}
FieldTypeDefaultDescription
websiteUrlsarray(required)Website URLs (bare domain, full URL, or objects with a website/url field).
maxItemsinteger100Max websites to enrich. 0 = no limit.
maxPagesPerSiteinteger3Homepage + up to (this โˆ’ 1) contact/about pages.
onlyWithEmailbooleanfalseSkip (and don't charge for) sites with no email found.
proxyConfigurationobjectApify 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

FieldTypeDescription
inputUrlstringThe URL/domain you supplied.
finalUrlstring | nullURL after redirects, when reachable.
domainstringBare domain.
companyNamestring | nullFrom og:site_name or page title.
primaryEmailstring | nullBest-guess primary contact email.
emailsstringAll found emails, comma-separated.
emailCountnumberCount of emails found.
emailFoundbooleanWhether any email was found.
phonesstringPhone number(s) found, comma-separated.
facebook / twitter / linkedin / instagram / youtube / tiktok / pinterest / telegram / whatsapp / discord / snapchat / threads / redditstring | nullFirst profile URL per network.
pagesCrawlednumberPages actually visited for this site.
statusstringok 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 website field straight in.
  • Directory / Yellow Pages scrapers โ€” enrich any list of company sites.

๐Ÿ’ณ Pricing (pay-per-event)

EventPrice
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.


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.