Google Map Review Scraper
Pricing
from $0.70 / 1,000 results
Google Map Review Scraper
Reading Google Maps reviews one by one hides what customers really say. Get reviews for any place: rating, text, author, date, owner replies and optional photos, sorted by newest, most relevant, highest or lowest. No API key, login or browser.
Pricing
from $0.70 / 1,000 results
Rating
0.0
(0)
Developer
Insights Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Security
Limited permissionsShare
πΊοΈ What is Google Map Review Scraper?
Google Map Review Scraper collects the public reviews of Google Maps places into one table, for local businesses, agencies and analysts who need review monitoring and reputation monitoring. Paste one or more place URLs and click Start, no coding needed; you can try it on the Apify Free plan, where the $5 monthly credit pays for result charges and platform usage. For each review you get the star rating, text, language, publish date, reviewer details and the owner's reply, ready for customer review analysis in a spreadsheet, a dashboard or an AI tool.
- π‘οΈ Watch your own locations: collect the latest reviews (Newest First sort) of your stores, restaurants or hotels on a schedule, then spot the new ones by their review ID.
- π Reputation management: sort by lowest rating to find the worst reviews first, and check which ones still have no owner reply.
- π₯ Competitor analysis: pull the reviews of competing places and compare ratings, praise and complaints side by side.
- π§ Customer feedback analysis: feed review text, rating and language into sentiment, topic or AI tools to learn what customers like and dislike.
- π Market research: collect restaurant reviews, hotel reviews or attraction reviews across an area to spot gaps and trends.
- π’ Brand monitoring: add every branch of a chain to one run and compare how each location is rated.
Google's own Places API returns at most 5 reviews per place (Places API reference). Google Map Review Scraper collects all reviews Google shows for the place, or as many as you choose.
What can Google Map Review Scraper do?
Use it as a Google review extractor for one place or a long list of places:
- π Many places per run: paste a list of Google Maps place URLs, one per line.
- π Four sort orders: Most Relevant, Newest First, Highest Rating First or Lowest Rating First.
- π― Per-place limit: collect all reviews, or set a number such as 10, 100 or 500 per place.
- π¬ Owner replies: the reply text and reply date come with each review (on by default).
- πΈ Review photos: add the photo links that reviewers uploaded (optional).
- π¦ Export anywhere: download as JSON, CSV, Excel, XML or HTML, or read the results with the Apify API.
- β° Scheduled runs: run it daily or weekly, get notified with webhooks and connect Make, Zapier, n8n or Google Sheets. With the Newest First sort, each run returns the latest reviews; you find the new ones by
review_id.
No Google API key, no Google login and no browser extension are needed.
ποΈ Google Map Review Scraper data: what can you extract?
Every row this Google Maps review extractor saves holds Google Maps reviews data for one review. The field names below are the exact names in the dataset.
| Field | What it means |
|---|---|
π review_id | Unique ID of the review |
π place_url | The place URL, exactly as you entered it |
π€ author_name | Reviewer's display name ("A Google User" when Google shows no name) |
π author_id | Reviewer's Google contributor ID |
π author_url | Link to the reviewer's Google Maps profile |
πΌοΈ author_photo | Reviewer's profile picture |
π author_reviews_count | How many reviews the reviewer has written |
π author_photos_count | How many photos the reviewer has uploaded |
β rating | Star rating from 1 to 5 |
π text | The review text |
π language | Two-letter language code of the text, such as en or fr |
π
published_at | When the review was posted, in UTC (world standard time), for example 2026-10-15T14:32:00Z |
π¬ owner_response | The business owner's reply |
π
owner_response_at | When the owner replied, in UTC |
πΈ images | Review photos as a list of url and id (only when Include Review Images is on) |
Note:
textisnullwhen the reviewer left only stars.owner_responseandowner_response_atarenullwhen the owner has not replied; both fields are left out of the row completely when you turn off Include Owner Response. Profile fields such asauthor_idorauthor_reviews_countcan benullwhen Google doesn't show them.
The Google reviews owner response is useful on its own: filter for rows where it is null to find reviews nobody has answered yet.
What data can't Google Map Review Scraper extract?
- Place details such as name, address, phone, website, opening hours or the overall rating. The only place field is
place_url. To get those details, or to find places by keyword, use Google Map Scraper. - Contact data of reviewers (no emails or phone numbers).
- Translations, review "helpful" counts, or filters by date or keyword. You choose the sort order and how many reviews per place.
βΆοΈ How to scrape Google Maps reviews
This Google Maps review scraper is made for an easy start, even if you've never collected data from the web before. You can scrape Google reviews in five steps:
- Create a free Apify account with your email.
- Open Google Map Review Scraper and click Try for free.
- The form opens with two example places. Replace them with the full URLs of your places in Place URLs, one per line (see "How to get the right place URL" below).
- Keep Max Reviews Per URL at the prefilled 10 for a first test and click Start. If you set it to 0, the Actor collects all reviews Google shows for each place.
- Wait until the run's status shows Succeeded. The reviews appear in the Output tab. To export Google Maps reviews as JSON, CSV, Excel, XML or HTML, go to Storage β Datasets β Export.
How to get the right place URL
The Actor only accepts the full URL of a single place, the one that contains a data= part (Google's code for that place).
- Open Google Maps in your browser and search for the place.
- Click the place's name in the result list, so its details panel opens on the left.
- Copy the URL from the address bar. It is long and contains
data=. - Paste it into Place URLs. Repeat for each place.
β οΈ Short links from the Share button (
maps.app.goo.gl/...), search result URLs and URLs withoutdata=don't work. They are skipped, and the run goes on with the other places.
Words you'll see in Apify
- Apify Console: the web app where you start runs and see results.
- Run: one start of the Actor with your settings.
- Dataset: the results table of a run.
- Task: a saved set of input settings that you can run again or schedule.
- API token: your personal key for using Apify from code (Console β Settings β API & Integrations).
π² Google Map Review Scraper pricing: how much does it cost?
Google Map Review Scraper uses pay-per-event pricing: you pay for each review it saves, plus a small fee when a run starts. Your bill for a run has three parts:
- Results: you pay for each review saved to the dataset. The price depends on your Apify plan (table below). Skipped places add no result charges; reviews saved before a place failed stay in the dataset and are charged, and so are repeated rows when a place is restarted (see Known issues).
- Start fee: $0.00005 per run at the default 1 GB of memory. It is charged once per GB of run memory, so it only grows if you raise the memory yourself.
- Platform usage: the compute resources the run uses, billed at your Apify plan's own rates.
| Apify plan | Price per review | Price per 1,000 reviews |
|---|---|---|
| π Free | $0.001 | $1.00 |
| π Starter | $0.0009 | $0.90 |
| π Scale | $0.0008 | $0.80 |
| πΌ Business and higher | $0.0007 | $0.70 |
The plan discount applies to the result price only. The start fee is the same on every plan, and platform usage is billed at your Apify plan's own rates.
Example: 1,000 reviews cost $1.00 in result charges on the Free plan, $0.90 on Starter, $0.80 on Scale and $0.70 on Business, plus the $0.00005 start fee and platform usage. The prefilled input (2 places, 10 reviews each) saves up to 20 reviews: $0.02 in result charges on the Free plan, plus the start fee and platform usage.
To see the full cost for your own places, do a small test run (for example 10 reviews per place) and read the cost on the run's page in Apify Console. See the pricing tab for the current prices.
Is scraping Google reviews free?
You can start without paying. On the Apify Free plan, the $5 monthly credit pays for result charges and platform usage, and Free-plan runs work the same as paid runs.
How do I keep the cost under control?
- Set Max Reviews Per URL. With 0, the Actor collects all reviews Google shows for each place, and each review is a paid result.
- Set a maximum charge limit. In Apify Console, open Run options below the input form and fill in Maximum cost per run before you click Start (through the API, send
maxTotalChargeUsd). It caps what the Actor charges for results; platform usage is billed on top. When the limit is reached, the run stops and keeps the reviews it already saved.
β¬οΈ Input
To scrape Google Maps reviews, you only need one or more Google Maps place URLs. Everything else has a sensible default. Set the input in Apify Console or send it as JSON through the API.
Settings most people change
| Setting (Console title) | What it does | Default |
|---|---|---|
π Place URLs (urls) | The places to collect reviews from, one URL per line. Required | None (Console prefill: Eiffel Tower, Central Park) |
π― Max Reviews Per URL (max_reviews) | Most reviews to collect per place. 0 = all reviews Google shows for the place | 0 (Console prefill: 10) |
π Sort Reviews By (sort_type) | Most Relevant (relevant), Newest First (newest), Highest Rating First (highest_rating), Lowest Rating First (lowest_rating). Pick Newest First for monitoring and Lowest Rating First to find complaints. With a limit, the sort decides which reviews you get | Newest First |
π¬ Include Owner Response (include_owner_response) | Adds the owner's reply and reply date | On |
πΈ Include Review Images (include_images) | Adds the links of photos in each review | Off |
π Proxy Configuration (proxyConfiguration) | Optional. Leave it empty for a normal run. If Google keeps refusing a place, set it to use Apify Proxy (Apify's pool of IP addresses) and run again | Empty |
Here's an example that collects the 10 newest reviews of two places:
{"urls": ["https://www.google.com/maps/place/Eiffel+Tower/@48.8584,2.2945,17z/data=!4m6!3m5!1s0x47e66e2964e34e2d:0x8ddca9ee380ef7e0!8m2!3d48.8584!4d2.2945!16s%2Fm%2F02j81","https://www.google.com/maps/place/Central+Park/@40.7828,-73.9654,15z/data=!4m6!3m5!1s0x89c2589a018531e3:0xb9df1f7387a94119!8m2!3d40.7828!4d-73.9654!16zL20vMDFuN18"],"sort_type": "newest","max_reviews": 10,"include_owner_response": true,"include_images": false}
See the input tab for every field.
Place URLs
The Actor needs the full place URL, the one you see in the address bar after you open a place in Google Maps. It contains a long data= part that identifies the place.
- β
Good:
https://www.google.com/maps/place/Eiffel+Tower/@48.8584,2.2945,17z/data=!4m6!3m5!1s0x47e66e2964e34e2d:0x8ddca9ee380ef7e0!8m2!... - β Bad:
https://www.google.com/maps/place/Eiffel+Tower/@48.8583701,2.2922926,17z(nodata=part) - β Bad: a short share link or a Google search result link
β οΈ A URL without the
data=part is skipped with the message "This is not a full Google Maps place URL" in the run log. It costs nothing in result charges, and the other places in the run still go ahead.
Max Reviews Per URL
This number applies to each place on its own. With 3 places and 50, you get up to 150 reviews. With 0, the Actor collects all reviews Google shows for each place, which can be thousands for a popular place.
- β Good: 10 for a first test, 50 for a weekly check of new reviews, 0 when you really want the full history
- β Bad: 0 on your first run with a famous landmark
β οΈ API runs that leave out
max_reviewsuse the default 0, which means all reviews. Send a number when you want to limit the cost.
β¬οΈ Output
Each review becomes one row in the run's dataset. Open the Output tab to see the results as a table. All Reviews shows every field except photos. Reviews with Images shows the review ID, place URL, author name, rating, text, publish date and photo links. Full Data shows every field. To download, go to Storage β Datasets β Export and pick JSON, CSV, Excel, XML or HTML. You can choose only the fields you need there, for example to export Google reviews to CSV for a dashboard tool.
Your Google reviews data stays in your Apify account, so you can come back to it, share it or read it through the API.
For developers: run totals are saved as the
RUN_SUMMARYrecord under Storage β Key-value stores (a small file store that comes with each run):totalReviews,urlsProcessed(the number of URLs in your input, also when the run stopped early),errors(places skipped),durationSecsandspendLimitReached(truewhen the maximum charge limit stopped the run).
JSON example
Results for the input example above (illustrative values, shortened). The first row has a text and an owner reply; the second is a stars-only review without a reply:
[{"review_id": "ChdDSUhNMG9nS0VJQ0FnSURueWZMak9RRRAB","place_url": "https://www.google.com/maps/place/Eiffel+Tower/@48.8584,2.2945,17z/data=!4m6!3m5!1s0x47e66e2964e34e2d:0x8ddca9ee380ef7e0!8m2!3d48.8584!4d2.2945!16s%2Fm%2F02j81","author_name": "Jane Doe","author_id": "123456789012345678","author_url": "https://www.google.com/maps/contrib/123456789012345678","author_photo": "https://lh3.googleusercontent.com/a/...","author_reviews_count": 47,"author_photos_count": 12,"rating": 5,"text": "Amazing view and wonderful experience!","language": "en","published_at": "2026-10-15T14:32:00Z","owner_response": "Thank you for visiting!","owner_response_at": "2026-10-16T09:00:00Z"},{"review_id": "ChZDSUhNMG9nS0VJQ0FnSUR4d1pqTVdBEAE","place_url": "https://www.google.com/maps/place/Eiffel+Tower/@48.8584,2.2945,17z/data=!4m6!3m5!1s0x47e66e2964e34e2d:0x8ddca9ee380ef7e0!8m2!3d48.8584!4d2.2945!16s%2Fm%2F02j81","author_name": "A Google User","author_id": null,"author_url": null,"author_photo": null,"author_reviews_count": null,"author_photos_count": null,"rating": 4,"text": null,"language": null,"published_at": "2026-10-14T08:05:00Z","owner_response": null,"owner_response_at": null}]
To build a Google Maps reviews dataset for research, run many places in one go: every row carries its place_url, so you can group and compare places after the export.
π‘ Tips and advanced usage
Can I get all Google reviews of a place?
Yes. Set Max Reviews Per URL to 0 and the Actor keeps loading reviews until Google shows no more for that place. The number of reviews you get depends on how many the place has. Because each review is a paid result, try 10 or 100 first and look at the cost on the run page.
How to get faster or cheaper results
- π― Use Max Reviews Per URL. For regular checks, choose Newest First with a number a bit higher than the new reviews a place gets between two runs.
- πΈ Leave Include Review Images off unless you need the photo links.
- π Put all places into one run instead of starting one run per place. You pay the start fee once.
- π² Set a maximum charge limit when you are not sure how many reviews a place has.
How to track Google reviews over time
The Actor has no "new reviews only" filter. Monitoring means scheduled runs plus removing the reviews you already have, by review_id:
- Fill in your places, choose Newest First and set Max Reviews Per URL to about 50.
- Save the input as a task (Save as new task in Apify Console).
- Open Schedules, add a schedule for that task (for example every Monday at 8:00) and save.
- With Newest First, each run creates a new dataset with the latest reviews, including some you already have. Keep the rows whose
review_idyou haven't seen before: those are the new reviews. Without code, collect the runs in one Google Sheet and use Data β Data cleanup β Remove duplicates on thereview_idcolumn, or filterpublished_atfor dates after your last run.owner_responseshows whether a review has been answered.
This weekly review monitoring loop works well with the Google Sheets and Slack workflows below.
Known issues
- β οΈ When Google doesn't answer, the place is retried, then skipped. A retry starts the place again from the beginning, so a few reviews of that place can appear twice, and the repeated rows are charged like any other review. Remove repeats by
review_idafter the export. - β οΈ When Max Reviews Per URL is above 0, the run stops once it has saved that number times the number of places. Repeated rows from a restarted place count toward this total, so the run can end before the later places in your list reach their limit. Run those places again if needed.
- β οΈ Repeated reviews are only removed within one place. If you add the same place twice, you get its reviews twice.
- β οΈ Short share links and search links are skipped. Use the full place URL.
π Google Map Review Scraper API and integrations
Can I use Google Map Review Scraper as a Google Maps reviews API?
Yes. The Apify API lets you start runs, wait for them and fetch the reviews as JSON from your own code. Use the apify-client NPM package for Node.js or the apify-client PyPI package for Python. The API tab has ready-to-copy code.
Google Maps reviews scraper Python example
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("insights_data/google-map-review-scraper").call(run_input={"urls": ["https://www.google.com/maps/place/Eiffel+Tower/@48.8584,2.2945,17z/data=!4m6!3m5!1s0x47e66e2964e34e2d:0x8ddca9ee380ef7e0!8m2!3d48.8584!4d2.2945!16s%2Fm%2F02j81"],"sort_type": "newest","max_reviews": 10,})for review in client.dataset(run["defaultDatasetId"]).iterate_items():print(review["rating"], review["published_at"], review["text"])
Can I integrate Google Map Review Scraper with other apps?
Yes. Connect it with almost any app through Apify integrations, including Make, Zapier, n8n, Slack, Google Sheets, Google Drive and Airbyte. Here are three workflows:
- π Send Google reviews to Google Sheets: open your task's Integrations tab and add Google Sheets, so every scheduled run adds its reviews to a shared sheet. Each run adds all its rows, so remove repeats by
review_id(see above), then sort byratingto read the new complaints. - π Slack alert for bad reviews: add a webhook (a message Apify sends to another app when a run finishes) that fires when a run succeeds and points to a Make, Zapier or n8n scenario. The scenario reads the dataset, keeps rows with
ratingof 1 or 2 and posts them to a Slack channel. - π§ Google reviews sentiment analysis: fetch the dataset through the API and pass
text,ratingandlanguageto your sentiment model or an AI assistant, then chart the results per place.
Can I use Google Map Review Scraper with AI agents (MCP)?
Yes. MCP (Model Context Protocol) is the standard that AI assistants use to call outside tools. Connect the Actor to Claude and other AI assistants through the Apify MCP server, so an assistant can collect the reviews of a place and summarize them for you. Open the MCP tab for setup steps.
π§ Other Google Maps and review scrapers
These Actors work well alongside Google Map Review Scraper: find places first, add travel and news context, or compare reviews from other sites.
| Actor | What it adds |
|---|---|
| π Google Map Scraper | Google Maps places by keyword, link or place ID: name, category, address, phone, website, rating, hours and coordinates |
| π¨ Google Hotels Scraper | Google Hotels prices, ratings, star class, amenities and booking links for any city or hotel |
| π° Google News Scraper | Google News headlines, publishers and article links by search term, topic or link |
| π§³ Booking Review Scraper | Booking.com hotel reviews with liked and disliked text, room type, stay date and category scores |
| π Flipkart Reviews Scraper | Flipkart product reviews, star ratings, photos and rating summaries |
| π Keyword Search Volume β Bulk Google Metrics (CPC & Trend) | Google search volume, CPC, ad competition and a 12-month trend for thousands of keywords in one run |
β FAQ
Is it legal to scrape Google reviews?
Collecting publicly visible reviews is generally allowed, but you are responsible for how you use them. Reviews include personal data such as reviewer names and profile links, so you need a legitimate reason to store them under data protection rules such as the GDPR (the EU's data protection law). Review texts are written by other people, so think twice before republishing them. Also take Google Maps' Terms of Service into account. This is not legal advice; ask a lawyer for your specific case.
How does Google Map Review Scraper work?
Google reviews data scraping with this Actor works much like you scrolling through the reviews panel of a place in Google Maps, only automated. For each place URL, the Actor loads the reviews page by page in the sort order you chose and saves each review as a row. It moves to the next place when Google shows no more reviews or your per-place limit is reached. If a place keeps failing, it is retried, then skipped, and the run goes on with the next place.
Is there a Google reviews API for any business?
Google's Places API (New) works for any place, but it returns at most 5 reviews per place. That Google Places API reviews limit is the main reason people use a scraper instead.
| Google Places API (New) | Google Map Review Scraper | |
|---|---|---|
| Reviews per place | At most 5 (Google docs) | All reviews Google shows for the place, or your own limit |
| Sort orders | Not chosen by you (sorted by relevance) | Most Relevant, Newest First, Highest or Lowest Rating First |
Is there a Google reviews scraper that works without coding?
Yes. This Google Maps reviews scraper works from your browser through Apify Console: paste place URLs, click Start and download the table. Developers can use the same Actor through the API or Python.
Can I download Google reviews of a competitor?
Yes. Any public Google Maps place works, not only places you own, so you can download Google reviews of competitors as easily as your own. This is useful for local SEO competitor analysis: compare how often competitors get reviews, their ratings and what customers praise or complain about.
How do I export Google reviews to Excel?
After the run, go to Storage β Datasets β Export, choose Excel and click Download. To export Google reviews for other tools, choose CSV or JSON in the same place.
Can I collect all my Google business reviews in one run?
Yes. Add the place URL of each of your locations to Place URLs and set Max Reviews Per URL to 0. You get all your Google business reviews in one dataset, with place_url showing which location each review belongs to.
Why scrape Google Maps reviews?
- π£οΈ Voice of customer analysis: read what customers say in their own words, by location and by star rating.
- π½οΈ Hospitality insight: restaurant groups and hotel teams can use the reviews for hotel review analysis and menu or service checks.
- π Faster replies: sort by lowest rating and answer unhappy customers before more people read the review.
- π§Ύ Reports for clients: agencies can build monthly reputation reports from the export.
Why am I getting fewer results than expected?
- Check that each URL is a full place URL with the
data=part. Skipped URLs are listed in the run log as "Skipped this place". - Check Max Reviews Per URL. It limits each place, so a low number gives a short list.
- The place may simply have fewer reviews than you expected. Check its reviews panel in Google Maps.
- The run may have stopped at your maximum charge limit. The run's status message then starts with "Stopped at your maximum charge limit".
- If Google didn't answer for a place, it was retried, then skipped. Run that place again later.
What should I do if the run fails or every place is skipped?
Open the run in Apify Console and read the Log tab first; it says what happened in plain words.
- "No place URLs were given": the Place URLs field was empty. Add at least one URL and start again.
- "This is not a full Google Maps place URL" for every place: the URLs are short links or search links. Get the full URLs as shown in "How to get the right place URL" above.
- "Google did not return reviews for this place after several tries": wait a while and run the place again. If it keeps happening, set Proxy Configuration to use Apify Proxy and try again.
- Still stuck? Create an issue on the Issues tab and include the link to your run, so we can look at the log.
π§ Support and feedback
Found a bug or have an idea for a feature? Please create an issue on the Issues tab.
Need a custom solution, more fields or a different review site? Write to us at hello.insights.data@gmail.com.
Built and maintained by Insights Data.