Google Maps Data Cleaning & Duplicate Audit
Pricing
from $20.00 / 1,000 maps dataset qa reports
Google Maps Data Cleaning & Duplicate Audit
Clean business-location exports by finding duplicates, missing websites and incomplete listing fields. For Location-data, GIS and CRM data quality teams. Check the live Pricing tab and input limits.
Pricing
from $20.00 / 1,000 maps dataset qa reports
Rating
0.0
(0)
Developer
Practical AI Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
An analytics and QA companion for Google Maps business datasets you already have. It does not scrape Google Maps, contact Google, or make any external request. It also does not collect, guess or export personal information (no emails, phone numbers or owner names).
Built by PAL (Practical AI Lab).
What it does
- Deduplicates by place ID, by name + rounded coordinates (about 10 m), and by name + address. Records linked by any of these are merged and the most complete record is kept.
- Flags missing websites. It separates
missing/invalid(counted as missing) fromsocial(a website that is only a Facebook/Instagram/etc. page) andown. - Segments by category and by location (city, state, country code).
- Scores completeness (0-100) per business and lists the missing fields.
- Produces CSV-ready records (
businesses.csvin the key-value store). Cells starting with=,+,-or@are escaped to avoid spreadsheet formula injection.
Try the ready-to-run sample
The Input form is prefilled with 4 fictional, synthetic demonstration records. Click Start to see the report without scraping Google Maps, purchasing a dataset, or providing an Apify dataset ID. Change the input to your own legally obtained dataset for real analysis. Example data is not a real customer or source.
Input
| Field | Description |
|---|---|
records | JSON array of business objects. |
recordsJson | The same, as pasted text. An object with an items array also works. |
sourceDatasetId | Optional dataset ID from your own Apify account (used only when no records are supplied). |
onlyMissingWebsite | Only list businesses without a usable website. |
includeBusinessRows | Push one row per unique business (default true). |
Recognized fields (the first match wins): placeId/place_id/cid, title/name, categoryName/category, address, city, state, countryCode, website, location.lat/location.lng (or latitude/longitude), totalScore/rating, reviewsCount, permanentlyClosed, temporarilyClosed. Up to 50,000 records per run.
Output
The default dataset holds rows distinguished by recordType:
summary: totals, duplicates removed, missing-website share, average completeness.category_summaryandsegment_summary: businesses, missing website count and %, average rating, median reviews, completeness.business: normalized, deduplicated records (withmissingWebsite,websiteStatus,completenessScore,missingFields,duplicateCount).error: invalid input. Error rows are never charged.
Key-value store: SUMMARY, OUTPUT, businesses.csv.
Pricing event
Pricing is not configured yet. The planned event name is maps-dataset-qa-report, charged once per successful report. Failed runs and error rows are not charged.
Limits
Analysis is only as good as the input. Address-derived cities are not guessed; the city field must be present to segment by city. Social-only detection uses a fixed host list.
Local tests
python3 -m unittest discover -s tests