Limited Time — Lifetime Access for just $99. Lock in before prices rise.

UScraper
Tutorials

How to Scrape Google Maps Listings by Keyword to CSV

Scrape Google Maps listings by keyword. Export names, ratings, addresses, phones, websites, status and place URLs to CSV in UScraper's desktop app.

UScraper
June 23, 2026
8 min read
#how to scrape google maps#google maps listings scraper#scrape google maps by keyword#data scraper google maps#google maps api scraper#extract data google maps#google maps keyword search#crawl google maps data#places api vs scraping#local desktop app
How to Scrape Google Maps Listings by Keyword to CSV

This tutorial shows how to scrape Google Maps listings by keyword into CSV with the Google Maps Listings Scraper by Keywords template for UScraper. You will edit keyword/location URLs, set the export path, run the bounded scroll workflow, validate rows, and decide when the official Places API is the better route.

Before you start

Prerequisites and policy checks

You need UScraper as a local desktop app, the Google Maps Listings Scraper by Keywords template, a CSV folder, and approved keyword/location searches. Start with one narrow query before adding a city or category list.

Before automation, review Google's Maps Platform terms, Places API policies, and Text Search documentation. These rules matter if you store, display, enrich, or redistribute Google-sourced place data.

Technical access is not permission. Do not bypass CAPTCHA, verification screens, login walls, or access controls. Keep batches modest and document the query.


Workflow anatomy

What the Google Maps listings scraper does

The template JSON is the authoritative workflow definition. In plain English, the graph is:

Set Window Size -> Navigate -> Wait for Page Load -> Wait for Feed Cards
-> Inject Scroll and Collect JavaScript -> Wait for Buffered Rows
-> Structured Export -> Loop Continue -> End

Navigate starts with a normal Google Maps search URL. The JavaScript block finds the results feed, scrolls it in bounded passes, stores each visible listing card in a hidden export buffer, and stops when the end marker appears or scrolling stabilizes. Structured Export reads that buffer into fixed CSV columns.

Export fieldWhat it capturesValidation check
keywordKeyword and location from the Maps search URLDoes it match the query?
nameBusiness or place nameCompare with visible card names.
rating, review_countStar rating and review count when exposedExpect blanks for sparse cards.
category, price_range, tagsVisible category, price, and labelsRemove irrelevant navigation text.
address, latitude, longitudeAddress and coordinates from detail URLsSpot-check detail URLs.
current_status, next_statusOpen/closed and next open/close textTreat as time-sensitive.
website, telephone, detail_urlWebsite, phone, and Maps listing URLVerify before outreach.

Runbook

How to scrape Google Maps listings by keyword

1

Import the template

Open Google Maps Listings Scraper by Keywords, download the JSON, and import it.

2

Edit keyword URLs

In Navigate, replace the default Maps URL with approved searches such as dentist in austin. Add more URLs after one query validates.

3

Keep the feed waits

Leave the page-load and visible-card waits in place. Increase waits if Maps loads slowly or the buffer stays empty.

4

Set the export path

Structured Export writes google-maps-scraper-listing-page-by-keyword.csv with headers and append mode. Use a project folder.

5

Run and inspect

Run one query, then compare CSV names, ratings, addresses, phones, websites, and detail URLs with the browser.

6

Archive the run context

Save the query, run date, CSV filename, region, language, and selector edits with the export.

Because append mode is enabled, clear old test files or use dated filenames before a production run.


API choice

Places API vs scraping Google Maps results

The official Places API Text Search is the right comparison point for keyword-based place discovery. Its REST method, places.searchText, accepts a text query such as a category and location, then returns matching places according to requested fields and filters.

ApproachBest fitTrade-off
UScraper local desktop workflowSupervised spreadsheet research, visible browser QA, one-off lead lists, local auditsYou maintain waits and selectors when Maps changes.
Places API Text SearchApproved API access, documented billing, field masks, attribution rules, production appsRequires API key management, billing, and policy compliance.
Hosted scraper platformsCloud scheduling, managed browser infrastructure, API-triggered datasetsData custody, pricing, and behavior depend on the vendor.

If you use the official API, read Google's field mask guidance before requesting broad fields. For richer records after discovery, compare the export with the Place Details documentation.


Quality control

Validate the Google Maps CSV export

Open the CSV after the first run. Check the first five rows, one middle row, and the last row. Sort by detail_url for repeats, then filter blank telephone and website cells.

SymptomLikely causeFix
Zero rowsFeed did not load, consent blocked the page, verification appeared, or selectors changedInspect the browser, resolve prompts, increase waits, and rerun one query.
Missing phones or websitesGoogle Maps did not expose those values on the listing cardTreat fields as optional and enrich only from permitted sources.
Duplicate rowsOld append-mode CSV, repeated URL, or cards revisited during scrollingClear the file before reruns and dedupe by detail_url plus name.
Stale open statusStatus is captured at run timeKeep scraped_at and rerun when timing matters.

FAQ

Google Maps keyword scraping FAQ

Google Maps can show public business information, but automated collection may still be restricted by Google terms, source controls, privacy law, database rights, and local data-use rules. Keep runs modest and avoid bypassing access controls.


Next step

Download the Google Maps listings scraper by keywords

Download the JSON from Google Maps Listings Scraper by Keywords, import it into UScraper, and keep this guide open for the first validation run. For adjacent workflows, browse the UScraper template library or more tutorials in the UScraper blog.

FAQ

Frequently asked questions

Here are some of our most common questions. Can't find what you're looking for?

View All FAQs

Stop writing scripts. Start scraping visually.

Download UScraper and build your first web scraper in under 10 minutes. No subscriptions, no code, no limits.

Available on Windows 10+ and macOS 12+ · Need help? [email protected]