Lead Enrichment & Scoring - Email/Domain to ICP Fit
Pricing
from $18.60 / 1,000 enriched & scored leads
Lead Enrichment & Scoring - Email/Domain to ICP Fit
Give it an email, domain or name and get an enriched lead with a 0-100 ICP-fit score, Hot/Warm/Cold tier and the reasons behind it. Set target industries and minimum size to rank any list. $20/1k scored leads — a Clay/Apollo alternative with zero setup and no subscription.
Pricing
from $18.60 / 1,000 enriched & scored leads
Rating
0.0
(0)
Developer
Renzo Madueno
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Lead Enrichment & Scoring — Score Any Lead 0–100 Against Your ICP
What it does: feed it raw leads in any shape — an email, a domain, or Name, company.com — and every lead comes back enriched (firmographics, tech stack, contact) and scored 0–100 with a Hot/Warm/Cold tier plus the exact reasons, judged against the ICP you define.
Who it's for: sales teams drowning in unranked inbound or purchased lists, who want prioritization without building a Clay workspace or paying Apollo per seat.
What it costs: $0.02 per enriched & scored lead ($20 per 1,000) + $0.01 per run. Leads below your confidence threshold are returned free.
How the lead scoring API works
The score is a transparent composite of three things:
- Data signals — known industry, company size, tech stack, a valid mail server.
- Reachability — a role email, a named decision-maker, a direct contact email, or a confirmed company email pattern.
- ICP fit — your own definition:
targetIndustries(e.g. "SaaS", "Fintech") andminEmployeeBand. Matching leads get boosted; mismatches get penalized.
Tiers: Hot ≥ 70 · Warm 40–69 · Cold < 40. And because a score you can't explain is a score reps ignore, every row ships fitReasons — the literal list of why it scored what it scored.
All enrichment data is read live from each company's website at run time (there's no stored database going stale), plus a live DNS MX check on the domain.
Score a raw list in three steps
- Paste leads, one per line — formats can be mixed:
{"leads": ["patrick@stripe.com", "hubspot.com", "Amir Salihefendic, doist.com"],"targetIndustries": ["SaaS", "Fintech"],"minEmployeeBand": "51-200"}
- (Optional) Define your ICP with
targetIndustries+minEmployeeBand(bands from 1-10 up to 5000+). Leave both empty to score purely on data completeness and reachability. - Run — one scored row per lead, ready to sort in your CRM, CSV, or sequencer.
Example output row:
{"input": "hubspot.com","companyName": "HubSpot","industry": "Software & SaaS","employeeBand": "5000+","revenueBand": "$500M+","contactName": "Yamini Rangan","contactTitle": "Chief Executive Officer","roleEmail": "sales@hubspot.com","techStack": "HubSpot, Cloudflare, Google Analytics","domainHasMx": true,"leadScore": 78,"leadTier": "Hot","fitReasons": ["industry known", "size known", "role email found", "matches target industry"],"confidenceScore": 0.65}
Clay alternative for lead enrichment (and Apollo, for scoring)
Clay is a brilliant spreadsheet-of-workflows; Apollo bundles scoring into its seat plans. The honest comparison for the specific job of enrich + score a list:
| This Actor | Clay | Apollo | |
|---|---|---|---|
| Setup before first scored lead | Paste list, press run | Build a table + waterfall of providers | Configure scoring in a seat plan |
| Pricing | $20 per 1,000 scored leads | Monthly credit plans (from ~$134/mo), enrichments consume credits per provider call | Per-seat plans (from ~$49/user/mo) |
| Where data comes from | Live crawl of each company's site | Other vendors' databases, via credits | Its own static database |
| Score explainability | fitReasons on every row | Depends on your formula columns | Model-based |
| ICP definition | Two fields: industries + min size | Fully custom (you build it) | Plan-dependent |
| Weak leads billed | No (minConfidence gate) | Credits consumed regardless | Plan cost regardless |
| Account/API keys needed | None | Clay + provider keys | Apollo account |
(Competitor pricing is list pricing at the time of writing.)
Fair verdict: if you want infinitely customizable enrichment waterfalls, Clay earns its price. If you want a raw list ranked Hot/Warm/Cold today at $20/1k with zero setup, that's this Actor.
The exact points behind every score
The scoring is published rather than proprietary, because a rep who cannot see why a lead is Hot will ignore the number. Each signal below adds its points to a 0-100 total, and the label it pushes into fitReasons is the same string you see in the row:
| Signal found on the lead | Points | fitReasons entry |
|---|---|---|
| Contact email resolved for a named person | +18 | contact email found |
| Industry classified | +12 | industry known |
| Role email (sales@, info@, …) found | +12 | role email found |
| A named decision maker found | +12 | decision-maker found |
| Employee band resolved | +10 | size known |
| Two or more technologies detected | +10 | N technologies |
| Domain publishes MX records | +8 | valid mail server |
| Email pattern confirmed (only when no contact email) | +8 | email pattern known |
| Company LinkedIn page found | +6 | LinkedIn present |
Then your ICP is applied, and this is the part that can move a lead down:
| ICP condition | Points | fitReasons entry |
|---|---|---|
Industry matches one of targetIndustries | +12 | matches target industry |
| Industry does not match | −10 | outside target industry |
At or above minEmployeeBand | +8 | meets min size |
Below minEmployeeBand | −8 | below min size |
The total is clamped to 0–100 and bucketed at the fixed thresholds: Hot ≥ 70, Warm 40–69, Cold < 40.
Two consequences worth designing around. First, with no ICP set, the maximum reachable score is 88 — a lead can be perfectly enriched and still never be Hot until you tell the Actor what you sell to. Set targetIndustries and you are scoring fit; leave it empty and you are only scoring how complete and reachable the record is. Second, the two ICP penalties are the only negative terms, so a data-rich company outside your market lands in Warm rather than Cold. If you want a hard exclusion, filter on the outside target industry reason rather than on the tier.
Which leads to call first, and why the reasons matter more than the number
Sorting by leadScore descending is the obvious use, but the reason strings are what make the list actionable, because two leads with the same 65 can need opposite treatment:
contact email found+decision-maker found→ a named human with a working address. This is a send, today.role email found+email pattern known, no contact name → the company is reachable but anonymous. Worth a call to find out who owns the problem, not a personalised email.industry known+size known+N technologies, nothing about email → good fit, no way in. Route to whoever does manual prospecting, not to the sequencer.valid mail serverabsent → the domain cannot receive mail at all. Nothing else on the row matters; drop it before it costs you sender reputation.
For a purchased list, the fastest triage is: filter out rows missing valid mail server, work everything tagged contact email found, and hand the outside target industry rows back to whoever bought the list.
Where it slots into your funnel
- Inbound triage — score form-fills as they land; reps open the day with Hot on top.
- Purchased-list rescue — a bought list is 80% noise; score it and work only the ICP-fit slice.
- Routing rules — assign by
leadTier+industry+employeeBandinstead of round-robin. - Sequencer prep — enrich + score + MX-check before a lead ever enters your outreach tool.
- CRM hygiene — append firmographics and a score to legacy leads sitting unranked in the pipeline.
Frequently asked questions
What input formats are accepted?
Emails (jane@acme.com), bare domains (acme.com), and name + company (Jane Smith, acme.com) — mixed in one run. Emails and names add a person to the row; a domain alone still scores on firmographics + reachability.
Is the score a black box?
No — that's the design principle. Every row carries fitReasons, the explicit list of signals that moved the score. A rep (or an auditor) can always see why a lead is Hot.
Can I change what "good" means?
Yes: targetIndustries and minEmployeeBand are your ICP levers. Matching industries boost the score; being at/above your size band boosts, below penalizes. No ICP set = a pure data-completeness + reachability score.
What does scoring 2,000 inbound leads cost?
$0.01 + $0.02 per lead that clears minConfidence. If 1,400 resolve substantively: ≈ $28.01 — no seats, no monthly minimum.
How fresh is the enrichment data? Read from each company's live website at the moment of the run, with a live MX lookup. There is no cached database to decay.
Do Hot/Warm/Cold thresholds change? No — they're fixed (≥70 / 40–69 / <40) so scores stay comparable across runs. Your ICP inputs are what tailor the distribution.
Do I need an API key? No. Runs on Apify; callable from code through the Apify API for automated pipelines (e.g. score every new CRM lead via webhook).
Is this compliant? It reads only publicly published business information from each company's own website. Lawful use in your jurisdiction is your responsibility.
Related Actors
- Company Enrichment API — the full nested company profile per domain.
- People Enrichment — name + company → title, seniority & verified email.
- CRM Enrichment — flat firmographic rows for direct CRM import.
- All my Actors.
Built by Renzo Madueño. Found a bug or want a signal added? Open an Issue — I read and respond to every one.