Contact Details Scraper — Emails, Social Media & Marketing Tags avatar

Contact Details Scraper — Emails, Social Media & Marketing Tags

Pricing

from $1.50 / 1,000 enriched leads

Go to Apify Store
Contact Details Scraper — Emails, Social Media & Marketing Tags

Contact Details Scraper — Emails, Social Media & Marketing Tags

Scrape contact information from any website — emails, phone numbers, social media profiles, tracking tags, and tech stack. Built-in lead scoring, email verification, WHOIS lookup, and industry detection. Turn raw company URLs into enriched, sales-ready B2B leads with a single click.

Pricing

from $1.50 / 1,000 enriched leads

Rating

5.0

(1)

Developer

Rémi Pelloux

Rémi Pelloux

Maintained by Community

Actor stats

4

Bookmarked

133

Total users

39

Monthly active users

20 hours ago

Last modified

Share

Website Contact Scraper — Emails, Phones, 14 Social Platforms, Lead Scoring & Business Intelligence

Turn any company domain list into outreach-ready B2B leadsemails, phones, named contacts with job titles, 14 social & messaging platforms, email verification, pattern detection, 0–100 lead score, tech stack, and WHOIS from a single Apify run. Built for CRM enrichment, cold email, agency prospecting, and sales automation — export JSON, CSV, or Excel with no extra tools.

From $2.50 / 1,000 domains40+ structured fields per company, all included. No paid add-ons for emails, socials, or scoring.

Apollo charges $99/mo for 1,000 contacts. ZoomInfo starts at $15,000/year. This Actor enriches 1,000 domains for $2.50 — with more fields than either.


New: Ultimate Leads — full pipeline in one run

Already have keywords, not URLs? Skip manual chaining. Ultimate Leads runs B2B URL discovery + Google Maps + this contact scraper in one Actor, one merged dataset:

This ActorUltimate Leads
You provideCompany URLs / domainsKeywords + country/city
Discovers URLsNoYes (B2B search + Maps)
Google Maps businessesNoYes
Contact enrichmentYes (full pipeline)Yes (same engine)
OutputOne row per URLOne merged row per domain
Best forYou already have a domain listEnd-to-end prospecting from scratch

30 seconds to first leads: keywords + country: "fr" → merged dataset with Maps data, emails, phones, and scores.


Fast runs, predictable cost on Apify

  • Parallel by domain — up to 15 websites processed at once (configurable, max 30).
  • Smart multi-page crawl — homepage plus /contact, /about, /team and similar paths first for maximum contact yield.
  • Apify Proxy support — residential/datacenter proxy routing per request (recommended for 10+ domains).
  • Skip expensive steps — disable WHOIS, scoring, or email verification when you only need emails and phones.
  • One dataset item = one enriched company — simple cost math: domains × price per result.
  • Production-ready — build v2.2.5+ on Apify (actor-node:20, ~600 MB image), 3,500+ runs, 5/5 store rating.
  • Smart dedupwww/non-www, http/https, and trailing-slash duplicates merged automatically.

What contact data can you extract?

Data typeDetails
Email addressesAll discoverable emails with on-domain priority
Phone numbersInternational format via libphonenumber validation
Named contactsPeople + job titles from JSON-LD, microdata, and team pages
WhatsApp / Telegram / DiscordMessaging links and business numbers
Facebook, Instagram, LinkedIn, X, YouTube, Pinterest, GitHub, TikTokProfile and company page URLs
Snapchat, Threads, RedditProfile and community links
Email patternsDetected convention (first.last@, flast@, first@)
Generated emailsPredicted addresses for contacts without public emails
Email verificationMX lookup + SMTP probe (valid / invalid / unknown)
Catch-all detectionFlags domains that accept any address (catchAll: true)
Primary email rankingBest outreach address auto-selected (primaryEmail + reason)
Company localeLanguage (companyLang), country (companyCountry), hreflang tags
Employee countFrom JSON-LD numberOfEmployees when published
LinkedIn enrichmentPublic company metadata when LinkedIn URL is found
Sitemap crawlDiscovers /contact, /team, /about from sitemap.xml
CRM export presetOptional crmRecord mapped to HubSpot, Salesforce, or Pipedrive
Webhook alertsPOST grade A/B leads to Zapier/Make during the run
JS rendering fallbackOpt-in SPA mode (HTTP-only image; Playwright not bundled in production)
Lead score & grade0–100 score, letter grade A–F, transparent signal breakdown
Business industryAutomatic classification into 30 industries
Business keywordsTop terms from page content
Tech stack & CMS25+ tools (React, WordPress, Intercom, etc.)
Tracking tagsGoogle Analytics, GTM, Facebook Pixel IDs
Physical addressFrom structured data and microdata
WHOISRegistrar, dates, name servers, registrant org

