Domain List Cleaner — Normalize & Dedupe URLs
Pricing
from $1.00 / 1,000 clean domains
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
Maintained by CommunityActor 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:
- Accepts domains, full URLs, or mixed spreadsheet junk
- Normalizes hosts (
HTTPS,www, paths, query strings) - Optionally collapses subdomains to the main site
- Drops social/platform hosts and free-email domains
- Dedupes → one row per domain
Pair it with Website Contact Finder (or any contact scraper) for the full enrichment pipeline.
What does it fix?
| Before | After |
|---|---|
https://www.Example.com/about?ref=1 | example.com |
EXAMPLE.COM | example.com |
blog.shop.acme.co.uk/post | acme.co.uk (if subdomains off) |
facebook.com/brand | dropped (social filter) |
john@gmail.com | dropped (free email host) |
| duplicates of the same site | one 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://domainURLs 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
- Create a free Apify account
- Open Domain List Cleaner
- Paste domains into the list or the raw text box
- Click Start
- Download the kept domains as CSV/JSON, or pipe them into Website Contact Finder
Recommended pipeline (Google Maps → contacts)
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 business3) 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
- Run any Google Maps scraper (or directory export).
- Copy the website column (or export CSV).
- Paste into Domain List Cleaner → Start.
- Take the cleaned
urlcolumn → feed Website Contact FinderstartUrls. - Download contacts as CSV for CRM / outreach.
Input
| Field | Description |
|---|---|
| Domains / URLs | Array of strings or objects with url / domain / website |
| Raw text | Optional paste block (newlines, commas, spaces) |
| Keep subdomains | Default off → blog.example.com becomes example.com |
| Strip www. | Default on |
| Drop social hosts | Default on (Facebook, LinkedIn, X, YouTube, …) |
| Drop free email hosts | Default on (gmail, outlook, …) |
| Output as https URL | Default on |
| Also list rejected | Default 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:
| Event | Price |
|---|---|
| Clean domain (one kept dataset row) | $0.001 → $1.00 / 1,000 |
| Actor start | $0 (included) |
| Platform usage | Included 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