Website Lead Enricher – Emails, Phones, Tech & EU Company IDs avatar

Website Lead Enricher – Emails, Phones, Tech & EU Company IDs

Pricing

Pay per usage

Go to Apify Store
Website Lead Enricher – Emails, Phones, Tech & EU Company IDs

Website Lead Enricher – Emails, Phones, Tech & EU Company IDs

Turn a list of company websites (or a Google Maps Scraper dataset) into enriched B2B leads: emails, phones, social profiles, tech stack, email provider, domain age and EU legal IDs (SIREN/SIRET, VAT, Handelsregister, UK company number).

Pricing

Pay per usage

Rating

0.0

(0)

Developer

theo

theo

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Website Lead Enricher: emails, phones, socials, tech stack and EU company IDs

Give it a list of company websites, or the dataset from a Google Maps Scraper run. You get back one clean, enriched lead per website:

  • 📧 Emails: mailto: links, plain text, Cloudflare-protected emails ([email protected]) and obfuscated ones (contact [at] acme [dot] com). Each email is tagged role (info@, sales@) or personal, on the company domain or not, and free provider (Gmail…) or not.
  • 🇪🇺 GDPR-friendly mode: one switch keeps only generic addresses (contact@, info@…) and drops emails of named people.
  • 📞 Phones: tel: links, schema.org data and text, normalized to international format (+33142345020).
  • 🔗 Social profiles: LinkedIn, Facebook, Instagram, X/Twitter, YouTube, TikTok, Pinterest, GitHub, WhatsApp and Telegram. Share buttons are filtered out.
  • 🏛️ EU company identifiers, taken from legal notice / mentions légales / Impressum pages and checksum-validated:
    • 🇫🇷 SIREN, SIRET and the intra-EU VAT number (derived automatically from the SIREN)
    • 🇩🇪 Handelsregister number (HRB/HRA) and register court, USt-IdNr
    • 🇬🇧 Companies House number, VAT
    • VAT numbers for 20+ European countries
  • 🧰 Tech stack (60+ technologies): WordPress, Shopify, Wix, Webflow, PrestaShop, HubSpot, Google Analytics, Meta Pixel, Google Ads, LinkedIn Insight, Klaviyo, Intercom, Axeptio/Didomi/Cookiebot…
  • ✉️ Email provider from MX records: Google Workspace, Microsoft 365, OVHcloud, IONOS, Zoho…
  • 📅 Domain age, expiry date and registrar from RDAP, the official WHOIS successor.
  • 🏢 schema.org organization data: legal name, address, founding date.
  • ⭐ Contactability score (0–100): a single number to sort and prioritize your leads.

No browser, no login and no API key. It is fast and cheap.

Why this enricher?

Website Lead EnricherTypical contact scrapers
Emails, phones, socials✅✅
Cloudflare-protected / obfuscated emails✅often ❌
Email type (role vs personal, on-domain)✅❌
EU legal IDs (SIREN/SIRET/VAT/HRB/UK CRN)✅❌
Tech stack + ad pixels✅❌ (separate actor)
Email provider (MX) + domain age✅❌ (separate actor)
One row per website, ready for your CRM✅one row per page
You only pay for websites that answered✅pay per page, even errors

Typical use cases

  • Enrich Google Maps leads: run Google Maps Scraper and paste its dataset ID here. The original fields (title, placeId, phone, address…) are kept under source.
  • Agencies selling websites, SEO or ads: find businesses running WordPress without analytics, shops without the Meta Pixel, or sites on outdated builders.
  • B2B prospecting in Europe: get the SIREN or Handelsregister number to join with official registries (financials, directors).
  • KYB / supplier onboarding: check that a website matches a legal entity and VAT number.
  • CRM hygiene: refresh emails, phones and social links for a list of domains.

Input

{
"websites": ["acme.com", "https://www.boulangerie-dupont.fr", "mueller-maschinenbau.de"],
"maxPagesPerWebsite": 4,
"detectTechnologies": true,
"lookupEmailProvider": true,
"lookupDomainAge": true
}