How it compares

FeatureThis ActorBasic contact scraperDatabase tools (Apollo/ZoomInfo)
Price per 1,000$2.50~$4.00$50–500+
Social platforms144–6Varies
WhatsApp, Telegram, DiscordYesNoRare
Multi-page crawlUp to 20 pages/domain1 pageN/A
Email verification (MX + SMTP)YesNoYes
Email pattern + generationYesNoPaid tier
Lead scoring (0–100, A–F)YesNoYes
Named contacts + job titlesYesBasicYes
Industry + keywordsYes (30 industries)NoYes
Tech stack detectionYes (25+ tools)NoAdd-on
WHOIS dataYesNoNo
Fresh website dataLive crawlLive crawlStale database

More fields. Lower price. Every feature included.


Output example

{
"domain": "apify.com",
"url": "https://apify.com",
"emails": ["info@apify.com", "support@apify.com", "jan@apify.com"],
"phones": ["+420 255 000 222"],
"contacts": [
{ "name": "Jan Curn", "title": "CEO & Co-founder", "email": "jan@apify.com" },
{ "name": "Ondra Urban", "title": "CTO & Co-founder" }
],
"socialLinks": {
"linkedin": "https://www.linkedin.com/company/apifytech",
"twitter": "https://twitter.com/apify",
"youtube": "https://www.youtube.com/apify",
"github": "https://github.com/apify",
"tiktok": "https://www.tiktok.com/@apifytech",
"discord": "https://discord.gg/jyEM2PRvMU",
"facebook": null,
"instagram": null,
"pinterest": null,
"whatsapp": null,
"telegram": null,
"snapchat": null,
"reddit": null,
"threads": null
},
"emailPattern": "first@apify.com",
"emailPatternConfidence": 0.85,
"generatedEmails": [
{ "name": "Ondra Urban", "email": "ondra@apify.com" }
],
"emailVerification": [
{ "email": "info@apify.com", "status": "valid", "mxValid": true }
],
"primaryEmail": "hello@apify.com",
"primaryEmailReason": "generic hello@",
"catchAll": false,
"companyLang": "en",
"companyCountry": "CZ",
"hreflangs": ["en"],
"numberOfEmployees": 120,
"linkedinEnrichment": {
"companyName": "Apify",
"tagline": "Web scraping and automation platform",
"followerCount": "12K",
"employeeCountRange": "51-200",
"industry": "Software Development",
"headquarters": "Prague, Czechia"
},
"crmRecord": {
"company": "apify.com",
"email": "hello@apify.com",
"lead_score": 88,
"lead_grade": "A"
},
"jsRendered": false,
"score": 88,
"grade": "A",
"scoreBreakdown": {
"contactReachability": 22,
"businessLegitimacy": 20,
"onlinePresence": 18,
"websiteQuality": 16,
"teamTransparency": 12
},
"signals": [
{ "signal": "Multiple email addresses", "category": "contactReachability", "points": 10, "detail": "3 emails" }
],
"address": "Vodickova 704/36, 110 00 Prague, Czech Republic",
"businessIndustry": "technology",
"businessKeywords": ["web scraping", "automation", "data extraction", "api", "cloud"],
"cmsDetected": "Next.js",
"techSignals": ["React", "Next.js", "Google Analytics", "Intercom"],
"trackingTags": {
"googleAnalytics": "G-ABC123XYZ",
"googleTagManager": "GTM-ABC123",
"facebookPixel": null
},
"whois": {
"registrar": "GoDaddy",
"createdDate": "2015-03-01",
"expiresDate": "2027-03-01",
"nameServers": ["ns1.example.com", "ns2.example.com"],
"registrantOrg": "Apify Technologies s.r.o."
},
"pagesCrawled": 5,
"succeeded": true,
"error": null,
"processedAt": "2026-03-18T14:30:00.000Z"
}

