Compass-Compatible Google Maps Reviews Scraper avatar

Compass-Compatible Google Maps Reviews Scraper

Pricing

from $0.09 / 1,000 reviews

Go to Apify Store
Compass-Compatible Google Maps Reviews Scraper

Compass-Compatible Google Maps Reviews Scraper

[From $0.09/1000] Extract data from thousands of Google Maps locations and businesses, including reviews, reviewer details, images, opening hours, prices & more. Export data, run via API, schedule and monitor runs, or integrate with other tools.

Pricing

from $0.09 / 1,000 reviews

Rating

0.0

(0)

Developer

rainminer

rainminer

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

3 hours ago

Last modified

Share

Google Maps Reviews & AI Insights Scraper

3.9x average speedup, 62% cheaper than Compass, 100% field match

Google Maps Reviews & AI Insights Scraper is a drop-in Google Maps reviews job for teams already on Compass Google Maps Scraper: same Place IDs, same newest-first reviews, same field names on the row you already parse. Paste a Google Maps URL or Place ID and export place details plus a nested reviews array with exact publishedAtDate timestamps and owner replies.

On top of that dump you can turn on two add-ons Compass does not ship: AI themes with evidence quotes, and draft owner replies written like that listing's last 5 responses. No Google account, no official Maps API key.


What does Google Maps Reviews & AI Insights Scraper do?

This Actor scrapes public Google Maps listings you already know. It does not search a city or keyword — you bring the places, it returns structured details, reviews, and optional AI insights.

Give it:

  • Google Maps place URLs (/maps/place, /maps/search, cid links, short links)
  • or Google Place IDs (ChIJ…)

Get back one dataset row per place: contact fields, coordinates, opening hours, rating, review count, 1–5 star histogram, and nested reviews[] sorted newest first. Field names match Compass crawler-google-places on a subset — existing readers of title, placeId, reviews, stars, text, publishedAtDate, and responseFromOwnerText keep working. When the add-ons are on, the same row also includes reviewThemes and/or draftReplies.

Set Stop after this review date (90 days, 2025-01-01, or an ISO timestamp) to cut the feed as soon as older reviews appear. That is the incremental-sync path for reputation products.


Why switch from Compass Google Maps Scraper?

If your pipeline already calls Compass with placeIds + maxReviews + reviewsSort: "newest", you can point the same payload here. The scrape output is Compass-shaped on purpose so you are not rewriting parsers.

Compass crawler-google-placesThis Actor
InputPlace IDs, Maps URLs, plus search/discoveryPlace IDs and Maps URLs you already have
Review orderNewest (when you set it)Newest by default, with a date cutoff
Dataset shapeOne place row, nested reviews[]Same shape, same field names (subset)
SpeedBrowser-heavy Maps crawlHTTP-only; a 1,300-review listing finishes in seconds once warm
CompletenessCan stop early on a listingPaginates until Google (or maxReviews) stops
AICompetitor-analysis add-on (other businesses)Themes + draft owner replies in that listing's voice
Google API keyNot requiredNot required

You give up Compass's city/keyword search and the extra place fields we do not emit (imageUrl, likesCount, city, hotel blocks, and similar). You keep the reputation job: newest reviews, exact dates, owner replies, histogram.

Tried on 20 live Compass payloads (same Place IDs, same maxReviews, German listings): every Compass reviewId came back, place fields we emit matched, and review text / stars / dates / owner replies matched. One Compass run returned 1 review on a listing with 52; this Actor returned all 52.

Same Place IDs — run time vs Compass

Compass slows as review count grows; this Actor stays flat

Fifteen unique listings, anonymized. Times are warm Apify cloud runs vs the original Compass durations. Cost is Free-plan PPE on those same Place IDs.


What can this Google Maps reviews scraper do?

  • Extract Google Maps place details: title, address, phone, website, categories, coordinates, hours, rating, histogram
  • Extract Google Maps reviews newest first: text, stars, exact publish time, reviewer profile fields, owner replies
  • Date cutoff so nightly runs only walk what is new
  • Accept the same Place IDs or Maps URLs Compass users already send
  • Run details-only (maxReviews: 0) when you need histogram and contact fields without review text
  • AI themes add-on: recurring topics with evidence quotes, top praise, and complaints
  • Draft owner replies add-on: paste-ready replies in the listing's own voice for the star band you pick (3★ = neutral)
  • Export JSON, CSV, Excel, XML, or HTML, schedule runs, and pull results through the Apify API or integrations

What Google Maps data can you extract?

