Google Maps Reviews Extractor avatar

Google Maps Reviews Extractor

Pricing

from $0.30 / 1,000 results

Go to Apify Store
Google Maps Reviews Extractor

Google Maps Reviews Extractor

Extract structured customer reviews from one public Google Maps business or place URL.

Pricing

from $0.30 / 1,000 results

Rating

0.0

(0)

Developer

Zapticx

Zapticx

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

Extract real customer reviews from one public Google Maps business or place URL and save every review as a clean row in an Apify Dataset.

This is an unofficial Actor. It is not affiliated with, endorsed by, or sponsored by Google.

Quick start

  1. Open the business in Google Maps.
  2. Copy the URL from your browser's address bar.
  3. Paste it into Google Maps place URL.
  4. Choose how many reviews you want.
  5. Select a review order and click Start.
  6. Open the run's Dataset tab to view or download the results.

Direct access is the tested default and avoids proxy charges. If Google repeatedly returns its limited-view page, enable a working residential proxy in the advanced input.

What you get

Each Dataset item represents one review and can contain:

  • Business name and URL
  • Reviewer name and profile URL
  • Reviewer's review and photo counts
  • Star rating and review text
  • Original and normalized review dates
  • Owner response and response date
  • Review URL and Google review ID

Optional fields are null when Google does not provide them. Duplicate reviews are removed before they are stored.

Input

FieldDescriptionDefault
startUrlOne public Google Maps business/place URLRequired
maxReviewsMaximum unique reviews to collect, from 1 to 50050
sortrelevant, newest, highest, or lowestrelevant
proxyConfigurationOptional connection used to load Google MapsDirect (proxy off)

Example:

{
"startUrl": "https://www.google.com/maps/place/EXAMPLE/...",
"maxReviews": 50,
"sort": "newest",
"proxyConfiguration": {
"useApifyProxy": false
}
}

Output example

{
"businessName": "Example Coffee",
"businessUrl": "https://www.google.com/maps/place/EXAMPLE/...",
"reviewerName": "Example Reviewer",
"reviewerProfileUrl": "https://www.google.com/maps/contrib/...",
"reviewerReviewCount": 12,
"reviewerPhotoCount": 3,
"rating": 5.0,
"reviewText": "Friendly staff and excellent coffee.",
"reviewDate": "2026-08-06",
"reviewDateRaw": "a week ago",
"ownerResponse": "Thank you for visiting!",
"ownerResponseDate": "5 days ago",
"reviewUrl": null,
"reviewId": "Google-provided-review-id"
}

This example only demonstrates the record structure. The Actor never adds sample reviews to your Dataset.

How it works

Google Maps URL
→ open the business reviews
→ apply the selected order
→ load more review cards
→ extract and remove duplicates
→ save each review to the Dataset

The Actor stops when it reaches maxReviews or when Google has no more reviews to load. A failed or blocked page produces a clear error instead of an empty, apparently successful run.

Downloading results

Open Storage → Dataset after a run. Apify can export the results as JSON, CSV, Excel, XML, RSS, or JSONL. You can also access the Dataset through the Apify API.

Run locally

Python 3.11 or newer is recommended.

python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements-dev.txt
playwright install chromium

Replace the placeholder URL in INPUT.json, then run:

$python -m src

Local results appear in storage/datasets/default/. Google can occasionally return a limited view with no reviews. The Actor retries automatically. If it happens repeatedly, enable a working residential proxy; that requires access to the proxy group and incurs proxy usage charges.

Development checks:

ruff check .
pytest

Deploy privately to Apify

apify login
apify push

Deploying does not publish the Actor. It remains private in Development → My Actors until you explicitly use Publish to Store in Apify Console.

Limitations

  • Google Maps is dynamic and can change its interface without notice.
  • Google can rate-limit or block automated browsers. The Actor retries automatically; a working residential proxy can help when direct runs repeatedly receive Google's limited-view page.
  • reviewDate is an approximate ISO date for English relative labels such as “2 weeks ago.” The original value is preserved in reviewDateRaw.
  • Some optional fields, especially shareable review URLs, are not displayed for every review.
  • A place with fewer available reviews can return less than maxReviews.

Use the Actor responsibly and ensure your collection and processing of reviewer information complies with applicable laws and platform terms.