Domain List Cleaner — Normalize & Dedupe URLs avatar

Domain List Cleaner — Normalize & Dedupe URLs

Pricing

from $1.00 / 1,000 clean domains

Go to Apify Store
Domain List Cleaner — Normalize & Dedupe URLs

Domain List Cleaner — Normalize & Dedupe URLs

Clean messy domain and URL lists: normalize, strip paths, remove social-only hosts, dedupe. Perfect prep step before contact enrichment.

Pricing

from $1.00 / 1,000 clean domains

Rating

5.0

(1)

Developer

ng. night

ng. night

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Turn messy domain and URL lists into a clean, deduplicated set of company websites — ready for contact enrichment, CRM import, or crawlers.

Paste raw exports from Google Maps, directories, spreadsheets, or CRM → get one clean domain per company.

What is Domain List Cleaner?

Domain List Cleaner is a lightweight lead-gen prep Actor on Apify Store. It does not scrape the web. It only cleans your list:

  1. Accepts domains, full URLs, or mixed spreadsheet junk
  2. Normalizes hosts (HTTPS, www, paths, query strings)
  3. Optionally collapses subdomains to the main site
  4. Drops social/platform hosts and free-email domains
  5. Dedupes → one row per domain

Pair it with Website Contact Finder (or any contact scraper) for the full enrichment pipeline.

What does it fix?

BeforeAfter
https://www.Example.com/about?ref=1example.com
EXAMPLE.COMexample.com
blog.shop.acme.co.uk/postacme.co.uk (if subdomains off)
facebook.com/branddropped (social filter)
john@gmail.comdropped (free email host)
duplicates of the same siteone row

Why use this Actor?

  • 🧹 Clean inputs = better enrichment — scrapers waste money on Facebook URLs and junk
  • Instant & cheap — pure CPU, no browser, no proxy needed
  • 🔗 Pipeline-ready — output https://domain URLs you can feed straight into a contact scraper
  • 📦 One domain per row — easy CSV / API handoff
  • 🛡️ Filters noise — social hosts, free email providers, IPs, invalid strings

How to use

  1. Create a free Apify account
  2. Open Domain List Cleaner
  3. Paste domains into the list or the raw text box
  4. Click Start
  5. Download the kept domains as CSV/JSON, or pipe them into Website Contact Finder
1) Google Maps / Places scraper
→ place websites (often messy: facebook, paths, dupes)
2) Domain List Cleaner ← you are here
→ one clean https://company.com per business
3) Website Contact Finder
→ emails, phones, socials

One-click alternative: use Maps to Contacts to clean + extract contacts in a single run.

Step-by-step with separate Actors

  1. Run any Google Maps scraper (or directory export).
  2. Copy the website column (or export CSV).
  3. Paste into Domain List Cleaner → Start.
  4. Take the cleaned url column → feed Website Contact Finder startUrls.
  5. Download contacts as CSV for CRM / outreach.

Input

FieldDescription
Domains / URLsArray of strings or objects with url / domain / website
Raw textOptional paste block (newlines, commas, spaces)
Keep subdomainsDefault off → blog.example.com becomes example.com
Strip www.Default on
Drop social hostsDefault on (Facebook, LinkedIn, X, YouTube, …)
Drop free email hostsDefault on (gmail, outlook, …)
Output as https URLDefault on
Also list rejectedDefault off — turn on to debug filtered rows

Example input

{
"domains": [
"https://www.Example.com/about?ref=1",
"EXAMPLE.COM",
"facebook.com/somepage",
"https://shop.acme.co.uk/products"
],
"keepSubdomains": false,
"stripWww": true,
"dropSocialHosts": true,
"toHttpsUrl": true
}

Output

Each kept domain becomes one dataset item:

{
"domain": "example.com",
"url": "https://example.com",
"original": "https://www.Example.com/about?ref=1",
"status": "kept",
"reason": "ok",
"cleanedAt": "2026-07-28T12:00:00.000Z"
}

A summary is also saved to the key-value store as OUTPUT (counts + reject reasons).

Who is this for?

  • Sales / SDR teams cleaning exports before enrichment
  • Agencies standardizing client lead lists
  • Anyone chaining Maps → websites → contact scrapers

How much does it cost?

Pay-per-event pricing:

EventPrice
Clean domain (one kept dataset row)$0.001$1.00 / 1,000
Actor start$0 (included)
Platform usageIncluded for users

Example: clean 1,000 messy URLs → about $1 if all are kept (rejected rows are never charged).

Always check the Pricing tab for live rates on your plan.

FAQ

Does this scrape websites?

No. It only normalizes and filters the list you provide. No HTTP requests to target sites.

Can I feed Google Maps results?

Yes. Map your website field into domains, or paste a column of URLs into raw text.

How do I connect to Website Contact Finder?

Export cleaned url values, or use Apify integrations / API to pass the dataset into Website Contact Finder.

Will it keep country domains like .co.uk?

Yes — multi-part suffixes such as co.uk, com.au, com.hk are handled with best-effort registrable-domain logic.

Limitations

  • Public-suffix list is a practical subset (not the full Mozilla PSL)
  • Internationalized domains (punycode) work best when already ASCII/xn--
  • Does not verify that a domain resolves or has a website

Feedback & support

Open an issue on the Actor Issues tab. Related Actor: Website Contact Finder for emails, phones, and socials.


Keywords: domain cleaner, URL normalizer, dedupe domains, lead list cleaner, website list cleaner, domain deduplication, prep for email scraper, CRM domain cleanup