Website Contact & Social Extractor avatar

Website Contact & Social Extractor

Pricing

from $4.00 / 1,000 website processeds

Go to Apify Store
Website Contact & Social Extractor

Website Contact & Social Extractor

Business website URLs in - verified emails, phones, social profiles and contact pages out. False-positive email filtering, optional DNS MX validation, contact-form fallback detection. Deterministic: no login, no LLM.

Pricing

from $4.00 / 1,000 website processeds

Rating

0.0

(0)

Developer

Waran T

Waran T

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Business website URLs in → verified contact channels out. Feed it your lead list; get back emails, phones, social profiles, the contact page, and whether a contact form exists — clean, deduplicated, machine-readable.

What you get per website

  • Emails — mailto links and page text, with aggressive false-positive filtering (no image@2x.png artefacts, no build hashes, no placeholder domains) and optional DNS MX validation so addresses whose domain cannot receive mail are dropped, not delivered to you as "leads"
  • Phones — publisher-declared tel: links first, conservative pattern match as fallback, normalised
  • Social profiles — Facebook, Instagram, LinkedIn, X/Twitter, YouTube, TikTok (share/plugin URLs excluded)
  • Contact page URL and contact-form detection — so a site that publishes no email still gives your workflow a next step
  • pagesChecked so you can verify exactly what was read

Design choices that matter

  • Fail-open MX validation: only an authoritative "domain cannot receive mail" drops an email. A DNS hiccup flags the address emailsMxUnverified instead of silently destroying your data.
  • Deterministic: plain HTTP fetch of home + contact/about pages. No headless browser, no LLM, no login, no anti-bot circumvention — it reads ordinary public pages the way any visitor does. Fast and cheap.
  • Honest output: no email found means no email exists on those pages — not a guessed firstname@domain.com. Guessed emails bounce and burn your sender reputation.

Input

{ "websites": ["https://business-1.com", "https://business-2.com"], "maxPagesPerSite": 3, "validateMx": true }

Up to 500 websites per run.

Output example (per website)

{
"website": "https://example-business.com/",
"ok": true,
"emails": [
{ "value": "office@example-business.com",
"sourceUrl": "https://example-business.com/contact/",
"dnsStatus": "domain_mail_capable" }
],
"phones": [ { "value": "+15551234567", "sourceUrl": "https://example-business.com/" } ],
"socials": { "facebook": { "urls": ["https://facebook.com/examplebiz"],
"sourceUrl": "https://example-business.com/" } },
"contactPageUrl": "https://example-business.com/contact/",
"hasContactForm": true,
"pagesChecked": ["https://example-business.com/", "https://example-business.com/contact/"]
}

Every contact carries the source page URL it was found on — you can always answer "where did this email come from?"

About dnsStatus: domain_mail_capable means the domain has MX records and can receive mail. It does not prove the specific mailbox exists — no tool can prove that without sending mail. domain_no_mx addresses are dropped. dns_unavailable means the check could not run; the address is kept and flagged rather than silently discarded.

What this Actor does NOT do

  • It never guesses or generates addresses (no firstname@domain.com patterns) — guessed emails bounce and burn your sender reputation
  • It does not access login-only data, bypass CAPTCHAs, or enrich from private databases
  • It cannot extract contacts a site only renders via JavaScript, or from sites that block ordinary fetches — such sites return their status honestly rather than fabricated data
  • Results depend entirely on what the supplied site publicly serves. Not every site returns contacts.

Pricing

$4 per 1,000 websites processed (pay-per-event, $0.004 per site). Process a 500-site lead list for $2. A site is charged when it has been fetched and analysed — including sites that legitimately return no contacts (the "no published email, has contact form" answer is itself the data).

FAQ

Why did a site return no emails? Because none are published on its checked pages. See hasContactForm and contactPageUrl for the next-best route, and pagesChecked for exactly what was read. Can it do thousands of sites? Up to 500 per run; queue multiple runs or schedule for larger lists. Does it use an LLM? No. Deterministic fetch + parse. That is why it is fast and cheap.

Use with

n8n, Make, Zapier, AI agents, or straight from the API. Clear input/output schema — agent-friendly.