How to Scrape Google Maps Reviews (and What the Data Is Actually Good For)
You can pull the reviews of a Google Maps business into one sheet, with reviewer name, star rating, review text, and date on each row. Scrapers page through the public feed to collect them. The Places API returns at most five reviews per place, so a full pull needs a scraper or the Business Profile API for locations you manage.
I first wanted a full review pull. A business with 400 reviews tells a different story in its first 20 reviews than in all 400. The first 20 show a mood. All 400 show whether complaints repeat, whether praise holds up over time, and whether a problem got fixed.
This post covers how that pull works, what fields come back, and what the data is good for. It also covers what you should not do with it. Reviews are words other people wrote, and that fact sets the limits for the whole workflow. Say you want to study dentists in Miami through their reviews. The steps below show what you can collect and where the line sits.
Can you pull every public review of a business?
Yes, for public reviews, with a scraper that pages through the feed. Google Maps shows reviews in batches as you scroll, and a scraper follows that same paging to collect each batch until the feed ends. A business with 5,000 reviews gives a long pull, because each batch loads in turn.
Official routes run narrower. Google Places API returns at most five reviews per place, which suits a quick display on a website and falls far short of research. Business Profile API lists all reviews for locations you manage, which suits an owner checking their own business and leaves competitors outside that route. A scraper fills the gap between those two routes by reading the public feed that any Maps visitor can scroll through.
One limit matters before you start. A scraper reads what Maps shows. It cannot recover a deleted review, and it cannot read a review that Maps never published. If a listing count says 412 and your pull returns 398 rows, the gap usually sits in removed or filtered reviews.
What fields come back in a review export?
A review export gives you one row per review, with the same core fields on every row. I check the header row first, because a missing date column ruins any trend work later. The table below is the field set I work from.
| Field | What it holds | How I use it |
|---|---|---|
| Business name | Name of the reviewed business | Groups rows across businesses in one file |
| Reviewer name | Public name shown with the review | Counts repeat reviewers, never contacted |
| Star rating | Rating from 1 to 5 | Sorts praise from complaints at a glance |
| Review text | Words the reviewer wrote | Source for complaint and praise themes |
| Review date | Date the review was posted | Shows change over time in a trend view |
| Owner reply | Reply from the business where present | Shows whether the business answers complaints |
| Review link | Link back to the review on Maps | One click check when a row needs a second look |
Rating, text, and date carry almost every insight in this post. A file with those three fields done right beats a file with 20 half filled columns.

