Google Maps Reviews Scraper
Pricing
from $0.25 / 1,000 review scrapeds
Google Maps Reviews Scraper
Extract real Google Maps reviews — author, star rating, full text, and timestamp — for any place by ID or URL.
Pricing
from $0.25 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
Gopalakrishnan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Get real reviews — author, star rating, full text, and timestamp — from any Google Maps place. This actor drives a real browser because Google's modern review endpoint requires a BotGuard anti-abuse token that only a real browser session can produce; static HTTP replay does not work for this data (verified during development).
How it works
- Resolves the place's display name from its Google place ID.
- Searches for it on Google Maps and opens the place's full detail panel.
- Opens the Reviews tab and extracts the first batch of reviews directly from the page.
- If more reviews are available ("More reviews" / scrolling), intercepts the browser's own review-loading network calls to capture additional pages.
Because this is a real browser run (not a lightweight HTTP request), it is slower and costs
more to run than a typical HTTP-based actor — budget maxReviewsPerPlace accordingly.
Input
| Field | Type | Description |
|---|---|---|
placeIds | array (required) | Google Maps place IDs (e.g. ChIJ67CkOzjvDogR2L42VGEgXJo) or full Google Maps place URLs. |
maxReviewsPerPlace | integer | Caps reviews fetched per place (default 20). Also caps runtime/cost. |
proxyConfiguration | object | Proxy settings. Datacenter works; switch to residential if you see blocking. |
Output
One record per review:
| Field | Description |
|---|---|
placeId | The place this review belongs to |
reviewId | Google's internal review ID (only available for reviews fetched via pagination, not the first on-page batch) |
cid | Google's place CID, 0x<hi>:0x<lo> format |
authorName | Reviewer's display name |
authorProfileUrl | Link to the reviewer's Google Maps profile |
avatarUrl | Reviewer's avatar image URL |
rating | 1–5 star rating |
text | Full review text |
publishedAt / lastEditedAt | ISO timestamps (only available via pagination; the on-page batch only exposes a relative date like "a month ago", not parsed into an absolute timestamp) |
scrapeStatus / scrapeError | success/partial/error with a message when applicable |
scrapedAt | When this row was scraped |
Pay-Per-Event billing
| Event | When charged |
|---|---|
actor-start | Once per run. |
review-scraped | Once per review successfully scraped. |
This actor runs a real browser per place, so price both events higher than a typical HTTP-based scraper to cover the extra compute cost — check current Apify Store "Google Maps Reviews" actor pricing before finalizing.
Running locally
$apify run --purge
Put a test input in storage/key_value_stores/default/INPUT.json, e.g.:
{"placeIds": ["ChIJ67CkOzjvDogR2L42VGEgXJo"],"maxReviewsPerPlace": 10,"proxyConfiguration": { "useApifyProxy": true }}