Google Maps Reviews Scraper - Ratings, Text & Dates
Pricing
from $2.40 / 1,000 results
Google Maps Reviews Scraper - Ratings, Text & Dates
Extract customer reviews from any Google Maps place by search or place URL: reviewer, star rating, review text, date and owner response. Reliable Playwright automation. Perfect for reputation monitoring, review analysis, local SEO and market research.
Pricing
from $2.40 / 1,000 results
Rating
0.0
(0)
Developer
Ben
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
3
Monthly active users
7 days ago
Last modified
Categories
Share
⭐ Google Maps Reviews Scraper
Pull customer reviews from any Google Maps place — by keyword + location, or by pasting specific place URLs. You get one clean row per review: reviewer name, star rating, full review text, date, and the owner's response. Reliable browser automation, sorted newest-first by default.
Perfect for reputation monitoring, review/sentiment analysis, local SEO and competitor research. Export to JSON/CSV/Excel, run on a schedule, call via API, or connect to Make, Zapier or n8n.
🔎 What is the Google Maps Reviews Scraper?
Give it a search (e.g. "restaurants in New York") or a list of Google Maps place URLs, and it opens each place, loads the reviews, and extracts them into structured rows — including the business owner's replies. Track your own reviews, watch competitors, or analyze a whole category of local businesses.
What data does it extract?
- Place name and URL
- Reviewer name
- Star rating (1–5)
- Review text (full, auto-expanded)
- Relative date (e.g. "a month ago")
- Owner response (when present)
- Review ID + the original search query/location
⬇️ Input
| Field | Type | Description |
|---|---|---|
mode | string | search (keyword + location) or place_urls (specific places). Required. |
query | string | What to search for, e.g. restaurants. Used in search mode. |
location | string | City or region, e.g. New York, NY. Used in search mode. |
placeUrls | array | Google Maps place URLs. Used in place_urls mode. |
maxPlaces | integer | Max places to scrape (search mode). Default 3. |
maxReviewsPerPlace | integer | Max reviews per place. Default 30. |
sortNewest | boolean | Sort reviews newest-first. Default true. |
Example input
{"mode": "search","query": "coffee shops","location": "Austin, TX","maxPlaces": 10,"maxReviewsPerPlace": 100}
Have specific places? Switch modes:
{"mode": "place_urls","placeUrls": ["https://www.google.com/maps/place/..."],"maxReviewsPerPlace": 500}
⬆️ Output
One record per review:
{"place_name": "Joe's Coffee","place_url": "https://www.google.com/maps/place/...","author": "Jane D.","rating": 5,"text": "Best flat white in town, friendly staff and fast service.","date": "2 weeks ago","owner_response": "Thank you so much, Jane — see you soon!","review_id": "ChdDSUhN...","search_query": "coffee shops","search_location": "Austin, TX"}
💡 Use cases
- 🛡️ Reputation monitoring — track new reviews for your business (or clients') on a schedule and get alerted to negatives.
- 📊 Sentiment & review analysis — feed reviews into an LLM or BI tool to find themes, complaints and strengths.
- 🔍 Competitor research — see what customers praise and criticize about rival local businesses.
- 📍 Local SEO & agencies — report on ratings and review velocity across many locations.
❓ FAQ
Do I need an API key or login? No — a search or place URL is enough.
Can I scrape reviews for many places at once? Yes — use search mode with maxPlaces, or paste multiple placeUrls.
How many reviews can I get per place? Up to your maxReviewsPerPlace limit; it scrolls to load more.
Does it include the owner's replies? Yes, when the owner has responded.
Can I get only the newest reviews? Yes — sortNewest (default on) sorts newest-first.
Can I schedule it / pipe results onward? Yes — recurring runs + API/Make/Zapier/n8n.
How does pricing work? Pay per review returned. No subscription.
Is it legal? It reads publicly available review data. Use responsibly and within applicable terms and law.
🔗 You might also like
- Google Maps Email Scraper — local business leads with verified emails.
- Google Maps Business Scraper — full business data + lead scoring.
- App Store Reviews Scraper — reviews from the Apple App Store.
Keywords: google maps reviews scraper, google reviews scraper, review scraper, reputation monitoring, scrape google reviews, customer reviews data, local seo reviews, business reviews scraper, review sentiment analysis, google maps ratings, competitor review analysis, owner responses, place reviews export, review monitoring tool
Workflow and data quality
For best results, run this actor as part of a repeatable data pipeline rather than a one-off scrape. Start with a focused input, export the dataset to CSV or JSON, and keep a stable unique field such as URL, ID, domain, package name or title as your deduplication key. Schedule the same task daily or weekly when you need monitoring, then compare each new dataset with the previous run to identify fresh records, removed records and changed fields.
The output is designed to be practical for business workflows: spreadsheets, dashboards, enrichment steps, alerts, CRM imports and lightweight internal APIs. Null values mean the source did not provide that field, not that the actor guessed. For larger projects, combine this actor with related Apify scrapers and use the shared URL/company/domain fields to build a richer dataset without manual copy-paste work.
Common business workflows
Many users run this actor after they have already narrowed a market, niche or topic and need clean records they can act on. A practical setup is to create one saved task per segment, name each task after the market you are tracking, and send every run to a spreadsheet or database. From there you can build alerts, compare trends, enrich records with contact data, or hand the dataset to a sales, research or operations team.
When using the data for lead generation or competitive monitoring, keep the original source URL in your system. It gives your team a way to review the live page, verify context and avoid treating scraped data as a black box. For analytics, keep the run date and input query alongside each row so you can measure changes over time instead of only looking at one snapshot.