🌟B2b Lead Enricher avatar

🌟B2b Lead Enricher

Pricing

from $0.00005 / actor start

Go to Apify Store
🌟B2b Lead Enricher

🌟B2b Lead Enricher

Pricing

from $0.00005 / actor start

Rating

0.0

(0)

Developer

Sarthak

Sarthak

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

🏒 B2B Lead Enricher β€” Email Finder, LinkedIn, Tech Stack & Company Data

Paste a list of company websites and get back enriched B2B leads. For each one you get:

  • business emails with a confidence score;
  • phone numbers;
  • the LinkedIn company page and other social profiles;
  • the technologies the site runs on;
  • domain data: WHOIS, SSL, and the email provider (Google Workspace, Microsoft 365, …);
  • a 0–100 lead score with an A–D grade.

Every value comes with the evidence of where it was found.

No API keys, no logins, no browser β€” fast HTTP crawling that works on the free Apify plan.

Keywords: email finder Β· company email finder Β· B2B lead enrichment Β· LinkedIn company URL finder Β· tech stack detector Β· WHOIS lookup Β· MX record check Β· email provider lookup Β· lead scoring Β· CRM enrichment Β· Hunter.io alternative Β· Apollo alternative Β· Clearbit alternative Β· website contact scraper


✨ What makes it different

This actorTypical email finders
Emails from homepage + contact, team, about, impressum, support and press pagesβœ…βœ…
Cloudflare-protected emails decoded, written-out emails (sales [at] acme [dot] com) and JSON-LD structured dataβœ…βŒ
Confidence score with reasons for every emailβœ…partial
Personal vs role mailboxes (info@, sales@, press@ …)βœ…βœ…
Company's real email format detected from published emails (first.last, f.last …)βœ…βŒ
100+ technologies, each with the exact code signal that proves it β€” no false hits from logos or blog mentionsβœ…βŒ
Email provider (Google Workspace / Microsoft 365 / Zoho …) plus SPF and DMARCβœ…βŒ
Social profiles ranked so the company's own accounts come first, not authors or partnersβœ…βŒ
Filters: required technology, lead grade, domain age, keywords, email onlyβœ…βŒ
Websites that fail show the reason and how to fix it β€” and are never chargedβœ…βŒ

🎯 Use cases

  • Sales prospecting: turn a list of target accounts into contacts plus a priority grade.
  • Tech-based targeting: find every prospect running Shopify, HubSpot, WordPress or Stripe.
  • Microsoft vs Google targeting: see which companies run Microsoft 365 or Google Workspace.
  • Inbound lead qualification: check domain age, SSL and mail server to tell real businesses from throwaways.
  • CRM enrichment: feed the results into HubSpot, Salesforce or Pipedrive through Make, n8n or Zapier.
  • Recruiting and partnerships: pull HR, careers and partnerships mailboxes.

πŸ”§ Input

{
"urls": [
"https://stripe.com",
"figma.com",
"jane@shopify.com",
"acme-robotics.com | John | Doe"
],
"firstName": "John",
"lastName": "Doe",
"maxPagesPerSite": 6,
"requiredTech": ["Shopify", "HubSpot"],
"minLeadGrade": "B"
}
OptionWhat it does
urlsDomains, URLs or emails, one per line. Optionally add names to a line: site.com | First | Last. Duplicate domains are removed.
firstName, lastNameContact name used to guess their email at every company. Names on a line override these.
maxPagesPerSiteHomepage plus the most useful internal pages, between 1 and 20 (default 6).
includeExecutiveEmailsRole guesses such as ceo@, cto@, hr@ and sales@. Always marked unverified.
checkWhois, checkSsl, checkDnsDomain data. Turn any of them off for speed.
includeFailedSitesAdds a row with the reason for every site that couldn't be crawled. These rows are free.
onlyWithEmail, onlyWithContact, requireMxContact-quality filters.
minLeadGrade, requiredTech, minDomainAgeYears, companyKeywordsTargeting filters. Profiles they remove are never charged.
skipPreviouslyScrapedRemembers domains across runs, so scheduled runs only charge for new companies.
proxyConfigurationOff by default, which is cheapest. Turn it on if many sites come back blocked.

πŸ“€ Output (60+ fields per company)

