Lead List Enricher: Website Emails, Phones & Socials avatar

Lead List Enricher: Website Emails, Phones & Socials

Pricing

from $4.00 / 1,000 company with contacts

Go to Apify Store
Lead List Enricher: Website Emails, Phones & Socials

Lead List Enricher: Website Emails, Phones & Socials

Enrich a lead list or any dataset with website contacts: ranked emails with mail-server check, validated phones, 15 social networks, contact form, site platform and AI-crawler flags. One row per company. Pay only for companies where contacts are found.

Pricing

from $4.00 / 1,000 company with contacts

Rating

0.0

(0)

Developer

VISHAL RAWAT

VISHAL RAWAT

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

Lead List Enricher: website emails, phones and socials, one row per company

Give it a list of websites, or the ID of a dataset you already have (a Google Maps, directory or trade-show scrape). You get back one clean row per company with the best email, every email we found (ranked, with a mail-server check), validated phone numbers in international format, social profiles on 15 networks, the street address and opening hours when the site publishes them. New in 1.1: the contact-form URL, the site platform (WordPress, Shopify, Wix, Webflow and more) and which AI crawlers the site blocks in robots.txt.

Try it free: Apify's free plan gives $5/month of usage, no card needed. That's about 1,250 companies with contacts a month at $4 per 1,000.

$4 per 1,000 companies with contacts. Sites where nothing is found cost nothing. Unreachable, timed-out, invalid and duplicate sites are free too. No add-ons, no per-page fees, no surprise charges.

Why people switch to it

  • Pay for results, not pages. You're charged only when a company row has at least one email, phone number or social profile. Other contact scrapers on the Store charge per page crawled, whether or not anything is found.

  • Enrich the list you already have. Point it at a dataset ID: it finds the website column itself (or use websiteField), enriches every row and copies the fields you choose into source, so results match back to your list.

  • Timeouts that can't stall a run. Every page has a time limit, every site has a time budget, and the run stops starting new sites before its own timeout. Sites it didn't reach are listed in OUTPUT.notProcessedSites and cost nothing.

  • One row per company, not one row per page. Duplicate domains in your list are merged before the run starts, and emails and phones are deduplicated across every page we visit. Paste the row straight into your CRM.

  • The best email is picked for you. Emails on the company's own domain come first, then ones found on the Contact or Impressum page. Addresses like noreply@, privacy@ or the web agency's email sink to the bottom. Each email is tagged role (info@, sales@) or personal (priya@).

  • Mail-server check included. Every email's domain is checked for an MX record, free. Domains that can't receive mail are dropped (or flagged, if you prefer).

  • Finds what others miss. Cloudflare-protected emails, name [at] domain [dot] com style addresses, schema.org business data, tel: and WhatsApp links.

  • Clean phone numbers. Parsed and validated with Google's libphonenumber rules, returned as +91 98765 43210 and E.164. Set a default country to also catch local-format numbers.

  • Fast and light. Plain HTTP, no browser, so 1,000 sites finish in minutes. It goes straight to the pages that matter (Contact, About, Team, Impressum, footer links) instead of crawling the whole site.

  • Polite by default. Respects robots.txt and visits a handful of pages per site.

Use cases

  • Sales prospecting: turn a list of target company websites into emails and phone numbers you can load into your CRM.
  • Enriching scraped lists: add emails and socials to the website column from Google Maps, directory or trade-show exports.
  • Agencies and freelancers: build verified lead lists for clients in minutes instead of opening hundreds of tabs.
  • Recruiters and partnerships: reach the right inbox at companies that are hiring or launching.
  • Market research: see which companies in a niche are active on LinkedIn, X, Instagram or TikTok.
  • Data hygiene: re-check an old list and drop emails whose domain can no longer receive mail.

Input

FieldWhat it doesDefault
websitesDomains or URLs, one per lineeither this or datasetId
datasetIdEnrich rows of an existing Apify datasetempty
websiteFieldColumn holding the website (auto-detects website, url, domain, companyWebsite, homepage)auto
keepFieldsSource fields copied into each row's source (empty = all text and number fields)all
maxPagesPerSiteHomepage plus the likeliest contact pages6
defaultCountrye.g. US, GB, IN: also catch local-format phone numbersempty
verifyEmailDomainsMX check for every email domainon
dropUndeliverableRemove emails whose domain can't receive mailon
onlySameDomainEmailsHide third-party addressesoff
stopWhenFoundStop a site early once contact page, email and phone are foundon
respectRobotsTxtSkip pages disallowed by robots.txton
includeEmptyRowsKeep a free row for sites with no contacts, with the reasonon
pageTimeoutSecs / siteTimeoutSecsTime limit per page / time budget per site10 / 45
{ "websites": ["plausible.io", "fsf.org", "https://www.nobroker.in"], "defaultCountry": "IN" }

