Google Maps Reviews Scraper - Ratings, Text & Dates avatar

Google Maps Reviews Scraper - Ratings, Text & Dates

Pricing

from $2.40 / 1,000 results

Go to Apify Store
Google Maps Reviews Scraper - Ratings, Text & Dates

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

Ben

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

7 days ago

Last modified

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

FieldTypeDescription
modestringsearch (keyword + location) or place_urls (specific places). Required.
querystringWhat to search for, e.g. restaurants. Used in search mode.
locationstringCity or region, e.g. New York, NY. Used in search mode.
placeUrlsarrayGoogle Maps place URLs. Used in place_urls mode.
maxPlacesintegerMax places to scrape (search mode). Default 3.
maxReviewsPerPlaceintegerMax reviews per place. Default 30.
sortNewestbooleanSort 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


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.