How it works — 7-step pipeline

  1. Multi-page crawl — Homepage plus high-value internal pages (/about, /contact, /team, …) up to your page limit.
  2. Data extraction — Emails, phones, contacts, 14 social platforms, messaging links, address, tech stack, tracking tags — merged and deduplicated across pages.
  3. Business intelligence — Industry classification (30 categories) and keyword extraction.
  4. Email verification — MX + SMTP probe per discovered email.
  5. Pattern detection — Naming convention inference and predicted emails for team members.
  6. WHOIS lookup — Registrar, dates, name servers, registrant (optional).
  7. Lead scoring — Weighted 0–100 score with letter grade and per-signal transparency.

Input parameters

ParameterTypeDefaultDescription
urlsstring[]requiredCompany website URLs or bare domains
maxPagesPerDomaininteger5Pages to crawl per domain (1–20)
useSitemapCrawlbooleantrueDiscover pages from sitemap.xml
respectRobotsTxtbooleanfalseSkip disallowed URLs
enableJsRenderingbooleanfalseSPA fallback (opt-in; not bundled — logs a warning and skips if unavailable)
maxConcurrencyinteger15Domains in parallel
verifyEmailsbooleantrueMX + SMTP verification + catch-all detection
skipLeadScoringbooleanfalseSkip score/grade/signals
skipWhoisbooleanfalseSkip WHOIS lookup
skipLinkedInEnrichmentbooleanfalseSkip LinkedIn company metadata fetch
minScoreinteger0Filter out leads below threshold
crmExportPresetstringhubspot, salesforce, or pipedrive
webhookUrlstringPOST high-grade leads during the run
webhookMinGradestringBMinimum grade for webhook (A, B, C)
proxyConfigurationobjectApify ProxyRecommended for 10+ domains

Input examples

CRM-ready with webhook:

{
"urls": ["stripe.com", "hubspot.com"],
"crmExportPreset": "hubspot",
"webhookUrl": "https://hooks.zapier.com/hooks/catch/123456/abcdef/",
"webhookMinGrade": "B",
"proxyConfiguration": { "useApifyProxy": true }
}

Full pipeline with quality filter:

{
"urls": ["stripe.com", "hubspot.com", "notion.so", "linear.app"],
"maxPagesPerDomain": 8,
"minScore": 50,
"proxyConfiguration": { "useApifyProxy": true }
}

Fast contact-only (cheapest):

{
"urls": ["example.com", "acme.co"],
"maxPagesPerDomain": 3,
"verifyEmails": false,
"skipLeadScoring": true,
"skipWhois": true
}

Lead scoring reference

CategoryMax pointsMeasures
Contact Reachability30Emails, phones, forms, WhatsApp/Telegram/Discord
Business Legitimacy25Address, about page, privacy policy, industry
Online Presence20Social profiles across 14 platforms
Website Quality15HTTPS, analytics, live chat, modern stack
Team Transparency10Named contacts with job titles

Grades: A (90–100), B (75–89), C (60–74), D (40–59), F (0–39)


Pricing

$2.50 per 1,000 URLs — volume discounts on higher Apify plans.

TierPer 1,000 domains
Standard$2.50
Bronze$2.00
Silver$1.80
Gold$1.50

Free users: 10 URLs per run to test before subscribing.

Billing (Console + code must match)

WhatValue
MonetizationPay-per-event
Eventapify-default-dataset-item (synthetic)
Charge in codeActor.pushData() only — Apify bills automatically per row
Do not callActor.charge() for the same rows (double-billing)
Free tier10 URLs per run
Paying usersAll URLs in input (batched pushData in chunks of 100)

