B2B Website Contact, Email & Social Links Extractor avatar

B2B Website Contact, Email & Social Links Extractor

Pricing

Pay per usage

Go to Apify Store
B2B Website Contact, Email & Social Links Extractor

B2B Website Contact, Email & Social Links Extractor

Extract verified B2B emails, direct phone numbers, LinkedIn & social profiles, and addresses from any company website list. High-speed asynchronous crawler with Pay-Per-Event pricing. Perfect for sales, cold outreach, and CRM enrichment.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

SOHAM 45

SOHAM 45

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 days ago

Last modified

Categories

Features

Limited permissions

Share

Extract verified business emails, phone numbers, LinkedIn & social media profiles, physical addresses, and company metadata from any list of company websites in seconds. Built on a lightweight HTTP/2 asynchronous architecture (httpx + BeautifulSoup/lxml) that requires zero headless browser overhead and charges only per enriched domain result.


Given a list of target company URLs or domains, this Actor:

  1. Crawls the Company Homepage: Extracts company name, meta description, structured Schema.org PostalAddress records, mailto: and tel: links, and social media URLs.
  2. Automatically Discovers High-Value Internal Pages: Finds and visits internal pages matching /contact, /about, /team, /impressum, /legal, and /support (up to maxPagesPerDomain).
  3. Cleans & Deduplicates Business Emails: Uses RFC-compliant regex + DOM mailto: parsing while automatically stripping false positives (.png, .jpg, .webp, .svg, sentry.io, wixpress.com, example.com, and noreply@ addresses) and sorting domain-matching business emails first.
  4. Extracts Decision-Maker Social Links: Captures clean company and profile URLs for LinkedIn, X (Twitter), Facebook, Instagram, YouTube, and GitHub (excluding share buttons and intent links).

Why Use This Scraper for B2B Lead Generation?

  • Enrich CRM & Cold Outreach Lists: Turn raw domain lists from Google Maps, Apollo, Clay, Crunchbase, or directories into actionable contact records with direct emails, phone numbers, and LinkedIn company URLs.
  • GDPR / DACH Impressum Ready: Specifically tuned to discover /impressum and /legal pages on European websites where direct company emails, phone numbers, and registered addresses are legally required.
  • Ultra-Fast, Low-Compute Architecture: Runs on httpx.AsyncClient with HTTP/2 and lxml instead of heavy Chromium browsers—processing hundreds of domains in minutes on just 256MB–512MB RAM.

Cost of Usage & Pay-Per-Event (PPE) Pricing

This Actor uses Apify's transparent Pay-Per-Event (PPE) pricing model so you only pay for results delivered:

Event NamePrice per EventCost per 1,000 Enriched DomainsWhen It Is Charged
scraped-result$0.002 USD$2.00 USDCharged once per successfully scraped domain record pushed to your dataset.
  • Zero Charge for Dead Websites: Unreachable domains, DNS failures, or SSL-broken sites are skipped and never charged.
  • Zero Charge for Empty Email Domains (Optional): Enable onlyWithEmails: true to only push and pay for domains where at least one verified business email was extracted.
  • Spend Limit Protection: Set your maximum spend per run directly in the Apify Console. The Actor checks charge_result.event_charge_limit_reached after every domain and exits cleanly the moment your budget cap is reached.

Input Parameters

FieldTypeDefaultDescription
startUrlsarray (stringList)["https://apify.com", "https://news.ycombinator.com", "https://python.org"]List of company URLs or domains to crawl and enrich.
maxPagesPerDomaininteger5Maximum number of pages to visit per domain (1 = homepage only; 2–20 = homepage + discovered /contact, /about, /team, /impressum, /legal, /support pages).
onlyWithEmailsbooleanfalseWhen true, domains without any extracted business emails are skipped (not saved to the dataset and not charged).
proxyConfigurationobject{"useApifyProxy": false}Optional Apify Proxy or custom proxy configuration for protected targets.

Sample JSON Output

Each enriched domain pushed to the default Dataset follows this structured schema:

{
"domain": "apify.com",
"companyName": "Apify",
"emails": [
"hello@apify.com",
"support@apify.com"
],
"phones": [
"+1 (415) 890-6193"
],
"socialLinks": {
"linkedin": "https://www.linkedin.com/company/apify",
"twitter": "https://x.com/apify",
"facebook": "https://www.facebook.com/apifytech",
"instagram": null,
"youtube": "https://www.youtube.com/@apify",
"github": "https://github.com/apify"
},
"addresses": [
"Vodickova 704/36, 110 00 Prague 1, Czech Republic"
],
"metaDescription": "Cloud platform for web scraping, browser automation, AI agents, and data for AI.",
"sourceUrl": "https://apify.com",
"pagesScraped": 5,
"visitedUrls": [
"https://apify.com",
"https://apify.com/contact",
"https://apify.com/about",
"https://apify.com/privacy-policy",
"https://apify.com/terms-of-use"
],
"scrapedAt": "2026-10-26T14:20:00.000000+00:00"
}

Frequently Asked Questions (FAQ)

1. How many internal pages should I set in maxPagesPerDomain?

Setting maxPagesPerDomain to 5 (the default) provides the best balance between speed and contact coverage. It crawls the homepage plus the top 4 discovered contact/about/impressum pages.

2. Does this Actor work with Clay, Make, n8n, and Zapier?

Yes. You can trigger b2b-contact-email-social-scraper via the Apify API or native integrations in Clay, Make, n8n, and Zapier, passing a single company URL or batches of thousands of URLs and receiving clean JSON output.

3. What happens if a website blocks standard requests or has a broken SSL certificate?

The scraper automatically rotates realistic desktop User-Agents, follows redirects, falls back gracefully on SSL errors, and logs unreachable websites without crashing your batch run. For heavily protected sites, enable Apify Proxy in proxyConfiguration.