Google Maps Data Cleaning & Duplicate Audit avatar

Google Maps Data Cleaning & Duplicate Audit

Pricing

from $20.00 / 1,000 maps dataset qa reports

Go to Apify Store
Google Maps Data Cleaning & Duplicate Audit

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

Practical AI Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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) from social (a website that is only a Facebook/Instagram/etc. page) and own.
  • 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.csv in 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

FieldDescription
recordsJSON array of business objects.
recordsJsonThe same, as pasted text. An object with an items array also works.
sourceDatasetIdOptional dataset ID from your own Apify account (used only when no records are supplied).
onlyMissingWebsiteOnly list businesses without a usable website.
includeBusinessRowsPush 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_summary and segment_summary: businesses, missing website count and %, average rating, median reviews, completeness.
  • business: normalized, deduplicated records (with missingWebsite, 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