Google Maps Reviews Scraper
Pricing
from $0.25 / 1,000 review scrapeds
Google Maps Reviews Scraper
Scrape all reviews from any Google Maps place: full text, star ratings, detailed per-aspect ratings, reviewer profiles, owner responses, and review images. Just paste place URLs.
Pricing
from $0.25 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
Thodor
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
21 hours ago
Last modified
Categories
Share
Scrape every review from any Google Maps place — full text, star ratings, detailed ratings, author profiles, owner responses, and review images. Just paste place URLs and go. Run via API, schedule runs, or integrate with webhooks.
Pass one URL or thousands. The scraper fetches reviews concurrently across all places, sorts them however you want, and pushes each review as a separate dataset row — ready to export as JSON, CSV, or Excel.
Input
| Parameter | Description | Example |
|---|---|---|
| Place URLs | Google Maps place URLs to scrape reviews from | https://www.google.com/maps/place/... |
| Max reviews | Maximum reviews to fetch per place | 100, 500, 5000 |
| Language | Language for results | en, nl, de, ja, fr |
Paste any Google Maps place URL — the scraper extracts the place ID automatically. No need to find IDs manually.
What you get for every review
- Star rating (1-5)
- Full review text
- Detailed ratings (Food, Service, Atmosphere, etc.)
- Publication date (ISO 8601)
- Relative time ("2 months ago")
- Reviewer name, photo, profile URL
- Reviewer stats (number of reviews, Local Guide status)
- Owner response text + date
- Review images
- Review URL (direct link)
- Likes count
- Review origin and language context
Example output
{"place_name": "La Donna Re's","place_id": "0x89c25d8a10261a7d:0x148b4752f2b99ae2","place_url": "https://www.google.com/maps/place/La+Donna+Re's/...","review_id": "Ci9DQUlRQUNvZENodHljRjlvT2pkRmVVVlRhazVo...","name": "Isatta Bassie","reviewer_photo_url": "https://lh3.googleusercontent.com/a-/ALV-UjVPL1SQ...","reviewer_id": "109283811363605044639","reviewer_number_of_reviews": 5,"is_local_guide": false,"reviewer_url": "https://www.google.com/maps/contrib/109283811363605044639/reviews?hl=en","published_at_date": "2026-01-11T02:01:27Z","publish_at": "2 months ago","stars": 5,"text": "10/10! Super friendly staff and everything was delicious. I went in anticipating oxtails but they were out, so I opted for jerk chicken, Mac and cheese and rice and peas...","text_translated": null,"review_url": "https://www.google.com/maps/reviews/data=...","review_detailed_rating": [{"category": "Food", "rating": 5},{"category": "Service", "rating": 5},{"category": "Atmosphere", "rating": 5}],"likes_count": 1,"review_origin": "Google","response_from_owner_text": null,"response_from_owner_date": null,"review_image_urls": ["https://lh3.googleusercontent.com/geougc-cs/ABOP9puDf15..."],"review_context": "en"}
Each review is a separate dataset row — easy to filter by place, sort by date, or export to spreadsheets.
Review fields
| Field | Type | Description |
|---|---|---|
place_name | string | Name of the place this review belongs to |
place_id | string | Google Maps hex place ID |
place_url | string | Original input URL |
review_id | string | Unique review identifier |
name | string | Reviewer name |
reviewer_photo_url | string | Reviewer profile photo |
reviewer_id | string | Reviewer Google ID |
reviewer_number_of_reviews | int | Total reviews by this reviewer |
is_local_guide | boolean | Whether reviewer is a Local Guide |
reviewer_url | string | Link to reviewer's profile |
published_at_date | string | ISO 8601 publication date |
publish_at | string | Relative time ("2 months ago") |
stars | int | Star rating (1-5) |
text | string | Full review text (null if rating-only) |
text_translated | string | Translated text (when available) |
review_url | string | Direct link to the review |
review_detailed_rating | {category, rating}[] | Per-aspect ratings (Food, Service, etc.) |
likes_count | int | Number of likes on the review |
review_origin | string | Where the review came from |
response_from_owner_text | string | Owner's reply (null if none) |
response_from_owner_date | string | When the owner replied |
review_image_urls | string[] | Photos attached to the review |
review_context | string | Language code of the review |
Use cases
- Reputation monitoring — Track reviews across all your locations in one dataset, detect negative trends early
- Sentiment analysis — Feed review text into NLP pipelines to measure customer satisfaction at scale
- Competitor benchmarking — Compare review volumes, ratings, and detailed scores across competing businesses
- Market research — Analyze what customers value most in a category by mining review text and detailed ratings
- Review response tracking — Monitor which reviews have owner responses and measure response times
FAQ
What URLs are supported? Any Google Maps place URL that contains a place ID. Just copy the URL from your browser when viewing a place on Google Maps.
How many reviews can I fetch?
Set max_reviews to however many you need per place. The scraper paginates automatically. Google's API returns up to ~25,000 reviews per place — for places with more reviews than that, you'll get the most recent 25k.
What output formats are available? Results are available as JSON, CSV, and Excel. You can also export directly to Google Sheets via the Apify platform.
What if a place has no reviews? The scraper will simply return 0 results for that place and move on to the next one.
Are there rate limits? No artificial limits. The scraper handles multiple places concurrently with automatic retry logic.