Google Maps Reviews Scraper - Ratings, Text, Replies
Pricing
from $0.08 / 1,000 review delivereds
Google Maps Reviews Scraper - Ratings, Text, Replies
Scrape Google Maps reviews and Google reviews of any place worldwide: rating, full text plus translation, date, owner reply, photo count and food/service scores. Sort by newest, date filter, onlyNew for daily runs. No login. Error rows are free.
Pricing
from $0.08 / 1,000 review delivereds
Rating
0.0
(0)
Developer
Scrapewise Data
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 minutes ago
Last modified
Categories
Features
Share
Google Maps Reviews Scraper: Google reviews with ratings, text and owner replies
Scrape Google Maps reviews of any place worldwide with no login or API key: rating, full text, translation, date, owner reply and food, service and price scores. US$ 0.09 per 1,000 reviews, more than 2,000 reviews per place in our tests.
What does this Google Maps Reviews Scraper do?
- Reads the reviews of restaurants, hotels, shops, clinics and attractions from a place link, a Share link, a Place ID, a feature ID or a CID.
- Sorts them like Google Maps does (newest, most relevant, highest, lowest) and stops at a date you choose.
- Returns the original text plus Google's translation into your language, the owner reply, the photo count and the guided scores restaurants get.
- Delivers only reviews you have not received before when
onlyNewis on, so a daily schedule pays only for new reviews. - Leaves reviewers out: no names, profile links or avatars.
Who uses it
- Multi-location brands and agencies: a daily feed of new reviews for every branch, and for the competitors next door.
- Restaurant and hotel groups: food, service, atmosphere and price-per-person scores to benchmark places side by side.
- Data and AI teams: review text, ready for sentiment analysis or an LLM summary of complaints.
- Support teams: every new 1 or 2 star review posted to Slack or a Google Sheet minutes after the run.
How much does it cost to scrape Google Maps reviews?
| What | Price |
|---|---|
| Review delivered | US$ 0.09 per 1,000 reviews (US$ 0.00009 each) on the Free plan, lower on paid plans |
| Run start | US$ 0.005 per run |
- 5,000 reviews = about US$ 0.46 on the Free plan.
- The place details (name, address, rating, total) are included; there is no extra event for them.
- Error rows, duplicates and reviews already delivered in earlier runs (
onlyNew) are never charged.maxReviewsis a hard cap per place, and a spending limit set on the run stops it cleanly with everything delivered so far.
How to scrape Google Maps reviews
- Open the place on Google Maps and copy the address bar link, or its Share link.
- Paste it into Place links (or a Place ID into Place IDs) and set Max reviews per place.
- Click Start. Reviews appear in the Output tab and export to JSON, CSV or Excel.
The same run as JSON input:
{"startUrls": ["https://www.google.com/maps/place/Katz's+Delicatessen/data=!4m2!3m1!1s0x89c2598f7ff4aa09:0x313547e757cb8cea"],"maxReviews": 50,"sort": "newest"}
Several places, only reviews from the last 30 days, with labels and translations in English:
{"startUrls": ["https://maps.app.goo.gl/your-share-link","https://www.google.com/maps/place/Dishoom+Covent+Garden/data=!4m2!3m1!1s0x487604b7c7d895c5:0x9c3887a3670e0076"],"placeIds": ["ChIJCar0f49ZwokR6ozLV-dHNTE"],"maxReviews": 0,"sort": "newest","reviewsNewerThan": "30 days","language": "en"}
Daily monitoring: schedule the run once a day with "onlyNew": true and only reviews you have not received before
come back (and are charged).
Google Maps reviews scraper input
| Field | What it does |
|---|---|
startUrls | Google Maps place links, one per line: the address bar link after opening a place, a Share link (maps.app.goo.gl), or any link that contains a feature ID (0x...:0x...), a Place ID (ChIJ...) or a cid= number. |
placeIds | Feature IDs, Google Place IDs (ChIJ...) or numeric CIDs. No API key needed. |
maxReviews | Reviews per place (default 100). 0 = every review Google lists for the place. |
sort | newest (default), relevant, highest, lowest: the same orders as Google Maps. |
language | Language code (en, fr, de, es, ja, pt-BR...). Sets relative dates, guided rating labels and the translation. The original text always comes too. |
reviewsNewerThan | A date (2026-01-31) or a period (30 days, 2 weeks, 6 months, 1 year). With newest the run stops at the first older review. |
onlyNew | Deliver only reviews not delivered in earlier runs for the same place (for schedules). |
proxyConfiguration | Apify Proxy by default. |
Inputs written for other Google Maps review tools keep working: startUrls as objects with url, placeUrls,
urls, placeId, reviewsSort (newest, mostRelevant, highestRanking, lowestRanking), sortBy,
reviewsStartDate, maxReviewsPerPlace, reviewsLimit, hl and onlyNewReviews are read too.
Google Maps review data you get
Each review is one row with type: "review":
| Field | What it is |
|---|---|
featureId, placeId | Google's feature ID (0x...:0x...) and Place ID (ChIJ...) of the place |
placeName, placeAddress, placeCategory | Name, address and main category of the place |
placeRating, placeTotalReviews | Overall star rating and total review count shown on Google Maps |
placeUrl | Link to the place on Google Maps |
reviewId, reviewUrl | Google's review ID and a direct link to the review |
rating | Stars, 1 to 5 |
text | Full review text in the language it was written in (null for rating-only reviews) |
textTranslated | Google's translation into language, when the review was written in another language |
language | Language code of the original text (en, fr, zh-Hans...) |
publishedAt, relativeDate | Exact publish date (UTC, ISO 8601) and Google's relative label ("2 days ago") |
ownerReply | {text, relativeDate} of the business owner's answer, or null |
photosCount | Number of photos attached to the review (the photos themselves are not collected) |
reviewerReviewCount | How many reviews the reviewer has written in total (an anonymous count, no identity) |
questionnaire | Guided answers as a dictionary: Food, Service, Atmosphere (1 to 5), Price per person, Meal type, Wait time, Reservation, Parking... |
sortedBy, sourceInput, scrapedAt | Sort used, the link or ID you gave, and when the row was collected |
One real row from 17 Oct 2026:
{"type": "review","featureId": "0x487604b7c7d895c5:0x9c3887a3670e0076","placeId": "ChIJxZXYx7cEdkgRdgAOZ6OHOJw","placeName": "Dishoom Covent Garden","placeAddress": "12 Upper St Martin's Ln, London WC2H 9FB, United Kingdom","placeCategory": "Indian restaurant","placeRating": 4.7,"placeTotalReviews": 29928,"placeUrl": "https://www.google.com/maps/place/?q=place_id:ChIJxZXYx7cEdkgRdgAOZ6OHOJw","reviewId": "Ci9DQUlRQUNvZENodHljRjlvT2pOTU1qYzNOamhVTmxaS00ySnJXRGRoYW5ab1ltYxAB","rating": 5,"text": "One of the best meals we've ever had. Incredibly impressed by the quality, freshness, and flavours. Service was lovely. We will be back!","textTranslated": null,"language": "en","publishedAt": "2026-10-17T12:12:19.021Z","relativeDate": "11 hours ago","ownerReply": null,"photosCount": 0,"reviewerReviewCount": 272,"questionnaire": {"Meal type": "Lunch","Price per person": "£80–90","Food": 5,"Service": 5,"Atmosphere": 5,"Reservation": "Reservation required","Wait time": "No wait"},"sortedBy": "newest"}
An owner reply looks like {"text": "We're so glad you made the trek to come visit us! ...", "relativeDate": "a week ago"}.
Errors you may see
Every error is a row with errorCode and is never charged:
| errorCode | Meaning |
|---|---|
INVALID_INPUT | A field has a wrong value, or a line is not a Google Maps place link or ID |
NOT_FOUND | The link or ID does not point to a place (for example a search or a map point instead of a place) |
NO_REVIEWS | The place has no reviews, or none newer than reviewsNewerThan |
BLOCKED | Google refused every attempt for this place; run it again in a few minutes |
UNEXPECTED | Something else stopped the run; the message says what |
Integrations, scheduling and AI agents
- Schedule a daily run with
onlyNewin Apify schedules to get only the new reviews of your places every morning. - Export as JSON, CSV, Excel or XML, or read the dataset from the Apify API.
- Connect it to Make, n8n, Zapier, Slack or Google Sheets through Apify integrations, for example to post every new 1 or 2 star review to a support channel.
- AI agents: call it as a tool through the Apify MCP server in Claude, ChatGPT, Cursor or any MCP client, for example "get the newest 200 reviews of this restaurant and summarize the complaints about service".
Google Maps reviews scraper FAQ
Do I need a Google account or an API key? No. The reviews come from the same public data Google Maps shows to any visitor, without login.
How do I get the place link? Open the place on Google Maps and copy the address bar, or use Share and copy
the link. A plain search link (/maps/search/...) or a link with only a name and no ID is not enough: open the
place first.
Can I use a Google Place ID? Yes, put it in placeIds (ChIJ...). Feature IDs (0x...:0x...) and numeric CIDs
work too.
In which language does the text come? Always in the language the reviewer wrote it, plus textTranslated in
your language when they differ. language also changes relativeDate and the questionnaire labels.
How many reviews can I get per place? As many as Google lists for the place: thousands for popular places
(we collected more than 2,000 per place in tests and the list kept going). Use maxReviews: 0 for all of them.
How does onlyNew work? The Actor keeps the IDs of the reviews it delivered for each place
in your account. With the newest sort it stops as soon as it reaches a review it delivered before, so a daily run
of a busy place costs only a few requests.
Why is there no reviewer name? Reviewers are private individuals. This Actor deliberately leaves out names, profile links, avatars and reviewers' photos; the reviewer is only described by an anonymous review count.
Is it legal? The Actor reads public reviews and leaves personal data of reviewers out by design. You are responsible for how you use the data under the laws that apply to you.
Something broke or a field is missing? Open an issue on the Actor page; issues are answered within a day.
Limitations
- Google Maps does not offer text search inside reviews here; filter the dataset after the run.
- Likes on reviews are not included, because their value could not be confirmed as reliable.
questionnaireexists mainly for restaurants and some hotels and stores; for other places it is an empty object.- The owner reply has a relative date only (Google does not send the exact date for it).
- Reviews are listed as Google serves them; very old places may stop at the oldest review Google keeps in the list.
Try it now
Click Start with the example input: 50 newest reviews of one restaurant cost about US$ 0.01, start fee included. Need another field, a filter or a source? Open an issue in the Issues tab of this page; user requests decide what the next version adds.
Changelog
- 2026-11-10: lower price: US$ 0.09 per 1,000 reviews on Free, less on paid plans.
- 17 Oct 2026: first version: place links, Share links, feature IDs, Place IDs and CIDs; four sort orders;
original text plus translation; owner replies; guided ratings;
reviewsNewerThan;onlyNewfor schedules.