This tutorial shows how to scrape Google Maps reviews from place URLs into CSV with the Google Maps Reviews Scraper template for UScraper. You will import the workflow, replace the sample Maps URLs, set the export path, validate the first rows, and handle the common cases that make review feeds return partial data.
Before you start
Prerequisites and policy checks
You need UScraper installed as a local desktop app, a short list of Google Maps place URLs you are allowed to process, and a folder where CSV exports can be written. Start with one or two locations. Google Maps pages can vary by country, language, consent state, login state, review volume, and the exact surface Google decides to render in your browser session.
This guide is for supervised exports from pages you can inspect in a normal browser. It is not a guide to bypass CAPTCHA, sign-in walls, blocked sessions, private account pages, or access controls. Review Google's current terms and your own data-use obligations before collecting review text, reviewer profile links, owner replies, or any dataset that could be reused outside internal analysis.
Technical visibility is not the same thing as permission. Keep volume modest, document why you are collecting the data, and stop when Google asks for manual verification.
Workflow anatomy
What the Google Maps reviews scraper does
The template is built around known place URLs. It does not search Maps for a keyword first. Instead, the Navigate block stores one or more Google Maps place or search URLs, then the workflow waits for the page shell, handles common consent buttons, opens the Reviews tab or panel, expands "More" text, scrolls the review feed, waits for at least one review row, and runs Structured Export.
That design is useful when you already know the restaurants, clinics, stores, hotels, branches, or competitors you want to monitor. It keeps each exported review tied to place_name and place_url, so analysts can group rows after combining many locations into one file.
The JSON workflow is the source of truth. In the current export, the important blocks are Navigate, Wait for Page Load, three Inject JavaScript interaction steps, Wait for Element, Structured Export, and Loop Continue. The Structured Export step writes headers and appends every loaded review row to the same CSV.
google-maps-reviews-scraper.csvColumn
place_name
Place name from the current Google Maps page heading.
Column
place_url
Source URL captured with every review row.
Column
reviewer_name
Reviewer display name from the loaded row.
Column
reviewer_profile_url
Contributor profile link when Google exposes one.
Column
rating
Star rating parsed from accessible labels.
Column
review_date
Visible review date text, often relative.
Column
review_text
Expanded review body after the workflow clicks visible More controls.
Column
likes
Visible like or thumbs-up count when present.
Column
owner_reply_text
Owner or manager response text detected in the review row.
Column
review_id
Review row identifier when exposed in the DOM.
API context
Google Maps reviews API vs browser export
People search for google maps reviews api and google review scraper because they often need more than a rating summary. The official routes are useful, but they are not the same problem as exporting visible competitor review feeds.
| Option | Best fit | Practical limitation |
|---|---|---|
| Maps JavaScript Place Reviews | Displaying place review data inside a Maps-powered web experience | Built for app display, not bulk CSV research. |
| Places API Place Details | Fetching sanctioned place fields by place ID | Requires Google Cloud setup, billing, field masks, and API-specific response limits. |
| Business Profile reviews.list | Managing reviews for verified locations you own or administer | Not a competitor review export endpoint. |
| UScraper local template | Analyst-led CSV exports from browser-visible place review pages | Best-effort selectors and feed loading must be validated before scale runs. |
If you control the business locations and need sanctioned review management, start with Business Profile APIs. If you need a no-code research file for selected public Maps pages, the UScraper template gives you an inspectable browser run and a local CSV without writing a Python scraper.
Runbook
How to scrape Google Maps reviews to CSV
Import the template
Open Google Maps Reviews Scraper, download the JSON, and import it into UScraper.
Replace the sample URLs
In Navigate, replace the bundled Googleplex and Eiffel Tower examples with the Google Maps place URLs you want to audit. Keep one URL per input.
Confirm browser access
Run one URL and watch the browser. If Google shows consent, login, language, region, or verification UI, resolve it manually before trusting the export.
Set the CSV destination
In Structured Export, confirm google-maps-reviews-scraper.csv, headers, append mode, and a project-specific save folder.
Validate before scaling
Run one place, compare several exported rows against the visible Reviews panel, then let Loop Continue process the rest of your URL list.
Because the workflow appends rows, rerunning the same input can duplicate reviews. For test runs, rename or delete the previous CSV before rerunning. For recurring monitoring, keep a run log with URL list, run date, output filename, browser profile, locale, and any selector edits.
Validation
Validate the Google reviews to CSV export
Do not treat the first non-empty CSV as finished data. Google Maps review panels use lazy loading and virtualization, so the browser can show only part of a long review history at any moment. Open the CSV beside the browser and spot-check rows from the beginning, middle, and end of the export.
| Symptom | Likely cause | Fix |
|---|---|---|
| Zero rows | Reviews tab did not open, a consent screen blocked the page, or selectors changed | Resolve prompts, open the panel manually once, and rerun one URL. |
| Only a few reviews | Feed stopped loading, Maps throttled the session, or reviews are virtualized | Increase waits, reduce batch size, and compare against the visible panel. |
Blank review_text | Text was collapsed or the row contains only a rating | Rerun with the expand step intact and verify "More" controls are clickable. |
Missing owner_reply_text | Google changed the reply container or the business has no visible response | Treat owner replies as optional and update selectors only after confirming the reply exists. |
| Duplicate rows | Append mode reran the same place URL | Dedupe by place_url, reviewer_name, review_date, rating, and review_text. |
| Wrong language or relative dates | Browser locale or regional Maps surface changed | Use one browser profile and record the locale in your run log. |
Alternatives
UScraper vs Python, hosted scrapers, and no-code cloud tools
A google reviews scraper python project gives developers full control over Playwright, Selenium, Crawlee, proxies, retries, and parsing. That control is useful for engineering teams, but the maintenance burden is real: review feeds scroll dynamically, buttons change labels, selectors drift, and compliance decisions still sit outside the code.
Hosted tools and scraper APIs can be better when you need managed infrastructure, scheduled cloud runs, or programmatic delivery. The trade-off is vendor data custody, usage pricing, and less visibility into the browser state that produced a row. UScraper fits the middle ground: analyst-friendly, no-code, local desktop execution, visible browser QA, and CSV output you can inspect immediately.
If you are comparing the best Google reviews scraper for a one-off reputation audit, rank options by custody and validation first. If you are building a production review product, rank official API fit, contracts, and long-term maintenance first.
FAQ
Google Maps review scraping FAQ
Google Maps reviews may be publicly visible, but automated collection can still be limited by Google terms, robots controls, copyright, privacy law, platform policy, and how you reuse the data. Use conservative pacing, avoid bypassing access controls, and get legal review before publishing, reselling, contacting reviewers, or training models on exported reviews.
Next step
Download the workflow and run a validation set
Use the Google Maps Reviews Scraper template as the download path, then run one place URL before adding a full batch. For adjacent workflows, browse the full UScraper template library, compare related export guides on the UScraper blog, or pair this with a place discovery template before review collection.

