Google Maps Reviews Scraper
Pricing
Pay per event
Google Maps Reviews Scraper
Extract Google Maps reviews for any place. Scrape review text, star ratings, author details, photos, owner replies, and timestamps. Sort by newest, most relevant, highest or lowest rating. Export to JSON, CSV, Excel, or connect via API.
Pricing
Pay per event
Rating
0.0
(0)
Developer

Stas Persiianenko
Actor stats
0
Bookmarked
7
Total users
4
Monthly active users
8 days ago
Last modified
Categories
Share
What does Google Maps Reviews Scraper do?
Google Maps Reviews Scraper extracts reviews from any Google Maps place page. Provide one or more place URLs and get back structured data including review text, star ratings, author details, review images, owner replies, and timestamps.
With built-in AI sentiment analysis, every review can be automatically classified as positive, negative, neutral, or mixed — with a sentiment score and topic labels like "food quality", "service", or "parking". No setup, no extra API keys, just toggle it on.
The scraper uses a lightweight HTTP-only approach (no browser) to extract data directly from Google's internal API. This makes it fast, cheap, and reliable — typically scraping 1,000 reviews in under 60 seconds.
Use cases
- Reputation monitoring — Track what customers say about your business locations. With AI analysis, instantly see sentiment trends and recurring complaint topics without reading every review
- Competitor analysis — Compare review sentiment, ratings, and top praised/complained topics across competitor locations
- Market research — Analyze customer feedback patterns for restaurants, hotels, attractions, or any business category. AI topics reveal what matters most to customers
- Lead generation — Find businesses with low sentiment scores or recurring complaint topics as potential clients for reputation management services
- Academic research — Collect review datasets with pre-labeled sentiment and topics for NLP research, tourism studies, or consumer behavior analysis
- Product development — Identify the most common complaints and praised features to prioritize improvements
Why use Google Maps Reviews Scraper?
- Built-in AI sentiment analysis — Every review gets a sentiment label (positive/negative/neutral/mixed), a 0-1 score, and topic tags. No extra cost, no API keys needed — just enable it
- Place-level AI summary — Get an executive summary with sentiment breakdown, top praised topics, and top complaint topics per location
- Fast — Pure HTTP scraper with no browser overhead. Scrapes 1,000 reviews in ~60 seconds
- Cheap — Starting at $0.25 per 1,000 reviews (Free tier). Up to 60% cheaper than alternatives
- 35+ data fields — Review text, translations, ratings, images, author profiles, Local Guide status, owner replies, timestamps, place metadata, plus AI sentiment and topics
- Sort options — Newest, most relevant, highest rating, or lowest rating
- Multi-language support — Extract reviews in any language Google Maps supports
- Batch processing — Scrape multiple places in a single run
- No browser needed — Runs on minimal 256 MB memory, keeping platform costs low
What data can you extract?
Each review includes 35+ fields organized into four groups:
Review data — reviewId, reviewUrl, text, textTranslated, publishedAt, lastEditedAt, stars, likesCount, reviewOrigin, language, originalLanguage, reviewImageUrls, responseFromOwnerText, responseFromOwnerDate
Reviewer data — reviewerName, reviewerUrl, reviewerId, reviewerPhotoUrl, reviewerNumberOfReviews, isLocalGuide
Place data — title, url, placeId, cid, fid, totalScore, reviewsCount, address, categoryName, categories, location, imageUrl, website, phoneNumber, scrapedAt
AI analysis (when enabled) — sentiment, sentimentScore, topics
When AI analysis is enabled, you also get a place-level summary with sentimentBreakdown, averageSentimentScore, topPraisedTopics, topComplainedTopics, and executiveSummary.
How much does it cost to scrape Google Maps reviews?
This Actor uses pay-per-event pricing — you pay only for reviews you actually get. No monthly subscription required. All platform costs (compute, proxy, storage) are included. AI sentiment analysis is included at no extra cost.
| Free plan | Personal ($49/mo) | Team ($499/mo) | |
|---|---|---|---|
| Per review | $0.00025 | $0.00017 | $0.00013 |
| 1,000 reviews | $0.25 | $0.17 | $0.13 |
| 10,000 reviews | $2.50 | $1.70 | $1.30 |
Plus a one-time $0.005 start fee per run.
Real-world cost examples:
| Place | Reviews | Duration | Cost (Free tier) |
|---|---|---|---|
| Yellowstone National Park (20 reviews) | 20 | ~11s | ~$0.01 |
| Yellowstone National Park (50 reviews) | 50 | ~15s | ~$0.02 |
| Popular restaurant (100 reviews) | 100 | ~20s | ~$0.03 |
| Tourist attraction (1,000 reviews) | 1,000 | ~60s | ~$0.26 |
Comparison with alternatives:
| Actor | Price per 1,000 reviews | AI sentiment |
|---|---|---|
| This Actor (Free tier) | $0.25 | Included |
| compass/google-maps-reviews-scraper | $0.60 | No |
| blueorion/fast-google-maps-reviews-scraper | $0.29 | No |
How to scrape Google Maps reviews
- Go to Google Maps and find the place you want to scrape
- Copy the full URL from your browser's address bar
- Open the Actor in Apify Console and paste the URL into Place URLs
- Set Max reviews per place (default: 100, set to 0 for unlimited)
- Choose a Sort order (newest, most relevant, highest rating, or lowest rating)
- Toggle Enable AI sentiment analysis to get sentiment labels, scores, and topics for each review
- Click Start and wait for results
- Export the data as JSON, CSV, Excel, or connect via API
Example input:
{"placeUrls": ["https://www.google.com/maps/place/Statue+of+Liberty+National+Monument/"],"maxReviewsPerPlace": 100,"sortBy": "newest","language": "en","enableAIAnalysis": true}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
placeUrls | string[] | (required) | Google Maps place URLs to scrape reviews from |
maxReviewsPerPlace | integer | 100 | Maximum reviews per place. Set to 0 for unlimited |
sortBy | enum | newest | Sort order: newest, mostRelevant, highestRating, lowestRating |
language | string | en | Language code for reviews (e.g., en, de, fr, ja) |
reviewsOrigin | string | US | Country code for geo-targeting (e.g., US, GB, DE) |
enableAIAnalysis | boolean | false | Analyze each review with AI for sentiment, score, and topic labels |
Output example
Review with AI analysis enabled:
{"reviewId": "Ci9DQUlRQUNvZENodHljRjlvT2t...","reviewUrl": "https://www.google.com/maps/reviews/data=!4m8...","text": "Central Park is a beautiful escape in the middle of the city—peaceful, green, and refreshing, with a perfect blend of nature and urban life.","textTranslated": null,"publishedAt": "2026-02-07T17:06:38.412Z","lastEditedAt": "2026-02-07T17:06:38.412Z","stars": 5,"likesCount": 0,"reviewOrigin": "Google","language": "en","originalLanguage": "en","reviewImageUrls": null,"responseFromOwnerText": null,"responseFromOwnerDate": null,"reviewerName": "Venkatesh Gorantla","reviewerUrl": "https://www.google.com/maps/contrib/102236205422752036810?hl=en","reviewerId": "102236205422752036810","reviewerPhotoUrl": "https://lh3.googleusercontent.com/a/ACg8ocL...","reviewerNumberOfReviews": 0,"isLocalGuide": true,"title": "Central Park","url": "https://www.google.com/maps/place/Central+Park/","placeId": "ChIJ4zGFAZpYwokRGUGph3Mf37k","cid": "13393458397880860953","fid": "0x89c2589a018531e3:0xb9df1f7387a94119","totalScore": 4.8,"reviewsCount": null,"address": "Central Park, New York, NY","categoryName": "Park","categories": ["Park", "Garden", "Tourist attraction"],"location": { "lat": 40.7825547, "lng": -73.9655834 },"imageUrl": "https://lh3.googleusercontent.com/gps-cs-s/...","website": "https://www.centralparknyc.org/","phoneNumber": "(212) 310-6600","scrapedAt": "2026-02-07T17:09:08.932Z","sentiment": "positive","sentimentScore": 0.96,"topics": ["scenery/nature", "atmosphere", "urban escape"]}
Place-level AI summary (when AI analysis is enabled):
{"_type": "placeSummary","title": "Central Park","url": "https://www.google.com/maps/place/Central+Park/","sentimentBreakdown": {"positive": 100,"negative": 0,"neutral": 0,"mixed": 0},"averageSentimentScore": 0.91,"topPraisedTopics": ["tourism", "nature", "atmosphere", "urban escape", "scenic views"],"topComplainedTopics": [],"executiveSummary": "Overall positive reception (100% positive, 0% negative) based on 4 reviews. Customers praise: tourism, nature, atmosphere, urban escape, scenic views."}
Tips for best results
- Enable AI analysis — Get sentiment labels, scores, and topics for every review. Great for filtering positive vs negative feedback in spreadsheets or dashboards.
- Use full Google Maps URLs — Copy the URL directly from your browser. The scraper extracts the place identifier from the URL path.
- Start small — Set
maxReviewsPerPlaceto 10-50 for your first run to verify the output matches your needs before scaling up. - Sort by newest for monitoring — If you're tracking reviews over time, use
sortBy: "newest"and run periodically with a small limit to catch new reviews. - Batch multiple places — Add multiple URLs to
placeUrlsto scrape reviews from several locations in a single run. - Language affects translations — Setting
languageto a different language may trigger Google's auto-translation for reviews originally written in other languages. - Set to 0 for all reviews — Use
maxReviewsPerPlace: 0to scrape every available review for a place (note: popular places may have 50,000+ reviews). - Filter by sentiment in exports — After scraping with AI enabled, export to CSV/Excel and filter by the
sentimentcolumn to quickly isolate negative reviews that need attention.
Integrations
Connect Google Maps Reviews Scraper with your existing tools and workflows:
- Make (formerly Integromat) — Automate review monitoring with scheduled runs
- Zapier — Send new reviews to Slack, Google Sheets, or email
- Google Sheets — Export reviews directly to a spreadsheet
- Slack — Get notified when new reviews are scraped
- GitHub — Trigger scraping from CI/CD pipelines
- Webhooks — Send results to any HTTP endpoint
Using the Apify API
You can start, monitor, and retrieve results programmatically using the Apify API.
Node.js:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/google-maps-reviews-scraper').call({placeUrls: ['https://www.google.com/maps/place/Statue+of+Liberty+National+Monument/'],maxReviewsPerPlace: 100,sortBy: 'newest',language: 'en',enableAIAnalysis: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python:
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('automation-lab/google-maps-reviews-scraper').call(run_input={'placeUrls': ['https://www.google.com/maps/place/Statue+of+Liberty+National+Monument/'],'maxReviewsPerPlace': 100,'sortBy': 'newest','language': 'en','enableAIAnalysis': True,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
FAQ
How many reviews can I scrape per place?
Set maxReviewsPerPlace to 0 for unlimited. The scraper paginates through all available reviews automatically. Popular tourist attractions can have 50,000+ reviews.
How fast is the scraper? The scraper processes approximately 1,000 reviews per minute per place. Speed depends on the number of review pages and network conditions.
Does it work with any Google Maps place? Yes — restaurants, hotels, attractions, stores, parks, hospitals, and any other place that has a Google Maps listing with reviews.
Can I scrape reviews in languages other than English?
Yes. Set the language parameter to any language code Google Maps supports (e.g., de for German, fr for French, ja for Japanese). Reviews written in other languages may include automatic translations.
What sort options are available?
Four options: newest (most recent first), mostRelevant (Google's default ranking), highestRating (5-star first), lowestRating (1-star first).
What happens if a place URL is invalid? The scraper logs a warning and continues to the next URL. Invalid URLs don't incur review charges — you only pay for successfully extracted reviews.
How does AI sentiment analysis work? When enabled, each review is analyzed by an AI model that classifies its sentiment (positive/negative/neutral/mixed), assigns a score from 0.0 to 1.0, and extracts 1-3 topic labels describing what the review is about. You also get a place-level summary with overall sentiment breakdown and the most praised and complained-about topics.
Does AI analysis cost extra? No. AI sentiment analysis is included at no extra cost. You only pay the standard per-review price.
Can I use this without AI analysis?
Yes. AI analysis is off by default. The scraper works exactly the same as before when enableAIAnalysis is not enabled — you get all 30+ review fields without any AI processing.
Related scrapers
- Google Maps Scraper — Scrape place details, ratings, and contact info from Google Maps search results
- Google Search Scraper — Extract organic results, ads, and knowledge panels from Google Search
- Yelp Scraper — Scrape business reviews and ratings from Yelp
- TripAdvisor Scraper — Extract hotel and restaurant reviews from TripAdvisor