Google Maps Review Collector
Under maintenancePricing
from $4.00 / 1,000 results
Google Maps Review Collector
Under maintenanceCollect Google Maps reviews for any place, preserved in the language the reviewer originally wrote them in. Sweeps every sort order and language pass to maximise unique review coverage.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
seungkyu cho
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
Reviews for any place — kept in the language the reviewer actually wrote them in.
That distinction is the entire point of this actor. Google will happily hand you a machine translation of every review, and most tools take it. If you're doing sentiment analysis, translated text is a different dataset with different results.
What a row looks like
{"recordType": "googleMapsReview","placeName": "이치란 시부야점","author": "伝説のわさび","rating": 5,"text": "深夜に行っても回転が速くて待ち時間が短い。","originalLanguage": "ja","isOriginalText": true,"capturedUnderHl": "ja","relativeDate": "2 months ago","photoCount": 3,"photoUrls": ["https://lh5.googleusercontent.com/..."],"ownerReplyText": null,"scrapedAt": "2026-08-26T04:41:03.219Z"}
isOriginalText tells you whether you're looking at the reviewer's own words or
Google's translation of them. capturedUnderHl shows which language pass caught
it — useful when you're auditing coverage.
How the original text is recovered
Google only shows a review's original text when you browse in that review's own language. So this actor sweeps the place once per language you list, merges the results by review ID, and keeps the original-language version whenever one turns up.
Measured on a Tokyo ramen shop with ["ko", "en", "ja"], capped at 200 reviews:
| Single pass | Three passes | |
|---|---|---|
| Reviews returned | 200 | 200 |
| With original text | 79 (39%) | 200 (100%) |
| Languages represented | ko only | ko / en / ja |
Same bill, two and a half times the usable data.
The cap is applied once, at the end, after every pass has run — and the trim keeps original-language reviews ahead of translated ones. You get the most useful 200, not the first 200.
Input
{"placeUrls": ["https://www.google.com/maps/place/.../data=!4m7!3m6!1s0x..."],"maxReviewsPerPlace": 200,"sortBy": "newest","languages": ["ko", "en", "ja"],"expandLongReviews": true,"headless": false}
| Field | Meaning |
|---|---|
placeUrls | Must be the long /maps/place/.../data=… form — copy it from the address bar |
sortBy | newest, relevance, highestRating, lowestRating |
sweepAllSortOrders | Run all four orders — the single best way to raise unique coverage |
wideLanguageSweep | 14-language pass when you don't know the audience |
keepOriginalOnly | Drop reviews whose original text never surfaced |
expandLongReviews | Click through "More" so long reviews aren't truncated |
Honest limits
- This is not every review. Google caps how deep a review list will scroll, and the cap differs per sort order. On a place with 5,166 reviews: relevance gave 848, newest 750, and rating-sorted stopped at 176. All four orders combined reached 1,341 — about 26% of the total. Extra language passes barely move that number; they change which text you get, not how much.
- Roughly a third of reviews have no text at all — star-only ratings. That's Google, not a collection failure.
- Owner replies are truncated near 125 characters, and unlike review bodies
they have no "More" button to expand. A trailing
…means the rest is gone. headless: falseis the working default. Google serves headless sessions a limited page with no reviews on it.- Google's terms prohibit automated collection. The risk and the use you make of the data are yours.
Good for
- Multilingual sentiment analysis that isn't reading translations
- Competitor review monitoring across locations
- Finding what low-rating reviewers specifically complain about
- Location research where the local-language reviews are the honest ones
