Pricing
from $0.50 / 1,000 reviews
Google Maps Review Scraper (Pay Per Result)
Scrape Google Maps reviews and return clean, structured data for analytics, monitoring, and workflows.
Pricing
from $0.50 / 1,000 reviews
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
12
Total users
0
Monthly active users
3 months ago
Last modified
Categories
Share
Google Maps Reviews Scraper
Google Maps Reviews Scraper helps you collect structured review data from Google Maps place URLs in a fast, repeatable way.
Use it to:
- monitor brand reputation across multiple locations
- track competitors and compare sentiment over time
- collect review datasets for analysis, dashboards, and AI workflows
- enrich lead research with place-level business context
Instead of manually opening profiles and copying reviews, you can run one Actor job and get clean JSON output ready for automation.
Features
- Works with both short Google Maps share links and full place URLs
- Supports bulk scraping in one run with configurable concurrency
- Lets you control output fields to keep datasets lean
- Returns consistent schema for downstream integrations
- Designed for production workflows on Apify
Output
Results are stored in the run dataset in the Output/Storage tab.
Each dataset item contains:
placename,url,rating,totalReviewCount,categoryaddress(full,street,city,country)phone,website,timezonehours.weekly[](day,isOpen,open,close,display)
scrapedSummaryrequestedMaxReviewsscrapedReviewCountsortOrderscrapedReviewAverageRatingstatus(completeorpartial)errorCodes
reviews[]position,rating,publishedAtauthor(name,profileUrl,reviewCount,photoCount)- optional
text,photos,ownerReplydepending on input toggles
Example Output
{"place":{"name":"<PLACE_NAME>","url":"https://www.google.com/maps/place/<PLACE_PATH>","rating":4.7,"totalReviewCount":1234,"category":"<PLACE_CATEGORY>","address":{"full":"<FULL_ADDRESS>","street":"<STREET>","city":"<CITY>","country":"<COUNTRY>"},"phone":"<PHONE_OR_NULL>","website":"<WEBSITE_OR_NULL>","timezone":"<TIMEZONE_OR_NULL>","hours":{"weekly":[{"day":"monday","isOpen":true,"open":"08:00","close":"18:00","display":"<DISPLAY_TEXT>"}]}},"scrapedSummary":{"requestedMaxReviews":50,"scrapedReviewCount":50,"sortOrder":"newest","scrapedReviewAverageRating":4.5,"status":"complete","errorCodes":[]},"reviews":[{"position":1,"rating":5,"publishedAt":"<PUBLISHED_AT>","author":{"name":"<AUTHOR_NAME>","profileUrl":"<PROFILE_URL_OR_NULL>","reviewCount":42,"photoCount":18},"text":"<TEXT_IF_ENABLED>","photos":[{"url":"<PHOTO_URL>"}],"ownerReply":{"exists":true,"text":"<OWNER_REPLY_TEXT_OR_NULL>","date":"<ISO_DATE_OR_NULL>","relativeDate":"<RELATIVE_DATE_OR_NULL>"}}]}
Input
The actor accepts the following fields:
startUrls(required): list of Google Maps URLsreviewSort(optional, default:Newest)Most relevantNewestHighest ratingLowest rating
maxReviews(optional, default:999)maxConcurrency(optional, default:1, max:3)proxy(optional), e.g.{ "useApifyProxy": true }returnTextReview(optional, default:true)returnPhotos(optional, default:true)returnOwnerReply(optional, default:true)returnEmptyReviews(optional, default:false)
Example Input
{"startUrls":[{"url":"https://maps.app.goo.gl/<SHORT_CODE>"},{"url":"https://www.google.com/maps/place/<PLACE_PATH>"}],"reviewSort":"Newest","maxReviews":50,"maxConcurrency":1,"proxy":{"useApifyProxy":true},"returnTextReview":true,"returnPhotos":true,"returnOwnerReply":true,"returnEmptyReviews":false}
Notes
For power users, check out the monthly rental Actor here: https://apify.com/matthewjames/google-maps-review-scraper
- If a place has fewer reviews than requested, the actor returns the available amount.
- Output fields are controlled by your toggles, so you only pay for and process what you need.