Set apify-default-dataset-item to $0.0025 per event (= $2.50 / 1,000 domains) in Console, aligned with the table above.

Infra: Lightweight apify/actor-node:20 image (~600 MB). Avoid actor-node-playwright-chrome (~2.2 GB) — it triples compute cost without benefit when enableJsRendering is off (default).


Programmatic access

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("QDKOd64e0w1Mar1UG").call(run_input={
"urls": ["stripe.com", "hubspot.com"],
"maxPagesPerDomain": 8,
"minScore": 50,
})
for lead in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f'{lead["domain"]} [{lead["grade"]} {lead["score"]}] — {", ".join(lead["emails"])}')

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('QDKOd64e0w1Mar1UG').call({
urls: ['stripe.com', 'hubspot.com'],
maxPagesPerDomain: 8,
minScore: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

cURL:

curl -X POST "https://api.apify.com/v2/acts/QDKOd64e0w1Mar1UG/runs?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls": ["stripe.com", "hubspot.com"], "maxPagesPerDomain": 8, "minScore": 50}'

Integrations

  • Apify API — Trigger runs and pull JSON datasets programmatically.
  • Ultimate Leads — Full keyword → URL → Maps → contacts pipeline in one run.
  • Zapier / Make — CRM enrichment workflows (HubSpot, Salesforce, Pipedrive).
  • Google Sheets — Export dataset; fields map cleanly to columns.
  • Webhooks & Scheduler — Real-time routing and recurring batch enrichment.
  • Apify MCP — AI agent pipelines via the Apify MCP server.

Leadsit actor ecosystem

ActorBest for
Ultimate LeadsKeywords → B2B URLs + Maps + contacts — one merged dataset
This ActorYou already have domains — deepest website enrichment
B2B URL FinderDiscover company URLs by keyword
Google Maps ScraperLocal businesses by search + location
Trustpilot Reviews ScraperReviews, ratings, reputation data

Typical workflow: Ultimate Leads for discovery → export domains → re-run this Actor for deep re-enrichment with higher maxPagesPerDomain.


Use cases

  • Sales prospecting — Verified emails, phones, WhatsApp, and scores for prioritized outreach.
  • Lead qualification — Filter by minScore before pushing to your CRM.
  • CRM enrichment — Fill missing contacts, socials, tech stack, and industry fields.
  • Competitive intelligence — Map rivals' analytics, social presence, and messaging channels.
  • Email outreach — Pattern detection + generated emails for decision makers.
  • Agency audits — Tracking tags, CMS, and social coverage in one pass.

FAQ

How many pages should I crawl? Default 5 works for most sites. Use 10–15 for enterprise sites; 1 for homepage-only speed runs.

Which social platforms? 14: Facebook, Instagram, LinkedIn, X/Twitter, YouTube, Pinterest, GitHub, TikTok, WhatsApp, Telegram, Snapchat, Discord, Reddit, Threads.

Is email verification accurate? Typically 80–90%. Catch-all domains show as unknown.

What if a site blocks requests? Enable Apify Proxy in input (useApifyProxy: true). Each page fetch rotates through proxy IPs. Failed domains return succeeded: false without stopping the run.

Can I reduce cost/time? Set skipWhois: true, skipLeadScoring: true, and verifyEmails: false for contact-only mode.

How long for 100 domains? ~2–5 minutes with default settings and proxy.

Is the Actor stable in production? Yes — latest build v2.2.5+ on Apify. Billing: synthetic apify-default-dataset-item via pushData only (never manual Actor.charge on the same rows).


Roadmap — delivered in v2.2 ✅

All previously planned features are now live:

FeatureStatus
Primary email ranking (primaryEmail)✅ v2.2
Catch-all domain detection✅ v2.2
URL deduplication (www/http/https)✅ v2.2
Language & country detection✅ v2.2
Sitemap.xml crawl✅ v2.2
Employee count from JSON-LD✅ v2.2
CRM export presets (HubSpot/SF/Pipedrive)✅ v2.2
Webhook on high-score leads✅ v2.2
LinkedIn company enrichment✅ v2.2
JavaScript rendering fallback (SPA)✅ v2.2 opt-in (skipped on lightweight image)
robots.txt respect toggle✅ v2.2 (opt-in)

Changelog

v2.2.3 (2026-06-03)

  • Fix (critical): Reverted Docker base from actor-node-playwright-chrome (~2.2 GB) to actor-node:20 (~600 MB) — restores healthy margins (v2.2 had inflated compute ~3× per run).
  • Fix: Removed playwright dependency; enableJsRendering fails gracefully with a log warning.
  • Fix: Billing — pushData only on synthetic apify-default-dataset-item (no manual Actor.charge).

v2.2 (2026-05-23)

  • New: primaryEmail + primaryEmailReason — auto-ranked best outreach address.
  • New: catchAll — detects domains accepting any RCPT address.
  • New: URL deduplication — merges www/non-www, http/https, trailing slashes.
  • New: companyLang, companyCountry, hreflangs — locale detection.
  • New: numberOfEmployees from JSON-LD Organization schema.
  • New: linkedinEnrichment — public LinkedIn company metadata.
  • New: Sitemap.xml discovery (useSitemapCrawl, default on).
  • New: crmRecord export preset — HubSpot, Salesforce, Pipedrive.
  • New: webhookUrl + webhookMinGrade — real-time grade A/B alerts.
  • New: enableJsRendering — SPA fallback hook (opt-in).
  • New: respectRobotsTxt — optional robots.txt compliance.
  • Note: Playwright base image from early v2.2 was reverted in v2.2.3 (see above).

v2.1.2 (2026-05-23)

  • Fix: SMTP verification uses RFC-standard null sender (MAIL FROM:<>) — fewer false invalid results on Google Workspace / Office 365.
  • Fix: JSON-LD @graph recursion — extracts Person/employee/founder nodes from Yoast, Squarespace, Next.js sites.
  • Fix: Page size limit raised 500 KB → 2 MB — no more silent truncation on modern marketing sites (footer socials/address preserved).
  • Perf: Brotli (br) added to Accept-Encoding for faster downloads from CDN-backed sites.

v2.1.1 (2026-05-23)

  • Fix: Apify Proxy wired via HttpsProxyAgent per request (previous proxy: option was ignored by axios).
  • Perf: HTTP socket pool decoupled from concurrency (100 max sockets).
  • Perf: Memory freed after business-intel analysis (_accumulatedPages).
  • Reliability: pushData batched in chunks of 100 with per-batch error handling.

v2.1 (2026-05-23)

  • Fix: Apify Proxy configuration stored and passed to crawler.
  • Docs: Store listing rewrite — Ultimate Leads ecosystem, pricing clarity, API examples with actor ID.
  • Schema: Input description updated to 14 social platforms (was incorrectly listed as 8).

v2.0 (2026-03)

  • 14 social & messaging platforms — WhatsApp, Telegram, Discord, Snapchat, Threads, Reddit added.
  • Lead scoring — 0–100 score, A–F grade, five weighted categories, per-signal breakdown.
  • Email pattern detection — Convention inference and generated emails for named contacts.
  • Business intelligence — 30-industry taxonomy and keyword extraction.
  • Multi-page crawler — Priority paths (/contact, /team, /about, …) with parallel sub-page fetch.
  • Dataset views — Overview, Contacts & Social, Tech & Marketing, Lead Scoring tabs in Console.
  • Phone validation — libphonenumber international formatting.

v1.x

  • Initial release: emails, phones, basic social links, single-page crawl.

Responsible use

This Actor collects publicly visible website information. Comply with GDPR, CAN-SPAM, CCPA, and local laws before outreach. Generated emails are algorithmic predictions — verify before sending. Do not use on sensitive government or healthcare sites where automated collection violates terms of service.


Built by Leadsit.eu — B2B lead generation tools for modern sales teams.

Keywords: website contact scraper, extract emails from websites, bulk email finder, company contact extractor, b2b lead enrichment, website email extractor, lead scoring tool, apify contact scraper, email verification, tech stack detector, whatsapp extractor, ultimate leads alternative, b2b data enrichment api