PlaceReviews
Title, address, street, postal code, countryReview ID and permalink
Phone, website, categoriesReviewer name, profile URL, photo
Coordinates, opening hoursStars, review text, original language
Rating, review count, 1–5 star histogramExact publishedAtDate (ISO)
Place ID, feature ID (fid), CIDOwner reply text

Why scrape Google Maps place details and reviews?

Public Maps listings are the default source for local reputation and store-locator enrichment:

  1. Reputation monitoring — pull last night's reviews for a fixed venue list
  2. Incremental syncreviewsStartDate: "8 days" instead of re-reading the full history
  3. Lead enrichment — attach phone, address, rating, and histogram to known Place IDs
  4. Competitive research — compare star mix and recent comments across nearby businesses
  5. Hotel guest feedback — newest-first reviews for hospitality ops
  6. Restaurant quality tracking — watch 1–2 star spikes after a menu or staff change
  7. Agency client reporting — weekly review velocity and owner-reply coverage
  8. Store locator enrichment — rating and hours on a location directory
  9. Review-velocity trends — count new reviews per week without a Google API quota
  10. Owner-reply SLA — draft replies for unanswered 1–3★ reviews in the listing's voice
  11. Theme mining — recurring praise and complaints with quotes you can show a client
  12. Reply-queue automation — push drafts into a helpdesk or Sheets column
  13. Local SEO audits — categories and public review volume
  14. Market-entry research — recent visitor language for a shortlist of sites

How to scrape Google Maps reviews

  1. Open this Actor in Apify Console.
  2. Add Google Maps place URLs and/or Place IDs (the same strings you send Compass).
  3. Set Max reviews per place (or 0 for details only).
  4. Optionally set Stop after this review date (30 days or 2025-06-01).
  5. Keep Newest sort when you use a date cutoff.
  6. Optionally turn on AI themes and/or Draft owner replies (off unless you set the flags via API).
  7. If drafts are on, pick Draft replies for these ratings (3★ = neutral).
  8. Run and download the dataset. Schedule it, or call it from the Apify API like any other Actor.

maxReviews applies per place. Ten places at maxReviews: 20 return up to 200 reviews.


Input

{
"startUrls": [
{
"url": "https://www.google.com/maps/search/?api=1&query=Dumpling%20House&query_place_id=ChIJD2l2k7ZL0YkRC80d-3MV1lM"
}
],
"placeIds": ["ChIJD2l2k7ZL0YkRC80d-3MV1lM"],
"maxReviews": 5,
"reviewsStartDate": "3 months",
"reviewsSort": "newest",
"includeReviewThemes": true,
"includeDraftReplies": true,
"draftReplyRatings": "negativeAndNeutral",
"language": "en"
}

Provide at least one place URL or Place ID.

FieldTypeDefaultDescription
startUrlsArray of { url }Google Maps place URLs (/maps/place, /maps/search, /maps?cid=, short links)
placeIdsArray of stringsGoogle Place IDs (ChIJ… / GhIJ…)
maxReviewsInteger5Max reviews per place. 0 = details only (histogram still included)
reviewsStartDateStringStop when a review is older than this. 2024-05-03, ISO datetime (UTC), or relative (8 days, 3 months)
reviewsSortStringnewestnewest, mostRelevant, highestRating, or lowestRating
includeReviewThemesBooleanfalseAI themes add-on. Console try-for-free prefills this on.
includeDraftRepliesBooleanfalseDraft owner replies add-on, styled like the listing's last 5 owner responses.
draftReplyRatingsStringnegativeAndNeutralUnanswered ratings to draft: negative, negativeAndNeutral, neutral, positiveAndNeutral, positive. 3★ = neutral.
languageStringenGoogle Maps UI language — affects relative dates and opening-hours labels
proxyConfigurationObjectApify ProxyRecommended on the platform; switch to residential groups if you hit blocks

The date cutoff needs the default newest sort: the Actor walks newest → oldest and stops at the first review older than reviewsStartDate.

Compass callers: keep placeIds, maxReviews, language, and reviewsSort. Ignore Compass-only flags (maxCrawledPlaces, searchStringsArray, image/leads options). Leave both AI flags off for a scrape-only row.


Output

Each dataset item is one place, with reviews nested on the same row (the shape reputation products already consume). The Output tab has two views: Overview (one row per place) and Reviews (one row per review, with reviewer, stars, text, date, and owner reply).

You can download the dataset in JSON, HTML, CSV, Excel, XML, or via the Apify API.

