Google Maps Reviews Scraper Pro
Pricing
$0.50 / 1,000 results
Google Maps Reviews Scraper Pro
Extract Google Maps reviews with review text, ratings, dates, photos, and owner responses for reputation management, local SEO, and market research. Filter by date and rating, isolate photo or owner-answered reviews, skip textless reviews, and get a per-place analytics summary.
Pricing
$0.50 / 1,000 results
Rating
0.0
(0)
Developer
Goldenbios
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract Google Maps reviews with the data fields and controls serious review analysis needs: review text, star ratings, publication dates, reviewer details, photos, and owner responses. Use it for reputation management, local SEO, customer research, competitor monitoring, and review reporting without copying reviews from Google Maps by hand.
Google Maps Reviews Scraper Pro goes beyond a basic list of reviews. It can isolate the exact slice you need with date and rating filters, return only reviews with photos, return only reviews answered or not answered by the owner, and remove textless reviews before export. Every place can also produce an analytics summary with a rating histogram, average rating, owner response rate, photo rate, reviews per month, and completeness accounting that compares the reviews fetched with the total reported by Google.
Why switch
| Capability | Google Maps Reviews Scraper Pro | Most popular alternative |
|---|---|---|
| Extract review text, ratings, dates, photos, and owner responses | Yes | Yes |
| Full date range with both a start date and an end date | Yes | No end date |
| Minimum and maximum rating filters | Yes | No |
| Return only reviews with photos | Yes | No |
| Return only reviews with an owner response | Yes | No |
| Return only unanswered reviews | Yes | No |
| Skip textless, star-only reviews | Yes | No |
| Use Google Maps share links, including share.google links | Yes | No |
| Per-place analytics summary | Yes | No |
| Completeness accounting against the Google reported total | Yes | No |
| Resume an interrupted run from saved progress | Yes | No |
What you can do with it
- Audit a business and find reviews the owner has not answered.
- Collect low-rated reviews for customer support and service recovery.
- Track review volume, rating trends, photo usage, and owner response rates.
- Compare locations or competitors over a defined date range.
- Export structured review data to JSON, CSV, Excel, or your own pipeline through the Apify API.
- Build a clean review dataset by removing star-only reviews or focusing on reviews with written feedback and photos.
Inputs
| Input | Description | Default |
|---|---|---|
startUrls | Google Maps place URLs. Full place URLs and short share links are supported, including share.google, goo.gl/maps, and maps.app.goo.gl links. | Example place URL prefilled |
placeIds | Google Place IDs beginning with ChIJ or Google Maps feature IDs in the 0x...:0x... format. | Empty |
maxReviews | Maximum number of reviews to return for each place. | 10,000,000 |
reviewsSort | Sort order: newest, mostRelevant, highestRanking, or lowestRanking. | newest |
reviewsStartDate | Only return reviews published on or after this date, in YYYY-MM-DD format. | Empty |
reviewsEndDate | Only return reviews published on or before this date, in YYYY-MM-DD format. | Empty |
reviewsFilterString | Only return reviews whose text contains this keyword, ignoring case. | Empty |
language | Language code for the result context, such as en, fr, de, es, or ar. | en |
reviewsOrigin | Choose reviews from all sources Google aggregates or native Google reviews only. | all |
minRating | Only return reviews with at least this rating. Use it alone or with maxRating to create a rating range. | Empty |
maxRating | Only return reviews with at most this rating. Use it alone or with minRating to create a rating range. | Empty |
onlyWithPhotos | Return only reviews that include at least one photo. | false |
onlyWithOwnerResponse | Return only reviews that have an owner response. | false |
onlyUnanswered | Return only reviews that do not have an owner response. | false |
skipTextlessReviews | Exclude reviews that contain a rating but no written text. | false |
personalData | Include reviewer names, profile links, avatars, and reviewer statistics when available. Turn it off to remove those fields from review items. | true |
includeSummary | Add one summary item for each place with analytics and completeness accounting. | true |
resume | Save progress during extraction and reuse it if the same run is restarted. | true |
maxPagesSafety | Internal safety limit for the maximum number of result pages fetched for one place. | 10,000 |
proxyConfiguration | Proxy settings used by the Actor. The prepared default uses Apify Proxy residential proxies. | Apify Proxy, RESIDENTIAL |
diagnosticMode | Internal measurement mode for support and diagnostics. Leave it off for normal review extraction. | false |
Output
The default dataset contains review items and, when includeSummary is enabled, one summary item for each place. Filter items by the type field.
Review items
Each item with type set to review can contain:
| Field | Description |
|---|---|
placeId, placeName, placeAddress | The Google place associated with the review. Name and address are included when resolved. |
reviewId | Google review identifier. |
reviewUrl | Direct review URL when the source data provides one. This field can be null. |
origin | Review source reported by Google, normally Google on the primary extraction route. |
reviewerName, reviewerProfileUrl, reviewerAvatarUrl | Public reviewer details when available and when personalData is enabled. |
reviewerReviewCount, localGuideLevel | Reviewer statistics when the source data provides them. These fields can be null. |
rating, ratingScale | Review rating and the scale used by the source. |
text, textOriginal, textTranslated | Review text, its original form, and a translation when Google provides one. |
language, translatedLanguage | Language codes for the review and translation, when available. |
publishedAt, publishedAtUnix, publishedAtUnixMicros | Publication time in ISO format and Unix formats, when available. |
updatedAtUnixMicros | Updated time in Unix microseconds, when the source data provides it. |
relativeTime | Google's relative publication label, such as a label equivalent to “3 months ago”, when available. |
photos | URLs of photos attached to the review. |
hasOwnerResponse | Whether the place owner responded to the review. |
ownerResponseText, ownerResponseLanguage | Owner response text and language, when present. |
ownerResponseAt, ownerResponseAtUnix, ownerResponseAtUnixMicros | Owner response time in ISO and Unix formats, when the source data provides it. These fields can be null. |
likeCount | Review like count when the source data provides it. This field can be null. |
Summary items
Each item with type set to summary describes one place and the extraction result for that place:
| Field | Description |
|---|---|
placeId, placeName, placeAddress, placeUrl | Place identity and source URL. Name and address are included when resolved. |
googleReportedTotal | Total review count reported by Google for the place, when it can be resolved. |
fetchedCount | Unique valid reviews fetched before output filters were applied. |
emittedCount | Reviews written to the dataset after filters were applied. |
duplicatesSkipped | Duplicate review records skipped during extraction. |
malformedDropped | Source records dropped because they could not be decoded as valid reviews. |
filteredOutCount | Valid reviews removed by the selected filters. |
tokenExhausted | Whether extraction reached the end of the available review pages. |
stoppedReason | Why extraction stopped, such as reaching maxReviews, exhausting the available pages, or reaching a safety limit. |
signedOutCapSuspected | Whether the result shape suggested an anonymous access cap. |
isComplete | Whether pagination reached the end of the available reviews. |
completenessPct | Percentage calculated from fetchedCount divided by googleReportedTotal, when the Google total is available. |
ratingHistogram | Counts of emitted reviews by star rating, from 1 to 5. |
averageRating | Average rating of the emitted reviews. |
pctWithOwnerResponse | Percentage of emitted reviews with an owner response. |
pctWithPhotos | Percentage of emitted reviews with at least one photo. |
reviewsPerMonth | Emitted review counts for the most recent 12 monthly buckets. |
newestReviewAt, oldestReviewAt | Publication dates of the newest and oldest emitted reviews. |
extractionRoute | Internal route label identifying how the reviews were extracted, when a named production route produced the result. |
Failed places can produce an item with type set to error, including the place ID, place URL, error message, and diagnostic details. Diagnostic runs can produce items with type set to diagnostic; normal production runs should leave diagnosticMode off.
Popular recipes
Find unanswered negative reviews
Set minRating to 1, maxRating to 2, and onlyUnanswered to true. This creates a focused list for customer recovery and reputation work.
Build a dated reputation report
Set both reviewsStartDate and reviewsEndDate, keep includeSummary enabled, and use the summary for rating distribution, response rate, photo rate, and review volume by month.
Collect reviews with visual proof
Turn on onlyWithPhotos when you need reviews that include customer photos for research, listings, marketing review, or product analysis.
Remove star-only rows
Turn on skipTextlessReviews when your analysis needs written customer feedback rather than ratings alone.
Monitor new reviews
Use reviewsSort set to newest and run the Actor on a schedule through Apify. Compare each new dataset with the previous export in your own workflow.
FAQ
How much does it cost?
The Actor price is $0.50 per 1,000 reviews. Apify platform usage and any proxy usage are charged separately by Apify under your account and plan. Your total cost therefore depends on the run and the proxy settings you choose.
Will I always get every review?
The Actor paginates through the reviews Google makes available and reports what happened in the summary. Check googleReportedTotal, fetchedCount, isComplete, tokenExhausted, and stoppedReason to see whether the result reached the end or stopped because of a limit you selected. This accounting is intentional: a partial result is labeled as partial instead of being presented as complete.
Which languages are supported?
Use the language input with a language code such as en, fr, de, es, or ar. Review items preserve the review text supplied by Google and include language fields when available. A translated text field is included only when the source data provides a translation.
Can I use it through the API?
Yes. Start the Actor with the Apify API or client libraries, pass the same input fields shown above, and read the resulting dataset items through the Apify dataset API. The dataset can also be exported from the Apify Console in common data formats.
Does it accept short Google Maps links?
Yes. Paste a full Google Maps place URL or a short share link. Supported short link hosts include share.google, goo.gl/maps, and maps.app.goo.gl.
What does the summary add?
The summary turns a raw review export into an audit trail. It shows how many reviews were fetched and emitted, how many were duplicates, malformed, or filtered out, whether extraction reached the end, and how the emitted reviews are distributed by rating, owner response, photos, and month.
Honest notes
- This Actor extracts public Google Maps data made available anonymously. It does not use a Google account, private data, or data behind a sign-in.
- Google can change or limit what its public surfaces return. The summary is designed to make limits visible through completeness and stop-reason fields.
googleReportedTotalis best effort. It can be null when Google does not expose or resolve a total for a place, in which casecompletenessPctis also null.- Some source fields are not available for every review or every extraction surface. Nullable fields are returned as null rather than filled with invented values.
- Review availability and ordering can change as Google adds reviews and updates its public result sets.