Google Reviews Scraper – Google Maps Reviews & Ratings
Pricing
from $2.00 / 1,000 results
Google Reviews Scraper – Google Maps Reviews & Ratings
Extract Google Maps business details and a limited preview of public reviews. Includes ratings, review text and available replies, with budget controls and a run coverage report. Full review history and newest-first order are not guaranteed.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
ninhothedev
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does Google Reviews Scraper do?
Extract Google Maps business details and a limited preview of public reviews from Google Maps. Supply a full Maps place URL, a place ID, or a business search query. Export the resulting dataset or retrieve it through the Apify API.
This Actor does not guarantee full review history, all photos, or newest-first ordering. Logged-out access may expose only a few reviews even when a place has thousands. Increasing maxReviews does not unlock the rest. Read RUN_SUMMARY before using results for monitoring or analysis.
When is this useful?
Use it for a small review sample, business metadata enrichment, or checking the rating and publicly visible feedback of known locations. Apify provides scheduling and API access, but repeated runs are snapshots: the Actor cannot guarantee that every new review is captured. For complete historical analysis or reliable chronological alerts, first verify that your coverage requirements can be met.
How to scrape Google Maps reviews
- Open the Input tab and enter a full Google Maps place URL. Short
maps.app.goo.gllinks are not supported; open the link and copy the full Maps URL. - Set a small review limit, such as 3, for the first test.
- Set the run's maximum total charge in Apify and start the Actor.
- Open the dataset and the Coverage and delivery summary output. Check the resolved business name, delivered review count and each query's reason.
Business search queries select the first matching place and can resolve to a different branch. Verify the returned name, URL and address. If queries is omitted, the Actor uses the Cologne Cathedral demo. An explicitly empty or invalid list fails instead of silently scraping that demo.
Input
See the Input tab for all configuration options. maxReviews is an upper bound per business, from 1 to 500, with a default of 20. One additional business record is produced per successful query. Repeated identical input queries are collapsed; different queries that resolve to the same place are separate requests.
sortBy requests newest, most_relevant, highest_rating or lowest_rating. Google may ignore the requested order in preview mode; sortVerified remains false. language selects the browser interface, not a review-language filter. Optional proxy settings do not guarantee full access. Invalid proxy setup fails visibly.
Small example:
{"queries": ["https://www.google.com/maps/place/K%C3%B6lner+Dom/@50.9412784,6.9582814,17z/data=!3m1!4b1!4m6!3m5!1s0x47bf25a5369c3d2f:0x29ec913896e3a9c6!8m2!3d50.9412784!4d6.9582814!16zL20vMGE0bmw"],"maxReviews": 3,"sortBy": "newest","language": "de"}
What data is returned?
The dataset contains two record types. Both are billable results. Unavailable values remain empty or null; field availability varies by page.
| Type | Fields | Meaning |
|---|---|---|
business | name, url, place_id, external_id | Resolved place and source identifiers; identifiers may use Google's hexadecimal feature-ID format |
business | overall_rating, total_reviews, address, phone, website | Available place metadata; total reviews is the displayed source count, not the number delivered |
review | business_name, review_id, rating, text | Visible public review content and rating |
review | reviewer_name, date_published, language | Public author name, parsed date and heuristic language estimate |
review | owner_reply, photos | Reply and image links when exposed in the preview |
| both | _queryIndex, _recordKey | Zero-based input query index and run-local deduplication key |
Relative dates such as “a month ago” are approximate. Date parsing is strongest for German and English; do not treat every parsed date as an exact publication timestamp.
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. This shortened output is illustrative, not a verified customer result:
[{"type":"business","name":"Example Cafe","overall_rating":4.5,"total_reviews":120},{"type":"review","business_name":"Example Cafe","review_id":"example-id","rating":5,"text":"Example review text"}]
Coverage, budget and restarting a run
RUN_SUMMARY in the default key-value store reports deliveredBusinesses, deliveredReviews, deliveredItems, newItems, resumedItems, per-query results and source errors. fullReviewCoverage is always false. complete means every query reached the requested review limit, not that the business's full history was collected. partial identifies preview shortages, unavailable reviews, failed queries or a budget stop. A run with no identifiable businesses fails unless the result budget prevented source work. A valid business with no accessible reviews can still produce a billable business row.
The remaining result allowance is checked before browser startup and each query. A one-row allowance produces only business metadata. Dataset counts use the SDK's accepted records. Storage and billing errors fail the run instead of becoming misleading success messages.
Restarting the same run with the same content input rebuilds delivered-record keys from its dataset and skips completed queries. Partial queries may be fetched again, with duplicate rows skipped. Changed content input or an old dataset without a compatible checkpoint requires a fresh run. Separate new runs do not share deduplication state. Abrupt platform termination may leave an incomplete summary; inspect run status as well.
How much does it cost?
The current base price is $0.002 per dataset row ($2 per 1,000 rows), plus an Actor-start event of $0.00005 per GB of allocated memory, minimum one event. At the default 1 GB, the start charge is $0.00005. One business plus three reviews therefore costs $0.00805 at this base rate; one business with zero reviews still costs $0.00205. See the Pricing tab for the price applying to your account. A maximum-charge limit can stop a run before its input review limit is reached.
The default example was checked with 1 GB of memory. Larger batches and other places can need more memory; if a run runs out of memory, retry with 2 GB and inspect its coverage report. The Actor processes businesses sequentially.
API access and support
Use the API tab for authenticated endpoint examples. Retrieve both dataset items and the RUN_SUMMARY record when integrating with an application. When reporting a problem in the Issues tab, include the run ID, the business URL and expected versus delivered coverage. Do not post API tokens or private credentials.
Why are reviews missing or out of order?
Google's logged-out page can show a restricted sample, ignore sorting, present a consent page, or block a request. A higher limit or proxy does not guarantee more reviews. A missing review does not establish that it was deleted. Retry a full place URL after inspecting the summary; avoid blindly rerunning large batches.
Can I collect private account data?
This Actor uses publicly visible pages without a Google login. Public review content can still contain personal information; collect and retain only what you need for your permitted use. It is not affiliated with or endorsed by Google.