Google Maps Reviews Scraper
Under maintenancePricing
from $4.99 / 1,000 results
Google Maps Reviews Scraper
Under maintenanceA robust, high-performance utility designed for developer automation, data integration, and AI training. Features built-in captcha bypass, headful/headless browser execution, and proxy support to scrape Google data seamlessly, reliably, and at scale.
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
Coding Frontned
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
18 hours ago
Last modified
Categories
Share
Extracts one flat record per actual public review visible for each supplied exact Google Maps business URL. Business metadata is merged from responses generated by the normally loaded Maps page and the visible business panel; reviewer and review fields come only from visible review cards. Missing facts are omitted, never replaced with nulls or guesses.
{"placeUrls":["https://www.google.com/maps/search/?api=1&query=Eiffel%20Tower&query_place_id=ChIJLU7jZClu5kcR4PcOOO6p3I0"],"maxReviews":3,"sortBy":"newest","language":"en","country":"US","timezone":"Europe/Paris","proxyConfiguration":{"useApifyProxy":false}}
Provide 1–10 placeUrls or the compatibility alias urls (not both and not a generic Maps search URL); each URL must identify one Maps business, for example /maps/place/... or a Maps URL containing cid, place_id, query_place_id, or ftid. maxReviewsPerPlace is the compatibility alias for maxReviews. Sort selection is attempted in the live UI and sortApplied is emitted only after a real Maps menu-option click plus a bounded card refresh wait. The actor fails if no actual reviews are collected rather than emitting synthetic place-only data.
Output includes source-backed business identity/contact/category/rating/location/media when present; real review ID, author profile/image, Local Guide/reviewer activity badges, rating, date, text/translated text, visit/service/context details, likes, owner reply/date, and review media when visible. Reviewer avatars are never included in reviewPhotoUrls. Every emitted record also carries a stable recordId, the loaded sourceUrl, supplied exact business mapsUrl, input ordinal, review rank, availability flags, public-source identity, and transparent browser/proxy/extraction provenance.
The Actor uses ordinary headless Chromium without stealth plugins, webdriver masking, platform spoofing, or modified Maps responses. Direct public navigation is the default. You may explicitly configure an Apify or custom HTTP(S) proxy; setup failures never fall back silently to direct traffic. Locale and timezone settings control normal browser presentation only. The legacy fingerprintProfile field is accepted for compatibility but has no effect; output always reports browserProfile: "standard-chromium".
Every run writes OUTPUT_SUMMARY with item/place counts, success status, route, duration, and any sanitized failure message. Source/challenge/consent and zero-review outcomes exit nonzero. Partial rows, if any place completed before a later failure, remain visible and are reported as partial data rather than a successful complete run.
Run npm run lint, npm test, apify run --purge --input-file qa-inputs/local-validation.json, and npm run validate for local verification. The validator also accepts retrieved cloud JSON on stdin with node validate-datasets.js -.