🌟 Contact Details Scraper Pro avatar

🌟 Contact Details Scraper Pro

Pricing

from $0.001 / scraped page

Go to Apify Store
🌟 Contact Details Scraper Pro

🌟 Contact Details Scraper Pro

Email extractor and lead scraper to extract and download emails, phone numbers, Facebook, Twitter, LinkedIn, Instagram, Threads, Snapchat, and Telegram profiles from any website. Extract contact information at scale from lists of URLs and download the data as Excel, CSV, JSON, HTML, and XML.

Pricing

from $0.001 / scraped page

Rating

0.0

(0)

Developer

Sarthak

Sarthak

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Categories

Security

Limited permissions

Share

Contact Details Scraper Pro: Emails, Phones & 18 Social Networks, Verified

Crawl any list of websites and get one clean row per website with:

  • emails, each verified (MX records, role vs personal, free-mail, disposable) and confidence-scored with proof of where it was found;
  • phone numbers, split into confirmed and uncertain;
  • 18 social and messaging networks;
  • the people published on the site, company name and address, contact page and forms, the email provider and the technology stack.

Link-in-bio pages (Linktree, Beacons, lnk.bio…) are followed automatically.

From $0.80 per 1,000 loaded pages. Verification, merging, tech detection and people are included. Pages that fail to load are never charged.

What you get per website

Same fields as the original Contact Details Scraper: originalStartUrl, domain, scrapedUrls, emails, phones, phonesUncertain, linkedIns, twitters, instagrams, facebooks, youtubes, tiktoks, pinterests, discords, snapchats, threads, telegrams, reddits, whatsapps.

Plus:

  • Emails:
    • bestEmail, the most reliable address on the company's own domain;
    • personalEmails and roleEmails;
    • emailDetails, with type, domainMatch, freeProvider, disposable, mxValid, a 1–99 confidence score, the pages it was found on, and evidence such as "mailto link on example.com/contact".
  • Phones: phoneDetails, with the E.164 format where possible and the evidence for each number.
  • More networks: githubs, mediums, twitches, calendlys and linkInBioPages.
  • People: people, with name, job title, email, LinkedIn and phone, from the site's structured data (team pages, founders, authors).
  • Company: companyName, description, address, language.
  • Contact routes: contactPageUrl and contactFormUrls.
  • Email setup: emailProvider (Google Workspace, Microsoft 365…), hasMxRecords, hasSpf, hasDmarc.
  • Technology: techStack, for example Shopify, WordPress, HubSpot or Klaviyo.
  • Flags: parkedDomain (domains for sale) and jsRendered (JavaScript-only sites), each with a note.
  • Origin: discoveredVia, for sites found through a link-in-bio page.

How it finds more

  • Smart crawl order: contact, team, about and imprint pages are visited first, so 5–10 pages per site usually find everything. Common contact pages (/contact, /about, /team…) are also tried when they aren't linked, which covers menus built by JavaScript.
  • Hidden emails: decodes Cloudflare-protected addresses, written-out ones (name [at] company [dot] com), mailto: links and structured data. Placeholders (example.com, sentry, wixpress…) and no-reply addresses are removed.
  • Phones without the noise: numbers from tel: links, structured data, international formats or "Phone:/Call/Tel" cues are confirmed. Other number-like text goes to phonesUncertain. Dates, year ranges, order numbers and score lists are rejected.
  • Social links that are real profiles: share buttons, intent links, post and video URLs are ignored. URLs are normalised (twitter.com becomes x.com, regional LinkedIn hosts become www.linkedin.com, WhatsApp "send" links become wa.me).
  • Link-in-bio pages: their social icons are read from the page's embedded data and every linked site is crawled.
  • Redirects: sites that redirect, and duplicates in your list, are crawled once.

How it is better than the original

Contact Details ScraperPro
Price per page$2.00 → $1.05 / 1,000$1.50 → $0.80 / 1,000 (25% cheaper on every plan)
One row per websiteSeparate merge actor✅ Built in (per-page mode also available)
Email verificationPaid add-on, enrichment leads only✅ Free MX check for every email, plus role/personal, free-mail and disposable flags
Email confidence and evidence—✅
Confirmed vs uncertain phones✅✅ plus E.164 and evidence
Social networks1318
People from team pagesPaid enrichment✅ From the site's structured data
Company name, address, contact page, contact forms—✅
Email provider, SPF, DMARC, technology stack—✅
Parked-domain and JavaScript-site warnings—✅
Failed sitesSilent✅ Free row with the reason and how to fix it

Pricing (pay per event)

EventWhenFree / StarterScaleBusiness
page-scrapedOne web page loaded successfully$1.50 / 1,000$1.10 / 1,000$0.80 / 1,000
residential-pageExtra, only when you choose the RESIDENTIAL proxy (it costs ~10× more)$2.00 / 1,000$1.50 / 1,000$1.05 / 1,000

Email verification (MX), merging, people, technology detection and company info are included at no extra cost. The original charges $4.00 per 1,000 for email verification alone.

Rows are free, and so are failed, blocked and non-HTML pages. The run stops cleanly at your Maximum cost per run, and the residential extra is counted in that limit.

Example input

{
"startUrls": [{ "url": "https://apify.com" }, { "url": "growwstacks.com" }, { "url": "https://linktr.ee/somebrand" }],
"maxRequestsPerStartUrl": 10,
"maxDepth": 2
}

Example output (shortened, real run)

{
"originalStartUrl": "https://apify.com",
"domain": "apify.com",
"scrapedUrls": ["https://apify.com/", "https://apify.com/contact", "https://apify.com/contact-sales", "https://apify.com/about"],
"emails": ["hello@apify.com"],
"bestEmail": "hello@apify.com",
"emailDetails": [{ "email": "hello@apify.com", "type": "role", "domainMatch": true, "mxValid": true, "confidence": 95, "evidence": ["mailto link on apify.com/contact"] }],
"twitters": ["https://x.com/apify"],
"youtubes": ["https://www.youtube.com/apify"],
"tiktoks": ["https://www.tiktok.com/@apifytech", "https://www.tiktok.com/@apifyoffice"],
"githubs": ["https://github.com/apify"],
"companyName": "Apify",
"contactPageUrl": "https://apify.com/contact",
"emailProvider": "Google Workspace",
"techStack": ["Next.js", "Bootstrap", "Google Tag Manager", "HubSpot", "Intercom", "Amazon Web Services", "Amazon CloudFront"]
}

Sites that can't be read come back as free rows with status, error and fixHint. The possible statuses are unreachable, blocked, http_error, not_html, invalid_input and redirects_to_duplicate.

Run summary

Each run saves a RUN_SUMMARY in the key-value store. It contains:

  • sites crawled, and how many had contacts;
  • pages loaded, failed and charged;
  • fill rates for emails, phones and each main network;
  • how many link-in-bio pages were followed;
  • skip reasons.

Tips

  • 5–10 pages per website is the sweet spot. The contact pages come first.
  • Sites behind bot protection (Cloudflare challenges) need the RESIDENTIAL proxy group. It adds the residential-page extra, so use it only for the sites that need it.
  • JavaScript-only sites (jsRendered: true) show little without a browser, so some contacts may be missing.
  • Lead lists: turn on "Only emails on the website's own domain" and "Only websites with contacts".

Contact details can be personal data under the GDPR and similar laws. Collect them only with a legitimate purpose and follow the rules for outreach in your country.