{
"title": "OG Dumpling House",
"address": "410 Jefferson Rd, Rochester, NY 14623, United States",
"street": "410 Jefferson Rd",
"postalCode": "14623",
"state": "NY",
"countryCode": "US",
"website": "http://ogdumplinghouseny.com/",
"phone": "+1 585-413-0353",
"phoneUnformatted": "+15854130353",
"categoryName": "Dumpling restaurant",
"categories": ["Dumpling restaurant", "Chinese restaurant"],
"location": { "lat": 43.0903574, "lng": -77.6429184 },
"openingHours": [{ "day": "Wednesday", "hours": "11 AM to 9 PM" }],
"totalScore": 4.5,
"reviewsCount": 1255,
"reviewsDistribution": {
"oneStar": 52,
"twoStar": 22,
"threeStar": 66,
"fourStar": 180,
"fiveStar": 935
},
"placeId": "ChIJD2l2k7ZL0YkRC80d-3MV1lM",
"fid": "0x89d14bb69376690f:0x53d61573fb1dcd0b",
"url": "https://www.google.com/maps/search/?api=1&query=OG%20Dumpling%20House&query_place_id=ChIJD2l2k7ZL0YkRC80d-3MV1lM",
"reviews": [
{
"reviewId": "Ci9DQUlRQUNvZENodHljRjlvT25SVWIzWjVhR1p1TW5WVGJucE9jblJXVFRCSlZIYxAB",
"name": "Jeffrey Brewster",
"text": "fast service and delicious food!",
"publishedAtDate": "2026-08-31T22:20:38.429Z",
"stars": 5,
"reviewUrl": "https://www.google.com/maps/reviews/data=...",
"reviewerId": "106919063158098904284",
"responseFromOwnerText": "Thank you so much, Jeffrey!"
}
]
}
FieldDescription
titleBusiness name
addressFormatted address, with street, postalCode, state, countryCode
phone / phoneUnformattedPublic phone when listed; empty string when Google has none
openingHoursDay and hours pairs (08:00 to 18:00)
totalScoreAverage rating
reviewsCountNumber of Google reviews on the listing
reviewsDistributionStar histogram (oneStarfiveStar)
placeIdGoogle Place ID
fidGoogle feature ID
reviewThemesAI themes add-on. Omitted when that add-on is off
draftRepliesDraft owner replies add-on. Omitted when that add-on is off
draftReplyStyleExamplesThe 5 most recent owner replies used as the voice to copy. Omitted when drafts are off
reviewsNewest-first review objects with text, stars, exact dates, IDs, links, public reviewer fields, and owner responses

Does this search Google Maps by keyword?

No. It only scrapes the places you pass as URLs or Place IDs, which keeps runs predictable. For keyword or area search, use a dedicated Google Maps search Actor (including Compass if that is already how you discover places), then feed those Place IDs here.

Related Actors:


FAQ

Do I get exact review dates?

Yes. Every review has publishedAtDate as an exact ISO timestamp. That is what makes the date cutoff and incremental runs work.

How many reviews can I get per place?

The feed paginates until Google stops returning pages, so several hundred per place is normal. Set maxReviews to the number you need. Combine with reviewsStartDate for nightly syncs that stop once older reviews appear.

How is this different from Compass Google Maps Reviews Scraper?

Compass Google Maps Reviews Scraper (compass/Google-Maps-Reviews-Scraper) is a raw review dump. Compass Google Maps Scraper (compass/crawler-google-places) is the place crawler most reputation pipelines actually call. This Actor is that place-ID + newest + date-cutoff job, with Compass field names on the fields we return, plus two optional AI add-ons: themes with evidence quotes, and draft owner replies in the listing's voice. Compass's paid competitor analysis compares businesses; it does not draft replies as that owner.

Leave the AI flags off and the row stays scrape-only, so existing Compass parsers can keep reading the same keys.

Can I call this like Compass from the Apify API?

Yes. Same platform: start a run with placeIds (and maxReviews / language / reviewsSort if you set them today), then read the default dataset. One item per place, reviews nested. See the API tab on this Actor for language snippets.

Do I need a Google API key or login?

No. This Actor reads public Maps listing and review pages. There is no Google Cloud key, OAuth, or end-user login.

Do I need a proxy?

Google throttles heavy traffic from single IP ranges. Apify Proxy is enabled by default; if you scrape many places or see repeated empty responses, switch the proxy configuration to residential groups.

This Actor collects public listing and review information, including public reviewer names and profile fields. Do not process personal data unless you have a legitimate reason. GDPR and similar laws may apply. If you are unsure, consult a lawyer. See also Apify's guidance on scraping.

Where can I get help?

Open an issue on this Actor's Issues tab in Apify Console. Feature requests for extra Compass fields are welcome there too.