
Lead List Deduplicator & Merger — Dedupe CSV Lists
Clean and merge lead lists: collapse duplicates by email, domain, or phone with smart normalization (gmail dots/+tags, www, phone formats) and merge each group into one complete row — with a report of what was merged. No silent drops.
Lead List Deduplicator & Merger — Dedupe CSV Lists returns 6 documented output fields, including _mergedFrom, _mergedFields, _noKey, status and message. Every field carries a declared type, a written description and an example value. 29 runs are recorded on Apify.
- 6
- Output fields
- 7
- Inputs
- 29
- Runs
- 2026-10-16
- Last run
01 — output
What it returns
Every field the extractor writes to its dataset, with its type, a written description and an example value.
| Field | Type | What it holds | Example |
|---|---|---|---|
| _mergedFrom | number | How many input rows were merged into this one. Added by this Actor, not present in the input. | 3 |
| _mergedFields | string | Which fields were filled in from a duplicate row. Added by this Actor, and null when nothing was filled. | |
| _noKey | boolean | Whether the row carried no deduplication key at all. Such a row cannot be merged, so it is passed through unchanged and marked here. | false |
| status | string | Outcome recorded for this row. | active |
| message | string | Human-readable note about this row or the run. | Add your API key to classify answers. No text was sent anywhere. |
| rowsReturned | number | How many rows the run returned. Zero on a blocked run, which is a real value and the entire point of such a record. | 0 |
02 — sample
One record
Assembled from the example values declared on the schema above, not invented at render time.
{
"_mergedFrom": 3,
"_mergedFields": "email",
"_noKey": false,
"status": "active",
"message": "Add your API key to classify answers. No text was sent anywhere.",
"rowsReturned": 0
}03 — input
What you give it
| Input | Type | Description |
|---|---|---|
| datasetId | stringoptional | An Apify dataset to clean (e.g. a lead-finder run's defaultDatasetId). |
| datasetIds | arrayoptional | Merge and dedupe across multiple datasets at once. |
| items | arrayoptional | Rows to deduplicate directly, if you have no dataset. |
| keyFields | arrayoptional | Fields that identify a duplicate. Common: email, website/domain, phone. Multiple fields = a row must match on ALL of them to be a duplicate. Email/domain/phone are normalized smartly. |
| mergeStrategy | stringoptional | How to combine duplicates: first (keep earliest non-empty value, fill gaps from others), last, or mostComplete (start from the fullest row). |
| dropRowsWithoutKey | booleanoptional | Off (default): rows lacking the match field are kept and flagged _noKey. On: they're dropped. |
| maxItems | integeroptional | Cap on unique rows returned. Leave empty to return all. |
04 — run
Run Lead List Deduplicator & Merger on your own input
It runs in the cloud on Apify. Nothing to install, and you are billed per result returned rather than per attempt.
05 — questions
Asked before running it
6 of 6 fields described
- What does Lead List Deduplicator & Merger — Dedupe CSV Lists return?
- It returns 6 documented output fields: _mergedFrom, _mergedFields, _noKey, status, message and rowsReturned. Each field declares its type, a description of what it holds, and an example value.
- What input does Lead List Deduplicator & Merger — Dedupe CSV Lists take?
- All 7 inputs are optional and ship with usable defaults, so it runs as-is. They are listed with their types below.
- Does Lead List Deduplicator & Merger — Dedupe CSV Lists need an API key or login?
- No. None of its inputs is a credential, and it reads only public data. Nothing to sign up for before the first run.
- How do I run Lead List Deduplicator & Merger — Dedupe CSV Lists?
- It runs on Apify. Start it from its listing with the inputs above, or call the Apify API with the Actor's ID. Results land in a dataset you can export as JSON, CSV or Excel, or read through the Apify API into your own pipeline.