Lead List QA Report
Pricing
from $3.90 / 1,000 lead record checkeds
Lead List QA Report
Audit lead lists for duplicates, missing domains, invalid contact fields, and delivery readiness without enrichment.
Pricing
from $3.90 / 1,000 lead record checkeds
Rating
0.0
(0)
Developer
junipr
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Audit supplied lead records for delivery readiness without enriching, guessing, or replacing buyer data.
Lead List QA Report is designed for sales operations, CRM administrators, data vendors, agencies, and analysts validating a lead delivery. It processes only the bounded inputs you provide, produces deterministic dataset rows, and writes optional JSON and Markdown reports. Empty, blocked, or malformed sources are represented as diagnostics rather than successful invented data.
Common Uses
- Find duplicate email addresses before CRM import.
- Normalize domains enough to compare www and non-www identities.
- Flag malformed email addresses and phone values.
- Produce a field-level QA report before a list is handed to a client or automation.
How The Analysis Works
- Every lead is checked once, and every detected defect becomes a separate issue row.
- Domains are normalized to hostnames; emails are lowercased; phones are reduced to digits for validation and duplicate comparison.
- Duplicate email and duplicate company-domain identities are detected across the complete bounded source list.
- A lead is ready only when its domain and contact path pass the configured checks and no duplicate identity is found.
The actor processes source groups in order. It stops before another paid row when the run's event charge limit is reached. Rows already charged and written remain available, and the summary marks the run as truncated. Source-access diagnostics do not pretend that an audit or analysis succeeded.
Input
records: company, domain/website, email, phone, and optional record ID fields.csvText: a quoted CSV with one lead per row.sourceUrl: a public JSON or CSV file when fetchUrls is explicitly enabled.maxItems caps lead records per source and maxTargets caps independent source lists.fetchUrlsdefaults tofalse. Set it totrueonly for public HTTP(S) sources.fetchTimeoutMsis bounded between 1,000 and 30,000 milliseconds.maxTextByteslimits each fetched response to at most 1,000,000 bytes.includeReportcontrols the charged JSON and Markdown report artifacts.dryRunvalidates the input shape without paid dataset output.
Direct top-level source fields are useful for one source group. Use targets for multiple independent groups. Public URL retrieval rejects embedded credentials, redirects, localhost, private and reserved network ranges, DNS answers that resolve privately, oversized responses, and requests that exceed the timeout.
Example Input
{"targets": [{"sourceId": "fixture-lead-list","records": [{"company": "Acme Roofing","domain": "acmeroofing.example","email": "sales@acmeroofing.example","phone": "(615) 555-0199"},{"company": "Acme Roofing","domain": "www.acmeroofing.example","email": "sales@acmeroofing.example","phone": "6155550199"},{"company": "No Domain Co","domain": "","email": "bad-email","phone": ""}]}],"maxTargets": 1,"maxItems": 25,"includeReport": true,"fetchUrls": false}
Dataset Output
- qaIssueType identifies ready, missing, invalid, contact, or duplicate decisions.
- fieldName and fieldValue show the exact supplied field involved.
- recordId keeps multiple issue rows tied to the same lead.
- The summary separates clean records, records with issues, and total findings.
Every row also includes a stable rowId, sourceId, optional sourceUrl, sourceType, status, severity, score, summary, recommendation, timestamp, pricing tier, and the event name associated with that row. The dataset schema is strict, so examples and runtime rows use the same field set.
Example Output
[{"rowId": "lead-list-qa-report_5803351abd60c4f8","sourceId": "fixture-lead-list","sourceUrl": null,"sourceType": "inline-records","status": "attention","severity": "medium","score": 70,"summary": "Acme Roofing: duplicate email.","recommendation": "Merge or review rows sharing this normalized email address.","checkedAt": "2026-07-02T00:00:00.000Z","pricingTemplate": "U2 — Data/schema QA utility","pricingEventName": "issue-detected","recordId": "record-1","company": "Acme Roofing","domain": "acmeroofing.example","qaIssueType": "duplicate-email","fieldName": "email","fieldValue": "sales@acmeroofing.example"},{"rowId": "lead-list-qa-report_863f1a117b6fa3fb","sourceId": "fixture-lead-list","sourceUrl": null,"sourceType": "inline-records","status": "attention","severity": "medium","score": 70,"summary": "Acme Roofing: duplicate company domain.","recommendation": "Keep one canonical row for this company and domain.","checkedAt": "2026-07-02T00:00:00.000Z","pricingTemplate": "U2 — Data/schema QA utility","pricingEventName": "issue-detected","recordId": "record-1","company": "Acme Roofing","domain": "acmeroofing.example","qaIssueType": "duplicate-company-domain","fieldName": "company,domain","fieldValue": "Acme Roofing | acmeroofing.example"}]
Report Artifacts
When includeReport is enabled and report charges succeed, the default key-value store receives:
LEAD_LIST_QA_REPORT_RESULTS.jsonwith the charged dataset rows.LEAD_LIST_QA_REPORT_SUMMARY.jsonwith counts, truncation state, and the run recommendation.LEAD_LIST_QA_REPORT_REPORT.mdwith a buyer-readable report.
The dataset remains the row-level source of truth. The summary and Markdown report are derived from rows that were actually emitted; they do not include rows stopped by a charge limit.
Pay Per Event
This actor uses pay-per-event pricing. The configured event prices include platform usage, and the default maximum charge is $5.00. The actor charges before paid output and rejects partial charges.
actor-start: $0.00500 per event. Charged before paid dataset output or the corresponding paid unit is emitted.lead-record-checked: $0.00390 per event. Charged before paid dataset output or the corresponding paid unit is emitted.issue-detected: $0.00372 per event. Charged before paid dataset output or the corresponding paid unit is emitted.qa-report-generated: $0.05000 per event. Charged before writing the buyer-ready report artifacts to key-value storage.
Discounted Store tiers are represented in the pricing metadata. Review the run's cost estimate and caps before increasing source counts. URL retrieval, proxy use, or external services are not silently enabled by the actor.
Public Tasks
- QA rows for Lead List QA Report: Check a capped lead list for invalid domains, malformed contacts, and duplicate identities.
- Validate data quality for Lead List QA Report: Validate company, domain, email, and phone fields without enriching or changing the source rows.
- Generate a schema/quality report for Lead List QA Report: Produce issue rows, clean-row counts, duplicate counts, and a delivery recommendation.
- Find duplicate lead identities before CRM import: Normalize domains, emails, and phones to identify repeated lead records.
- Check lead contact readiness without enrichment: Flag missing or invalid contact paths while preserving the supplied values.
Each task uses a small explicit input and sets a maximum item count. URL-based tasks enable fetching only where fetching is necessary to demonstrate the actor's purpose; inline tasks remain deterministic and network-free.
Reading Results
Start with blocked or high-severity rows, then review attention or warning rows. Confirm the evidence and recommendation against your operating policy before making bulk changes. A pass means the supplied source satisfied the configured check; it is not a guarantee about data or behavior outside the source and rules evaluated in that run.
For repeated workflows, keep source IDs stable. Stable IDs make it easier to compare exports, trace a report row to the original input, and identify whether a change came from source data or configuration. Keep caps low while testing a new data shape, then increase them only after confirming row counts and expected event costs.
Data Handling And Safety
Use public or authorized source material. Do not provide credentials in URLs. The actor does not attempt to bypass authentication, anti-bot controls, access restrictions, or private networks. Fetched bodies are held only for the run's bounded analysis. Dataset and report outputs may contain excerpts or field values from the supplied source, so avoid submitting secrets or personal data that should not appear in Apify storage.
Limitations
- The actor does not verify mailbox existence, place calls, enrich companies, or purchase contact data.
- Domain syntax validation does not prove that a website is live.
- Phone validation checks digit length; it does not establish ownership or reachability.
- Duplicate detection is deterministic within the supplied source and is not a global identity graph.
FAQ
Does the actor invent missing values?
No. Missing values and unavailable sources become explicit gaps, mismatches, failures, or diagnostics.
Can I run it without network access?
Yes. Supply inline records, CSV, text, or HTML and leave fetchUrls disabled.
What happens at the charge limit?
The actor stops before the next paid output, preserves rows already written, and marks the summary as truncated. Optional report artifacts are written only when their report events are fully charged.
Should I treat every finding as an automatic change?
No. Findings are deterministic QA or analysis results based on supplied evidence. Review business context, source quality, and intentional exceptions before acting.