Enrich a dataset from another actor:

{ "datasetId": "<your dataset ID>", "keepFields": ["title", "phone", "address"] }

Output

Real row from a test run on 31 Oct 2026 (trimmed):

{
"companyName": "Free Software Foundation",
"domain": "fsf.org",
"url": "https://www.fsf.org/",
"bestEmail": "info@fsf.org",
"bestPhone": "+1 617 542 5942",
"emails": [
{ "email": "info@fsf.org", "type": "role", "sameDomain": true, "mx": true, "foundOn": ["https://www.fsf.org/about/contact/"] },
{ "email": "campaigns@fsf.org", "type": "role", "sameDomain": true, "mx": true, "foundOn": ["https://www.fsf.org/"] }
],
"phones": [
{ "phone": "+1 617 542 5942", "e164": "+16175425942", "country": "US", "type": "FIXED_LINE_OR_MOBILE", "source": "schema.org" }
],
"socials": { "bluesky": ["https://bsky.app/profile/fsf.org"] },
"address": "31 Milk Street # 960789, Boston, MA, 02196, US",
"contactPageUrl": "https://www.fsf.org/about/contact/",
"contactFormUrl": null,
"sitePlatform": null,
"aiCrawlersBlocked": [],
"status": "ok",
"pagesCrawled": 5
}

Social networks: LinkedIn, X/Twitter, Facebook, Instagram, YouTube, TikTok, GitHub, Pinterest, Threads, Telegram, WhatsApp, Discord, Bluesky, Medium, Crunchbase.

Extra fields in 1.1: contactFormUrl (first page with a contact form or a known form embed such as HubSpot, Typeform or Contact Form 7), sitePlatform and sitePlatforms (from the homepage HTML), aiCrawlersBlocked (GPTBot, ClaudeBot, PerplexityBot, Google-Extended and others fully disallowed in robots.txt; null if robots.txt couldn't be read), and source (your fields, when you enrich a dataset).

Real checks on 31 Oct 2026: allbirds.com returned sitePlatform: "shopify" and its /pages/contact-us form; wordpress.org returned "wordpress".

status is ok, no-contacts-found, unreachable, timed-out or invalid-input. Only ok rows are charged.

Pricing

Pay per event:

  • Company with contacts: $0.004 (one row with at least one email, phone or social profile)
  • Sites with no contacts, unreachable sites and duplicates: free

A list of 1,000 websites where 700 have contacts costs $2.80. The other 300 cost nothing. Set a max charge on the run and the actor stops cleanly when it's reached.

Good to know

  • It reads public pages only. No logins, no paywalls, no CAPTCHAs.
  • Sites that build their contact page entirely in JavaScript may show fewer results. Most business sites render contacts in plain HTML.
  • The MX check confirms the domain accepts mail. It does not send anything to the mailbox.

Compliance

  • Public business contact data only. It reads pages a company publishes on its own website. It never logs in, never gets past paywalls or CAPTCHAs, and never reads private profiles.
  • Respects robots.txt by default and visits only a handful of pages per site.
  • You're responsible for how you use the data. If you contact people in the EU, UK, US, India or anywhere else with privacy and anti-spam laws (GDPR, PECR, CAN-SPAM, India's DPDP Act), make sure you have a lawful basis, identify yourself and offer an easy opt-out. Business role addresses (info@, sales@) are the safest place to start.
  • The mail-server check only confirms that a domain accepts email. Nothing is ever sent.

Works well with

  • Google Maps or directory scrapers: feed their website column in here to add emails and socials.
  • Our ATS Jobs Feed: find companies that are hiring, then get their contact details.
  • n8n, Make and Zapier via the Apify integration, or the Apify API for scheduled enrichment.

Questions or a site it misses? Open an issue on the actor's Issues tab and we'll look at it.