Google Maps leads cleaner: dedupe and fix a Maps scraper export
In short: Reads Outscraper, Apify, Instant Data Scraper and similar Maps CSVs by column name: removes repeated places (place ID, else name and address), puts phones in E.164, pulls the bare domain from each website, and flags closed places, no website, social or directory pages and chains. Limit: It reads what the scraper exported; it doesn't look anything up on Google Maps.
A Google Maps leads cleaner tidies a scraper export before outreach: it removes places listed twice, writes every phone in one format, pulls the domain out of each website URL, and flags closed businesses, chains and rows with no real website. Upload the CSV from Outscraper, Apify or Instant Data Scraper; the columns are found by name and it runs in your browser.
Price: this tool is free. Checking a whole email list is from $9/mo, and the first 100 checks are free with Google, no card. See pricing
Used for phone numbers written without a + country code.
Sample result
8 Maps rows: 1 repeat removed, 1 closed set aside, 3 chain branches and 1 Facebook-only listing flagged.
- Clean leads
- 6 of 8 kept
- Repeats
- 1
- Chains
- 3
What this means for you
Phones come out in E.164 and websites as bare domains, ready for the contact extractor and then verification.
- Outscraper, Apify, Instant Data Scraper
- Repeats removed by place ID
- Phones in E.164, domains pulled out
- Closed, chain, no-website flags
- place_id
- E.164
- CSV
By SimpleVerifier Team · Last updated · Runs in your browser; nothing you paste is sent to us
From Maps listings to contacts you can verify
- Download the domains list and paste it into the bulk website contact extractor for the emails and phones each site publishes.
- Upload the result at /verify: addresses get a live mailbox check and, with the phone add-on, numbers get a live line type and carrier.
- Chains share one domain; one good contact per chain is usually better than ten guesses.
How do I clean a Google Maps leads export?
- Export the results from your scraper as CSV with the header row (Outscraper, Apify Google Maps Scraper, Instant Data Scraper, PhantomBuster).
- Upload or paste it, pick the country for phones written without +, and choose what to set aside: closed places, no website, social pages only, chains.
- Press Clean the leads. Repeats are removed; every row gets phone_e164, domain and a flags column.
- Download the clean leads, the set-aside rows and a list of domains to feed the website contact extractor.
Example
- You enter
- An 8-row Outscraper-style export (name, full_address, phone, site, place_id, business_status) with one place listed twice, a dentist with no website, a cafe linking facebook.com, a permanently closed gym and a coffee chain at three addresses; chains at 3 or more addresses, closed set aside.
- You get
- 1 repeat removed, the closed gym set aside, 6 kept. Phones in E.164 (
+15125552671), domains pulled out (northwindplumbing.example,tailspin.example), and flags: no website (1), social or directory page (1), chain (3). Domains download as a list for the contact extractor. - Limits
- Runs in your browser with no row cap; an uploaded file can be up to 25 MB.
Why does a Maps export need cleaning?
Scrapers run one search per keyword and area, and the same business shows up in several of them, so a merged export repeats places. Phone numbers come in the local format Google shows, websites carry tracking parameters and location paths, and many listings link a Facebook or Instagram page instead of a website.
The cleaner reads the columns by name, whatever the tool called them (site, website, url; phone, phone_number; place_id, placeId, cid), so the same steps work for every scraper. Your other columns are kept as they were.
How are repeats and chains found?
A repeat is the same place ID, or, when there is no place ID, the same name at the same address (or phone). The first row is kept. A chain is one website domain or one business name at several different addresses; the threshold is yours (2, 3, 5 or 10 addresses).
Closed comes from the export's own status column, such as Outscraper's business_status of CLOSED_PERMANENTLY or Apify's permanentlyClosed and temporarilyClosed. Google's listing can lag behind a real closure, so open isn't a guarantee.
What gets flagged, and why it matters
| Flag | From | Why |
|---|---|---|
| Repeat | Place ID, else name + address | Two touches to one business |
| Closed | The export's status columns | Nobody to reach |
| No website | Empty website column | No domain to find an email on |
| Social or directory page | facebook.com, instagram.com, yelp.com, linktr.ee and similar | Not the business's own domain |
| Chain | One domain or name at several addresses | Head office decides, not the branch |
Who uses this tool, and for what?
- Local lead gen
- Merge several keyword and city scrapes into one list with no repeats before you pay to enrich it.
- Agencies
- Drop chains and closed places so a cold list for plumbers or dentists only holds independent, open businesses.
- Cold callers
- Get every number in E.164 for the dialer, with no-phone rows set aside.
What can’t this tool tell you?
- It reads what the scraper exported; it doesn't look anything up on Google Maps.
- Closed status is as fresh as the export; a listing can lag behind a real closure.
- Name-and-address repeats need the address written the same way; different spellings of one address are kept.
- Chain detection is a count of addresses per name or domain, so two unrelated businesses with one name can be marked.
Common questions
- Which scrapers does it work with?
- Any Maps export with a header row. Outscraper, Apify's Google Maps Scraper, Instant Data Scraper, PhantomBuster and Google Maps extractor extensions all name their columns in ways it recognises; the result lists the columns it read.
- Does it find emails?
- Maps listings rarely include one. The cleaner hands you the list of own-website domains; the bulk website contact extractor then reads each site for the emails and phones it publishes.
- Why are some phones blank in phone_e164?
- The number didn't fit the country's numbering plan: often a missing country code with the wrong default country selected, or a truncated number. The original stays in your column.
- Is my file uploaded?
- No. Everything runs in your browser.
Sources
A tidy list can still be full of dead addresses.
Extracting, deduplicating and syntax checks all work on the text of an address. None of them can tell whether the mailbox exists. Only the server that hosts it can answer that, through an SMTP check, and that is what the paid product does.
- Upload the cleaned file as it is: CSVs up to 100,000 rows
- A real SMTP mailbox check on every row, with catch-all detection
- Small list? Starter at $9/mo covers 2,500 emails a month, cancel anytime
Plans from $9 a month, cancel anytime, no contract. Sign in with Google and your first 100 email checks are free, no card. The free tools stay free either way.