Lead Enrichment Confidence Scorer
Pricing
Pay per event
Lead Enrichment Confidence Scorer
Score enriched leads on data confidence (0-100) with signal explanations, missing field detection, and recommended next actions. Works with any enriched lead dataset.
Pricing
Pay per event
Rating
0.0
(0)
Developer

Stas Persiianenko
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Score enriched leads on data confidence (0-100) with signal-by-signal explanations, missing field detection, and recommended next actions. Works with any enriched lead dataset.
What does Lead Enrichment Confidence Scorer do?
Lead Enrichment Confidence Scorer takes enriched lead data and produces a confidence score (0-100) for each lead based on 10 weighted signals. It tells you not just how confident you should be in each lead's data, but why — which signals are strong, which data is missing, and what specific actions to take to improve each lead.
It works with output from Multi-Source Lead Enrichment or any enriched lead dataset that includes company, contact, and source metadata fields.
Use cases
- Sales teams — Prioritize outreach by data quality, not just lead score
- Marketing ops — Identify leads that need additional enrichment before campaigns
- Data quality audits — Score your entire CRM export to find data gaps
- Pipeline hygiene — Filter out low-confidence leads before they enter your pipeline
- Enrichment ROI — Measure how well your enrichment sources are performing
Why use Lead Enrichment Confidence Scorer?
- Transparent scoring — Every score comes with a full signal breakdown
- Actionable recommendations — Specific next steps to improve each lead's confidence
- Weighted signals — 10 signals with weights based on sales impact (verified email = 20pts, company ID = 15pts, etc.)
- Confidence levels — Critical, low, medium, high, very-high for quick triage
- Debug mode — Full per-signal weight breakdown for tuning and analysis
- Works with any data — Accepts loose JSON objects, not tied to a specific enrichment tool
Scoring signals
| Signal | Weight | What it measures |
|---|---|---|
| Verified email | 20 | Email present and verification status |
| Company identified | 15 | Company name and domain known |
| Contact name | 12 | Full contact name available |
| Job title | 10 | Role/title or seniority level known |
| Multi-source | 10 | Data confirmed by 2+ independent sources |
| Industry known | 8 | Industry classification available |
| Phone available | 7 | Direct phone number present |
| LinkedIn profile | 7 | LinkedIn URL linked |
| Location data | 6 | Geography/location known |
| Company size | 5 | Headcount or company type known |
Total: 100 points possible. Partial scores are awarded (e.g., unverified email = 8/20, one source = 0/10, two sources = 7/10).
Confidence levels
| Level | Score range | Meaning |
|---|---|---|
| very-high | 85-100 | Comprehensive, cross-verified data — ready for outreach |
| high | 65-84 | Good quality, minor gaps — actionable |
| medium | 45-64 | Moderate confidence — enrich further before outreach |
| low | 25-44 | Significant gaps — needs additional enrichment |
| critical | 0-24 | Very little verified data — requires substantial work |
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
leads | object[] | Yes | — | Array of enriched lead objects with company, contact, and enrichment fields |
minConfidence | integer | No | 0 | Only output leads at or above this confidence threshold |
includeDebugWeights | boolean | No | true | Include per-signal weight breakdown in output |
Output example
{"leadId": "jane@stripe.com","companyName": "Stripe","contactName": "Jane Smith","confidenceScore": 97,"confidenceLevel": "very-high","topSignals": ["Email is verified","Company name and domain known","Contact name available"],"topSignalsSummary": "Email is verified; Company name and domain known; Contact name available","missingSignals": [],"missingSignalsSummary": "None","explanation": "Confidence score: 97/100 (very-high). Positive signals (9): Email is verified, Company name and domain known, Contact name available. This lead has comprehensive, cross-verified data and is ready for outreach.","recommendedActions": [],"recommendedActionsSummary": "No actions needed","debugWeights": [{ "name": "verified-email", "weight": 20, "score": 1, "maxWeight": 20, "description": "Email is verified" },{ "name": "company-identified", "weight": 15, "score": 1, "maxWeight": 15, "description": "Company name and domain known" }],"scoredAt": "2026-03-01T20:00:00.000Z"}
How much does it cost to score lead enrichment confidence?
This actor uses pay-per-event pricing:
| Event | Price | Description |
|---|---|---|
| Actor start | $0.035 | Charged once per run |
| Lead scored | $0.001 | Charged per lead scored |
Example costs:
- 10 leads: $0.035 + (10 x $0.001) = $0.045
- 100 leads: $0.035 + (100 x $0.001) = $0.135
- 1,000 leads: $0.035 + (1,000 x $0.001) = $1.035
How to score lead enrichment confidence
- Go to the Lead Enrichment Confidence Scorer page on Apify Store.
- Click Try for free to open the actor configuration.
- Add your enriched lead data as an array of JSON objects with company, contact, and enrichment fields.
- Optionally set a minimum confidence threshold to filter low-quality leads.
- Click Start and wait for the run to finish.
- Review the results — each lead shows a confidence score (0-100), signal breakdown, and recommended actions.
- Download your data as JSON, CSV, or Excel, or connect via the Apify API.
Using the Apify API
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~lead-enrichment-confidence-scorer/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"leads": [{"companyName": "Stripe", "domain": "stripe.com", "contactName": "Jane Smith", "email": "jane@stripe.com", "emailStatus": "verified"}], "minConfidence": 0}'
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/lead-enrichment-confidence-scorer').call({leads: [{companyName: 'Stripe',domain: 'stripe.com',contactName: 'Jane Smith',email: 'jane@stripe.com',emailStatus: 'verified',sources: ['linkedin', 'crunchbase'],sourceCount: 2,},],minConfidence: 0,includeDebugWeights: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => {console.log(`${item.leadId}: ${item.confidenceScore}/100 (${item.confidenceLevel})`);console.log(` Actions: ${item.recommendedActions.join(', ')}`);});
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("automation-lab/lead-enrichment-confidence-scorer").call(run_input={"leads": [{"companyName": "Stripe","domain": "stripe.com","contactName": "Jane Smith","email": "jane@stripe.com","emailStatus": "verified","sources": ["linkedin", "crunchbase"],"sourceCount": 2,},],"minConfidence": 50,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['leadId']}: {item['confidenceScore']}/100 ({item['confidenceLevel']})")
Use with Claude AI (MCP)
You can connect Lead Enrichment Confidence Scorer to Claude AI as an MCP tool, enabling Claude to score lead data quality during conversations.
Setup
Add the Apify MCP server using the Claude CLI:
$claude mcp add apify-lead-scorer -- npx -y @anthropic-ai/apify-mcp-server@latest automation-lab/lead-enrichment-confidence-scorer
Or add it to your Claude Desktop config (claude_desktop_config.json):
{"mcpServers": {"apify-lead-confidence-scorer": {"command": "npx","args": ["-y", "@anthropic-ai/apify-mcp-server@latest", "automation-lab/lead-enrichment-confidence-scorer"],"env": { "APIFY_TOKEN": "YOUR_TOKEN" }}}}
Example prompts for Claude
- "Score the confidence of these enriched leads"
- "Rate data quality for this lead dataset and tell me which leads need more enrichment"
- "Which of these 50 leads are ready for outreach vs need more data?"
Integrations
- Multi-Source Lead Enrichment — Chain: enrich leads first, then score confidence
- Google Sheets — Export scored leads to spreadsheets for team review
- Webhooks — Trigger alerts when high-confidence leads are found
- Zapier / Make — Route leads to different CRM pipelines based on confidence level
Tips and best practices
- Use
minConfidence: 50to filter out leads that need too much work before outreach - The
debugWeightsarray shows exactly how each signal contributed to the score - Chain with Multi-Source Lead Enrichment: run enrichment first, then pipe the output here
- Use the
recommendedActionsto build enrichment task lists for your data team - Leads scoring 85+ are ready for direct outreach without further enrichment
FAQ
All my leads score very low even though they have good data.
Check that your lead objects use the expected field names. The scorer looks for specific fields like companyName, domain, contactName, email, emailStatus, sources, sourceCount, industry, phone, linkedinUrl, location, and companySize. Misnamed fields will not be detected.
The minConfidence filter returns no results.
If all your leads score below the threshold, the dataset will be empty. Start with minConfidence: 0 to see all scores, then adjust the threshold based on your data.
Compliance
This actor performs pure data processing on user-provided input. No external APIs are called. No web scraping is performed. All data stays within the Apify platform.
Other lead generation tools
- Email Enrichment — Enrich and verify email addresses in bulk
- Email Finder — Find email addresses for any company or domain
- Google Maps Lead Finder — Find businesses and leads on Google Maps
- Multi-Source Lead Enrichment — Enrich leads from multiple data sources
- Website Contact Finder — Extract contact details from company websites