{
"status": "ok",
"domain": "stripe.com",
"company_name": "Stripe",
"lead_grade": "A - Hot Lead",
"lead_score": 75,
"primary_email": "media@stripe.com",
"scored_emails": [
{ "email": "media@stripe.com", "confidence": 85, "type": "generic",
"evidence": ["mailto link on stripe.com/newsroom"] }
],
"phones": ["+1 888 926 2289"],
"linkedin": ["https://www.linkedin.com/company/stripe"],
"twitter": ["https://x.com/stripe"],
"tech_stack": ["Next.js", "Nginx"],
"email_provider": "Google Workspace",
"has_spf": true,
"dmarc_policy": "reject",
"registrar": "SafeNames Ltd.",
"domain_created": "1995-09-12",
"ssl_valid": true,
"person_email_guesses": { "best_guess": "john.doe@stripe.com", "verified": false },
"executive_emails": { "verified": false, "patterns": { "CEO": "ceo@stripe.com" } }
}

Fields

  • Company: domain, website, company name (and its source), description, page title, language, address, founding date, employee count.
  • Emails: primary email, all emails, personal emails, generic emails, and scored emails with confidence, type, pages and evidence.
  • Phones: primary phone, phones, and phone evidence.
  • Social: LinkedIn company, LinkedIn people, X/Twitter, Facebook, Instagram, YouTube, TikTok, GitHub.
  • Tech: tech stack, count, categories, and the evidence for each one.
  • Email setup: MX records, email provider, SPF, DMARC policy.
  • Domain: registrar, created and expiry dates, domain age, plus the full WHOIS object.
  • SSL: valid or not, issuer, days left, plus the full SSL object.
  • Patterns: detected email format with evidence, person email guesses, executive email patterns.
  • Scoring: lead score, grade, and the reason for every point; keyword match evidence.
  • Crawl details: pages crawled, status, error, how to fix, input, scraped at.

The dataset has three views: Overview, Contacts only and Tech & domain.

Lead score (12 signals)

PointsSignal
+15Any email found
+15A named person's email found
+5An email on the company's own domain
+10Phone found
+10LinkedIn company page
+5Two or more other social profiles
+10Domain receives email (MX records)
+5Rich tech stack (5+ tools)
+5Pays for marketing or sales tools (CRM, chat, email marketing, ads)
+5 / +10Domain older than 2 / 5 years
+5Valid SSL certificate
+5Company name and description published

A - Hot Lead 75–100 Β· B - Warm Lead 50–74 Β· C - Cool Lead 25–49 Β· D - Cold Lead 0–24

Email confidence

Each email starts at 40 points, and the reasons are listed on the email itself:

PointsSignal
+30On the company's own domain
+20On a sister domain (for example acme.io for acme.com)
βˆ’25On an unrelated domain (vendor or agency)
+15Published as a mailto link or in structured data
+10Found on a contact or team page
+5Found on several pages
+5A named person

πŸ“Š Run summary

Each run writes a RUN_SUMMARY record with:

  • companies saved, how many have contacts, and charged events;
  • a count for every status and every skip reason, with examples;
  • the grade distribution and the email providers found;
  • the most common technologies;
  • request and block counts, and field fill rates.

πŸ’° Pricing

You only pay for companies that are saved:

EventWhen
company-leadCompany enriched, no public email or phone found
company-lead-with-contactCompany enriched with at least one email or phone

Websites that are unreachable, blocked or invalid, duplicates, domains already saved in earlier runs, and companies removed by your filters are never charged.

❓ FAQ

Are the emails verified? Emails published on the site are real addresses the company put there. They're ranked by confidence, and each one says where it was found. Person and role guesses are always marked verified: false; check them with an email verifier before sending.

Does it work on JavaScript-only sites? It reads the HTML the server sends, plus structured data. Most marketing sites work fine. Pure single-page apps may give fewer results.

Some sites come back blocked. That site has bot protection. Turn on the proxy (Apify Proxy, RESIDENTIAL gets through most) and run again. WHOIS, DNS and SSL data are still included in the failed row.

Why is the domain age empty for .de and some other domains? Some registries don't publish registration dates. The field stays empty and is never estimated.

Does it find people's LinkedIn profiles? It returns company pages, plus any personal profiles linked from the site (for example on team pages) in linkedin_people.

βš–οΈ Notes

This actor reads public company websites and public DNS/WHOIS data only. You are responsible for using contact data in line with privacy and anti-spam laws in your market (GDPR, CAN-SPAM, etc.).