Google Reviews Scraper
Pricing
from $0.10 / small batch (up to 50 reviews)
Google Reviews Scraper
Extract reviews from any Google Maps business. Paste a URL, get clean structured review data with ratings, text, dates, reviewer info, and owner responses.
Pricing
from $0.10 / small batch (up to 50 reviews)
Rating
0.0
(0)
Developer
Tomas Lebedinskas
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract reviews from any Google Maps business in seconds. Paste URLs from your browser — get clean, structured review data ready for analysis, reputation management, or feeding into AI pipelines.
How to use (30 seconds)
- Open Google Maps in your browser
- Click any business (restaurant, shop, hotel, service, etc.)
- Copy the URL from the address bar
- Paste it into
placeUrlsbelow and click Start
That's it. You can paste multiple URLs to scrape several places in one run.
What you get
Every review comes back as a structured JSON row with these fields:
| Field | Description |
|---|---|
| Review text | Full review content (auto-expanded) |
| Star rating | 1-5 stars per review |
| Reviewer name | Name and profile link |
| Local Guide badge | Whether reviewer is a Local Guide |
| Review date | When the review was posted |
| Owner response | Business owner's reply (if any) |
| Review likes | How many people found the review helpful |
| Review images | URLs of photos attached to review |
| Place info | Name, address, overall rating, total review count |
Why this scraper
- Fast — 100 reviews in ~30 seconds. 5 reviews in ~10 seconds.
- Focused — Reviews only. No bloated place-data fields you'll throw away.
- Flat-fee pricing — Pay per place, not per review. Scrape 500 reviews from one place for the same price as 51.
- Handles multiple UI variants — Restaurants, shops, hotels, markets, department stores. Tested across 9 countries and 3 scripts.
- Flexible input — Accepts browser-copied URLs, short links, Place IDs, or plain business-name search queries.
- Rich data — Reviewer name, star rating, full text (auto-expanded), relative date, images, owner responses, Local Guide status, and the place's own metadata on every row.
Input
{"placeUrls": ["https://www.google.com/maps/place/Katz's+Delicatessen/@40.7223234,-73.9873893","Lokys restaurant Vilnius","ChIJm77V--yUC0cRwEg_TQAef9Q"],"maxReviewsPerPlace": 100,"sortBy": "newest","onlyWithText": false,"language": "en"}
Input fields
- placeUrls (required): Array of Google Maps URLs, short links, Place IDs, or business names
- maxReviewsPerPlace (default: 100): How many reviews to extract per place (max 5,000)
- sortBy (default: "newest"): Sort order —
relevant,newest,highest,lowest - onlyWithText (default: false): Skip star-only reviews without text
- language (default: all): Filter by language code (e.g.,
en,de,fr)
Output example
{"placeUrl": "https://www.google.com/maps/place/?q=place_id:ChIJm77V--yUC0cRwEg_TQAef9Q&hl=en","placeName": "McDonald's","placeAddress": "Václavské nám. 9, 110 00 Nové Město, Czechia","placeOverallRating": 3.9,"placeTotalReviews": 10262,"reviewerName": "Zoli Szabo","reviewerUrl": "https://www.google.com/maps/contrib/111004890056055284536/reviews?hl=en","reviewerTotalReviews": 42,"reviewerIsLocalGuide": true,"reviewRating": 4,"reviewText": "Regular MC Donald's. You pay extra for the toilet, which they reimburse you in the form of a coupon...","reviewRelativeDate": "2 hours ago","reviewLikes": 0,"ownerResponse": null,"ownerResponseDate": null,"reviewImages": ["https://lh3.googleusercontent.com/..."],"scrapedAt": "2026-04-13T14:30:00.000Z"}
Use cases
- Reputation management — Monitor what customers say about your business
- Competitor analysis — Compare review sentiment across competitors
- Lead generation — Find businesses with poor reviews (opportunity for your service)
- Market research — Analyze customer feedback patterns in any industry
- SEO & local marketing — Track review velocity and response rates
- Sentiment analysis — Feed reviews into NLP/AI pipelines
Pricing
Flat fee per place, based on how many reviews you extract from it:
| Batch size | Price per place | Per-review cost at max |
|---|---|---|
| Up to 50 reviews | $0.10 | $0.002 |
| 51 or more reviews | $0.25 | $0.0005 (at 500 reviews) |
How to think about it: if you scrape 500 reviews from one restaurant, you pay $0.25. If you scrape 5 reviews, you pay $0.10. We only charge once per place — not once per review — so bigger extractions are dramatically cheaper per row.
For comparison: Google's official Places Details API charges ~$17 per 1,000 requests for reviews (and only returns 5 reviews per request). To get 1,000 reviews via the official API you'd pay ~$3.40. This scraper can pull 1,000 reviews for $0.25–$0.50 depending on how they're distributed across places — roughly 7–14× cheaper per review, and you get the full review text instead of the API's truncated previews.
Tested locations
We regression-test against real Google Maps across:
🇺🇸 USA · 🇬🇧 UK · 🇩🇪 Germany · 🇫🇷 France · 🇮🇹 Italy · 🇪🇸 Spain · 🇯🇵 Japan · 🇦🇺 Australia · 🇷🇺 Russia · 🇨🇿 Czechia · 🇱🇹 Lithuania
Business types validated: restaurants, hotels, cafés & coffee shops, department stores, markets & attractions, fine-dining, niche independents, global chains with 100K+ reviews.
Supported input formats
- ✅ Full Google Maps URL:
https://www.google.com/maps/place/... - ✅ Short link:
https://maps.app.goo.gl/abc123 - ✅ Place ID:
ChIJLU7jZClu5kcR4PcOOO6p3I0 - ✅ CID:
1234567890123456789 - ✅ Business name search:
"Starbucks Times Square New York"
Limitations & known edge cases
- 5,000 reviews per place is Google's display ceiling. Even places with 200K reviews only expose ~5K through the Maps UI. This scraper respects that.
- Landmarks without a Reviews tab (e.g. Eiffel Tower, monuments, some parks) show reviews inline on their Overview page. These may not extract reliably — use the specific business inside the landmark instead (e.g. a restaurant, shop, or entry ticket office).
- Ambiguous URLs fail fast with a clear error. If you hand-type
/maps/place/McDonald's/@coordswithout Google's internal data hash, Google can't resolve it to a specific place and the run aborts with an actionable message. Always copy URLs directly from your browser's address bar. - Very popular places (100K+ reviews) may take several minutes — we have to scroll through Google's virtualized list, which throttles itself.
- Relative dates only. The
reviewRelativeDatefield returns Google's original "2 months ago" / "a week ago" string rather than an absolute date, because Google doesn't expose the absolute timestamp in the rendered DOM. - Review text is extracted in whatever language Google renders it in (controlled by the
languageinput field). For mixed-locale reviews, passlanguage: "en"to get English translations where Google provides them.
Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
| Run fails with "URL could not be resolved" | URL doesn't match a specific place | Open Google Maps, click the place, copy the URL directly |
| Empty dataset | Place is a landmark without a Reviews tab | Try a specific business inside the landmark |
| First run is slower than expected | Playwright browser is warming up | Subsequent runs in the same session are ~2× faster |
| Missing owner responses | Place has no owner responses | Not a bug — the field is null when no response exists |
Support
Found a place that doesn't scrape correctly? Hit a bug? Open an issue on the actor's Apify page with:
- The input URL you used
- The error message (if any)
- What you expected to get
I typically respond within 24 hours.