How to clean and deduplicate a lead list before outreach

Clean a working copy of the list, then match duplicates using a stable identifier and review uncertain matches before merging. Check the retained records and spreadsheet handling before importing the result into an outreach system.

In short

From the free lists on this site and the Apify Store listing, 2026-11-12.
Stable keysPlace ID, website domain or a normalised name and address
Common duplicatesThe same business listed with different punctuation or neighbourhood names
SafetyAvoid spreadsheet formula injection when exporting untrusted cells

Decide whether each row represents a business or a branch before removing duplicates. Keep the original file so that mistaken merges and deleted details can be recovered.

  1. Create a working copy of the original list.
  2. Import untrusted cells as text using controls that prevent formula evaluation. OWASP CSV injection guidance
  3. Trim leading and trailing whitespace from the working data.
  4. Remove fully blank rows.
  5. Merge confirmed duplicates using Place ID, website domain or a normalised name and address.
  6. Review the retained records before exporting them with formula injection protection suited to the destination. OWASP CSV injection guidance

Where this usually breaks

Exact name matching can miss punctuation and neighbourhood variations. Matching only by domain can also collapse branches that should remain separate, so use the row's intended meaning when reviewing matches.

Blank identifiers should not be treated as evidence that records match. Set unresolved rows aside rather than merging them automatically.

What to check before you use the list

Review ambiguous merges and confirm that useful details survived. Check the name, address and website domain against the intended business or branch.

For spreadsheet exports, check how the destination handles untrusted values. Quoting CSV cells alone is not a dependable defence against formula injection, and saving or reopening a file can affect protections. OWASP CSV injection guidance

Questions

Which identifier should I use for duplicate matching?

Use Place ID where available, or consider website domain or a normalised name and address. Choose a match rule that preserves separate branches when your list represents locations.

Should I delete rows with missing details?

Remove fully blank rows, but review partially complete records against your intended use. A missing website domain does not make an otherwise identifiable business a duplicate.

How should I resolve conflicting details?

Keep the conflicting records available while you verify the business. Retain the supported details rather than choosing a value solely because its row appeared first.

Why does formula injection matter in a lead list?

A spreadsheet can interpret untrusted cell content as a formula when opening a CSV. Use text handling and export protections appropriate to the receiving application rather than relying on CSV quotation alone. OWASP CSV injection guidance

Updated 2026-11-12

Run this

Website Contact Page Email & Phone Crawler. $0.99 per 1,000 + $0.10/GB start, plus Apify platform usage.

  1. Open Website Contact Page Email & Phone Crawler on the Apify Store and sign in or create a free account.
  2. Set Max Pages Per Site to the number of rows you want.
  3. Start it, then download the results as CSV or Excel from the run's Output tab.

Open on the Apify Store What this source returns