Google Maps Reviews Scraper & API - Ratings, Owner Replies
Pricing
$1.00 / 1,000 review scrapeds
Google Maps Reviews Scraper & API - Ratings, Owner Replies
Scrape Google Maps reviews for any place: star rating, total review count and a sample with stars, text, reviewer profile, date, owner reply and photo links. One row per place as JSON or CSV, via a Google Maps reviews API for business reputation monitoring and local SEO. $1 per 1,000 reviews.
Pricing
$1.00 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
15
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Google Maps Reviews Scraper: Google Reviews with Ratings, Owner Replies and Photos
This Google reviews scraper exports public Google Maps reviews for the places you specify, so you can monitor your own reputation, compare competitors or feed local SEO reports. Each dataset row represents one place and contains its star rating, total review count and a nested list of reviews with reviewer details, star ratings, review dates, photo links and owner replies. The same rows are readable as a Google Maps reviews API, which makes the Actor usable for business reputation monitoring without writing scraping code.
Paste one or more Google Maps place links, run the Actor and download the result as JSON, CSV or Excel, or read it through the Apify API. There is no start fee: you pay $1 per 1,000 delivered reviews.
What the Google reviews scraper returns
The Actor reads the review sample available on a Google Maps place panel. This is a sample, not a promise to export every review for a business. Google currently makes up to eight reviews available through this place response, and the available sample can vary. A place with thousands of reviews may therefore return only a few review records. The total review count and the number returned are separate fields so you can distinguish them.
You receive one row for every processed place URL. Repeating a URL keeps separate rows in input order. Reviews remain nested under their place, which preserves the existing dataset format. JSON is the most convenient export when you want to retain these lists. You can also access the dataset through the Apify API and transform the reviews into individual records in your own application.
Per place you get:
- place name, place identifier, star rating and the total number of reviews on Google;
- the number of reviews returned in this run;
- per review: star rating, review text, reviewer name, profile link, avatar and review count, relative time and exact publication timestamp, owner reply with its timestamp, and links to review photos.
How to scrape Google reviews
- Open Google Maps, search for the business and click it so its place panel opens.
- Copy the URL from the address bar (or use the share button and copy the short link).
- Paste one or more of those links into
place_urlsand start the run. - Download the dataset in the format you need, or schedule the Actor to collect the same places every day or week.
Input
place_urls is the required list of Google Maps place URLs. Open a particular place and copy its address-bar URL. A supported full URL contains its internal place identifier in the data portion. Shared place links are also accepted. A Maps search URL or a URL containing only a place name may lack the identifier needed to retrieve reviews; it produces a descriptive error row without a review charge.
max_reviews_per_place defaults to 50 for compatibility with the existing Actor input. The effective value is limited to 1–50. This parameter caps the available sample; increasing it does not turn the sample into a full review-history export. Set it to three, for example, to receive at most three reviews per place. The actual number may be lower when fewer reviews are available.
use_cookies retains its existing default of true. It remains accepted when set to false; the Actor may still use a healthy Google session to improve the available result. Existing integrations that supply use_proxy remain compatible. The optional hl and gl parameters select the Google Maps language and country; their defaults are en and us. The language can affect place names, relative-time labels and which reviews appear in the sample.
| field | type | default | meaning |
|---|---|---|---|
place_urls | array of strings | (required) | Google Maps place URLs or shared place links |
max_reviews_per_place | integer | 50 | cap on reviews per place, clamped to 1–50 |
use_cookies | boolean | true | legacy option, still accepted |
use_proxy | boolean | false | legacy option, still accepted |
hl | string | en | Google Maps language |
gl | string | us | Google Maps country |
cursor | string | (empty) | optional zero-based position in the place list; omit to start at the first place |
Example input:
{"place_urls": ["https://www.google.com/maps/place/The+Pantry/data=!4m7!3m6!1s0x47c609e91734d71b:0xb13072d0007a87d1!8m2!3d52.3634845!4d4.8849427!16s%2Fg%2F1tfxfwsp"],"max_reviews_per_place": 50,"use_cookies": true}
The checked-in examples come from real runs of this Actor, including The Pantry, the Eiffel Tower and the Statue of Liberty. Their original inputs and recorded outputs are retained as compatibility evidence. Review samples and totals can change between runs, so an example is evidence of the output shape rather than a fixed future response.
Output fields
Each successful place row retains place_url, place_name, place_fid, place_rating, total_reviews_on_google, reviews_count_returned and reviews. The original URL is preserved, including when the input was a shared link. Ratings and counts can be null if Google does not provide them; missing values are not estimated.
Every review keeps review_id, reviewer_name, reviewer_profile_url, reviewer_profile_id, reviewer_avatar_url, reviewer_review_count, rating, relative_time, text, owner_response and photos. Text or owner replies can be null. Photos are a list of available public image URLs, not downloaded image files.
The legacy review_id field remains unchanged: it is a place identifier repeated across the sample. Use the added review_id_google field when you need the actual Google review identifier. published_at and owner_response_published_at provide absolute timestamps when present in the response. Place rows also include fetched_at and standard aliases such as name, url, rating and reviews_count.
An unavailable or unparseable place can produce a row with place_url and error, plus error_detail where available. Other places continue processing. The run summary records places requested, places delivered, failed places, reviews delivered and upstream error codes. Larger input lists are collected in batches automatically without changing the dataset row format.
Example output
A real row from the run for The Pantry in Amsterdam (run of 3 October 2026). The place returned eight reviews; one is shown here.
{"place_url": "https://www.google.com/maps/place/The+Pantry/data=!4m7!3m6!1s0x47c609e91734d71b:0xb13072d0007a87d1!8m2!3d52.3634845!4d4.8849427!16s%2Fg%2F1tfxfwsp","place_name": "The Pantry","place_fid": "0x47c609e91734d71b:0xb13072d0007a87d1","place_rating": 4.7,"total_reviews_on_google": 9889,"reviews_count_returned": 8,"reviews": [{"review_id": "0x0:0xb13072d0007a87d1","reviewer_name": "Charlie","reviewer_profile_url": "https://www.google.com/maps/contrib/111021807696244043445/reviews?hl=en-US","reviewer_profile_id": "111021807696244043445","reviewer_avatar_url": "https://lh3.googleusercontent.com/a-/ALV-UjVlEEYuZYT13u5d2Pykju3h0jK_ixnOM6blke4p-B_tyXg3dLF7ow=s120-c-rp-mo-ba12-br100","reviewer_review_count": 472,"rating": 4,"relative_time": "a month ago","text": "The Pantry is a good place to try classic Dutch dishes, with prix fixe meals offering different combinations so you can sample a variety of traditional options. The portions are satisfying, and the menu makes it easy to build a meal around your preferences.\n\nI’d recommend going during off-peak hours if possible, as it gets very busy in the evenings. The atmosphere is lively, but expect a crowded restaurant and potentially longer waits at night.","owner_response": "Dear Charlie, thank you very much for your visit and beautiful comment. It was our pleasure to give you a good Dutch food and hospitality experience. Hopefully until another time. Greetings from the Pantry family ","photos": []}],"source": "google-maps-reviews-scraper","platform": "google_maps","fetched_at": "2026-10-03T11:03:41.064Z","name": "The Pantry","url": "https://www.google.com/maps/place/The+Pantry/data=!4m7!3m6!1s0x47c609e91734d71b:0xb13072d0007a87d1!8m2!3d52.3634845!4d4.8849427!16s%2Fg%2F1tfxfwsp","rating": 4.7,"reviews_count": 9889}
Use cases
- Reputation monitoring for business locations. Schedule the Actor for your own locations and get alerted to new low ratings, or check whether every review received an owner reply.
- Competitor research. Compare the rating, review volume and recent customer feedback of competing restaurants, shops, hotels or clinics in the same area.
- Local SEO and agency reporting. Track review counts and average rating per client location over time and add recent review snippets to monthly reports.
- Sentiment and text analysis. Feed review texts and star ratings into your own sentiment model, spreadsheet or BI tool.
- Multi-location brands. Collect the current review sample for every branch in one run, with one row per location.
Google reviews scraper compared with the alternatives
- The official Google reviews API. Google's own place details endpoint returns at most five reviews per place, needs a Google Cloud project with billing and an API key, and has its own usage terms. This Actor needs only place links and returns up to eight reviews plus reviewer profiles, photo links and owner replies.
- Copying reviews by hand. Fine for one place, slow for dozens. The Actor returns the same public information in a consistent structure that you can export to CSV or Excel.
- Full review-history scrapers. Some tools scroll through every review of a place. Use those when you need the complete history of a single business. This Actor is built for fast, low-cost snapshots of many places: the rating, the total count and the recent sample, at $1 per 1,000 reviews and no start fee.
Google Maps reviews API and export
Every run stores its dataset in your Apify account, and that dataset is the API side of this Google reviews scraper. The Apify API exposes the run and dataset endpoints over HTTPS: start a run with your input, wait for it to finish, then read the dataset items as JSON. No Google account, Google Cloud project or Google API key is involved, and no scraping code has to be maintained on your side.
What this means in practice:
- JSON as the native format. Reviews stay nested under their place, so one API call returns the place record with its review list intact. Transform them into individual review records in your own application when you need that shape.
- CSV and Excel export. The same dataset downloads as CSV, Excel, XML or HTML. Because reviews are nested, CSV and Excel flatten them into numbered columns, while JSON preserves the list.
- Scheduling. Use the Actor's schedule to collect the same place list every day or week and read each run's dataset through the API, which is how continuous business reputation monitoring stays current.
- Stable fields. Field names and types stay as documented above, including the added
review_id_google,published_atandowner_response_published_at, so a downstream integration does not break on a schema surprise. - Cost control. The API bills the same $0.001 per delivered review as a run started from the website, so an automated pipeline costs exactly what a manual run costs.
A minimal API flow looks like this: start a run with place_urls, poll the run until its status is SUCCEEDED, then request the dataset items. Larger place lists are collected automatically in batches within the same run, while each dataset row retains the same format.
Pricing
The existing price is $0.001 per delivered review, equivalent to $1 per 1,000 reviews. The billable event is a review inside a place row, not the place row itself. A place returning eight reviews accounts for eight review events; a place returning three accounts for three. Rows containing no reviews, including error rows, do not incur review events. There is no review start fee.
Example: ten places with eight reviews each deliver 80 reviews and cost $0.08 in review events.
Users without a paid Apify plan receive at most ten place rows per run. As in the existing Actor, review-event charging is capped at ten for those runs. Paid users retain the requested place list. Apify platform usage follows the account's own plan and is separate from the Actor's review-event price.
FAQ
Does this export all Google Maps reviews?
It exports the sample returned by the place panel, currently up to eight reviews per place. It does not promise complete history or review pagination. total_reviews_on_google reports the public total separately from reviews_count_returned.
Why are two runs different?
Google can change the displayed sample, review totals and language-specific selection. Compare actual review identifiers and timestamps when matching records across runs, and retain fetched_at to identify when each place was collected.
Are owner replies and photos always present?
Only when the source provides them. An owner reply may be null, and the photo list may be empty. The Actor keeps those field types consistent so downstream processing can handle missing content explicitly.
Are failed places charged?
No review events are charged for a place that delivers no reviews. Error rows explain unsupported links or an unavailable response, while the summary reports what was delivered. A batch can still contain successful results from other places.
Can I export Google reviews to CSV or Excel?
Yes. Every Apify dataset can be downloaded as JSON, CSV, Excel, XML or HTML. Because reviews are nested under their place, JSON keeps the structure intact; in CSV and Excel each review becomes a set of numbered columns.
Do I need a Google account or an API key?
No. You only provide public Google Maps place links; you do not need your own Google account, Google Cloud project or API key. The Actor collects publicly visible review information.
Is there a Google Maps reviews API?
Yes. Each run delivers its dataset through the Apify API over HTTPS, so you can start runs, read dataset items as JSON and schedule recurring collections without writing scraper code. The Google Maps reviews API offered here returns the same rows, review lists and field names you see in the dataset, at $0.001 per delivered review.
Can I use it for business reputation monitoring?
Yes. Give it the place links of your own locations or of competing businesses and read back the rating, the total review count and the recent sample with reviewer details, star ratings, review dates, photo links and owner replies. Scheduling the Actor turns that into an ongoing check for new low ratings or unanswered reviews.
Which Google Maps links work?
Links to a single place: the full address-bar URL of an opened place, or a shared short link. Search result pages and links that only contain a place name may produce an error row, which is free.