Google Reviews Scraper avatar

Google Reviews Scraper

Pricing

from $0.10 / small batch (up to 50 reviews)

Go to Apify Store
Google Reviews Scraper

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

Tomas Lebedinskas

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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)

  1. Open Google Maps in your browser
  2. Click any business (restaurant, shop, hotel, service, etc.)
  3. Copy the URL from the address bar
  4. Paste it into placeUrls below 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:

FieldDescription
Review textFull review content (auto-expanded)
Star rating1-5 stars per review
Reviewer nameName and profile link
Local Guide badgeWhether reviewer is a Local Guide
Review dateWhen the review was posted
Owner responseBusiness owner's reply (if any)
Review likesHow many people found the review helpful
Review imagesURLs of photos attached to review
Place infoName, 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 sizePrice per placePer-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/@coords without 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 reviewRelativeDate field 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 language input field). For mixed-locale reviews, pass language: "en" to get English translations where Google provides them.

Troubleshooting

ProblemCauseFix
Run fails with "URL could not be resolved"URL doesn't match a specific placeOpen Google Maps, click the place, copy the URL directly
Empty datasetPlace is a landmark without a Reviews tabTry a specific business inside the landmark
First run is slower than expectedPlaywright browser is warming upSubsequent runs in the same session are ~2× faster
Missing owner responsesPlace has no owner responsesNot 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:

  1. The input URL you used
  2. The error message (if any)
  3. What you expected to get

I typically respond within 24 hours.