A first pull that teaches you the file
Start with one business. A single business pull teaches you the field layout, the paging speed, and the date range in the data. A ten business pull on a first run teaches you confusion, because a fault in one pull hides inside nine clean ones.
- Open the Maps listing and note the review count shown on the page.
- Choose a scraper that pages the public review feed and exports to CSV or XLSX.
- Run the pull for that one business and wait for the feed to finish paging.
- Open the export and compare the row count with the listing count you noted.
- Sort by date and check that the oldest and newest reviews look right.
- Save the file with the business name and date in the name, then widen to more businesses.
That note answers the first question anyone asks about the file. A file with 398 rows for a listing that shows 412 reviews looks like a fault until you show the note. With the note, it reads as a pull with a small gap from removed reviews.
Reputation watch starts with the newest month
Reputation watch belongs to owners watching their own listings. I sort a pull by date, newest first, and read the last month of reviews as a batch. A sudden run of low ratings points to a real fault, and the review text usually names it in plain words.
Owner replies belong in this watch, too. I check whether the business replied, and whether the reply addressed the complaint or brushed past it.
Worked example: dentists in Miami, from pull to theme count
Say you pull dentists in Miami and you want to know what patients actually complain about. You start with one clinic, check the file against the listing count, and sort by date. Then you add two more clinics, one at a time, keeping each business name in the file.
Tagging comes next. Each review gets one short theme, such as waiting time, billing surprise, or friendly staff. You count the tags, and the counts do the talking. Waiting time shows up again and again for two clinics and never for a third. That gap is worth a closer look, and it comes from counted themes.
Reading the newest reviews inside the top theme comes last. You want to know whether the problem still shows up or faded after an owner reply. A theme that ran for a year and stopped three months ago tells a different story from one still growing this month.
Lead qualification: a sorting aid, never a pitch opener
Reviews help you judge whether a business might welcome a conversation, and they never prove it. A business with repeated complaints about missed calls may value a better phone setup. A business with praise for fast service may already have its systems in order. Both readings are guesses to test in a call.
I use reviews as a sorting aid for a leads list. Businesses with a pattern of service complaints go higher on my call order, because the review text points to a need I can ask about. A review never becomes the opening line of a pitch.
The leads workflow that pairs with this research sits at How to Extract Leads from Google Maps.
Where the line sits with other people's words
The limits are short and firm. Fake reviews stay out, for your own business or for anyone else. Paying for them stays out too. Copying another person review text onto your own site and presenting it as your own feedback stays out. Contacting reviewers from a review pull to pitch them stays out, because they wrote a review of a business, not an invitation to hear from you.
- Fake reviews stay out completely, whether posted, bought, or traded.
- Republishing review text as your own words or testimonials stays out too.
- Reviewer names and details never become a sales contact list.
- A theme count never stands in for a verified survey of all customers.
- Short quoted lines need clear attribution and a link back, where fair use allows.
- A reviewer request to remove their words means deleting the row and noting the date.
Legal and platform rules sit behind these limits, and they change over time. Read Google Maps Platform Terms and Scraping and Is Scraping Google Maps Legal before you build a review workflow into a regular routine.
What a review pull costs elsewhere, and what GoLeads does not quote
Competitors win on breadth here. Outscraper lists a base rate of $3 per 1,000 records after 500 free records, confirmed live on outscraper.com on 3 November 2026, and that base rate covers reviews pulls on its Maps scraper. Apify offers reviews as an optional add-on to its Maps scraper, and an October 2026 third-party review put its base rate at $4 per 1,000 pay per event since August 2026, with a $5 monthly free credit and enrichment metered separately. Add-on billing can change the total fast, because a base record price and an add-on price stack on the same run.
Those figures give you a price anchor when you compare tools. Check the live pricing page of any tool before you plan a large pull around a quoted rate. GoLeads Pro pricing for a review pull is not stated in the vendor claims I work from, so I do not quote a GoLeads Pro review price here. The vendor claims I do use cover leads exports in CSV, XLSX, and JSON, a free tier of 50 leads a day up to 300 in total with no credit card required, verified email bounce under 3 percent, and 98 percent of phone numbers verified, all vendor reported.
Mistakes that spoil a review file
Pulling ten businesses on a first run comes first. A fault in one pull hides inside nine clean ones, and you find it only after the theme counts look strange. The fix is one business first, a file check, then widening one business at a time.
Trusting the listing count as the pull target comes next. Removed and filtered reviews never reach the feed, so a small gap is normal. The fix is a listing count note beside the pull count.
Treating a theme count as a survey comes after that. Review writers are not a random sample of all customers, and unhappy customers write more often than happy ones. The fix is plain language in your notes: themes show what reviewers said.
Contacting a reviewer to pitch them is the fault with real consequences. A reviewer wrote about a business, not to you. The fix is a rule written into the workflow: reviewer names count repeats, and nothing else.
Other people's words stay borrowed. Treat them that way and the file stays useful.
When a review pull is the wrong move
A review pull fits research, reputation watch, and lead sorting. It fits badly on a marketing page that needs testimonials, because scraped words belong to other people. For your own page, ask your own customers, and publish what they agree to share.
A pull also fits badly when you need a complete record. Deleted reviews stay deleted, unpublished reviews stay unread, and a count gap stays a gap. If a decision needs every voice, a review pull cannot give it.
Small counts fall short too. Five reviews cannot support a trend, a theme count, or a comparison. Read the five and stop there.
Frequently asked questions
Can I scrape every review of a business on Google Maps?
You can pull the public reviews through a scraper that pages the full public feed, row by row, until the feed ends. The count you get may sit slightly below the listing count, because removed or filtered reviews do not appear in the feed. Note the listing count beside your pull count.
Why does the Places API only return five reviews?
The Places API is built for a quick display, such as showing a few reviews on a business website, not for research across a full review history. Five reviews give a visitor a flavour of feedback without a heavy data load. A full pull needs a scraper that pages the public feed, or the Business Profile API for locations you manage.
What can I learn from a full review pull that five reviews cannot show?
A full pull shows change over time, repeat themes, and the share of praise against complaints across hundreds of reviews. Five reviews show a snapshot, and a snapshot can mislead when a business had a bad month or a strong launch. A trend view from a full pull separates a one off fault from a lasting pattern.
Can I use scraped reviews in my own marketing?
You should not republish other people review words as your own testimonials, and you should not present them as feedback about your business when they concern another business. Short quoted lines with clear attribution and a link back sit in a different category, where fair use allows. Keep the quote short and the source visible. When in doubt, paraphrase the theme in your own words.
Is scraping Google Maps reviews legal?
The answer depends on platform terms, local law, and how you use the data. Read the platform terms post and the legality post linked above before you build a regular review workflow, and take legal advice for any use that goes beyond private research. Private research with no republishing and no reviewer contact sits at the safer end of the range.
How do I spot a repeat complaint across many reviews?
I tag each review with one short theme, such as waiting time or rude staff, then I count the tags. A theme that shows up again and again across months matters more than one loud review. I read the newest reviews in that theme first, to see whether the problem still shows up or faded.
Should I pull reviews for one business or several at once?
I start with one business, check the file, and widen only after the first pull reads clean. A single pull teaches you the field layout and the date range fast. A wide pull on a first run hides a fault inside clean rows. Once the first file checks out, I add businesses one at a time.
What do I do when a reviewer asks me to remove their words?
I delete the row from my working file and note the removal date in my notes. I do not keep a copy of the text in a second tab, because a hidden copy defeats the point of the removal. If I quoted the review anywhere in public, I take that quote down too.
Start with one business, pull its public reviews, and read the themes before you widen the work. Get the GoLeads Pro extension for the leads export workflow.