You can also give "datasetId": "<ID of a Google Maps Scraper run dataset>". Any dataset whose items have a website, url or domain field works. Duplicate domains are removed automatically.

The actor scans the homepage plus up to maxPagesPerWebsite pages that most likely hold contact data: contact, legal notice / mentions légales / Impressum, about, privacy.

Output (one item per website)

Example for a fictional company:

{
"input": "boulangerie-dupont.fr",
"domain": "boulangerie-dupont.fr",
"status": "ok",
"url": "https://www.boulangerie-dupont.fr/",
"title": "Boulangerie Dupont – Pains artisanaux à Lyon",
"language": "fr",
"country": "FR",
"emails": [
{ "email": "contact@boulangerie-dupont.fr", "type": "role", "onSiteDomain": true, "freeProvider": false },
{ "email": "jean.dupont@boulangerie-dupont.fr", "type": "personal", "onSiteDomain": true, "freeProvider": false }
],
"phones": ["+33478000001"],
"socials": {
"instagram": ["https://www.instagram.com/boulangeriedupont"],
"linkedin": ["https://www.linkedin.com/company/boulangerie-dupont"]
},
"legalIds": { "siren": ["552032534"], "siret": ["55203253400018"], "vat": ["FR27552032534"] },
"organization": { "name": "Boulangerie Dupont", "address": "12 rue de la Paix, 69002, Lyon, FR" },
"technologies": [
{ "name": "Google Analytics", "category": "analytics" },
{ "name": "Meta Pixel", "category": "advertising" },
{ "name": "WordPress", "category": "cms" },
{ "name": "Axeptio", "category": "consent" }
],
"mxRecords": ["mx1.mail.ovh.net", "mx2.mail.ovh.net"],
"emailProvider": "OVHcloud",
"domainCreatedAt": "2009-04-02",
"domainAgeYears": 17.6,
"registrar": "OVH sas",
"contactabilityScore": 100,
"pagesScanned": [
"https://www.boulangerie-dupont.fr/",
"https://www.boulangerie-dupont.fr/contact/",
"https://www.boulangerie-dupont.fr/mentions-legales/"
],
"scrapedAt": "2026-10-22T19:00:00+00:00"
}

Every item also carries flat, CSV-friendly columns for spreadsheets and CRM imports: primaryEmail, allEmails, primaryPhone, allPhones, linkedinUrl, facebookUrl, instagramUrl, twitterUrl, youtubeUrl, tiktokUrl, companyId, vatNumber and techStack. The dataset's default Leads overview view shows exactly these columns.

Websites that could not be enriched still get a row with a status (unreachable, blocked, http-403, http-429, timeout, invalid-input) and an error message, so you can see exactly what happened. These rows are not charged.

Export everything as JSON, CSV, Excel or HTML, or get it through the API. It also connects to Make, Zapier, n8n, Google Sheets and other integrations.

Pricing

Pay per result: you are only charged for websites that were successfully enriched. All data points are included: there are no add-ons to unlock.

Tips

  • Speed: about 1,000 websites in a few minutes with the default concurrency of 10. Raise it to 30–50 for big lists.
  • Blocked sites: a few large websites use bot protection (Cloudflare challenge, DataDome). Enable a proxy in Proxy configuration if many of your sites return blocked or http-403. Most small-business websites never need one.
  • Cheaper and faster runs: turn off tech detection, MX or RDAP if you don't need them, or set maxPagesPerWebsite to 1–2.

This actor only reads information that companies publish on their own public websites (contact pages, legal notices required by law). It does not log in and does not bypass paywalls. Turn on GDPR-friendly mode (roleEmailsOnly) to collect only generic company addresses. If you process personal data, such as named employees' emails, you are responsible for having a legal basis under GDPR / CCPA for your use case (for example legitimate interest for B2B prospecting, with an easy opt-out). Respect local rules on direct marketing.

Support

Found a website where an email or company ID is missed? Open an issue with the URL: extraction rules are improved continuously.