Google Maps Reviews Scraper
Pricing
$2.50 / 1,000 results
Go to Apify Store
Google Maps Reviews Scraper
Extract detailed reviews from any Google Maps business page. This scraper retrieves reviewer information, ratings, review text, dates, likes, and owner responses.
5.0 (3)
Pricing
$2.50 / 1,000 results
0
2
2
Last modified
a day ago
Extract detailed reviews from any Google Maps business page. This scraper retrieves reviewer information, ratings, review text, dates, likes, and owner responses.
Features
- 📝 Complete Review Data: Extract reviewer names, ratings, full review text, and posting dates
- 👤 Reviewer Information: Get reviewer profile URLs and avatar images
- 👍 Engagement Metrics: Collect like counts for each review
- 💬 Owner Responses: Capture business owner replies and response dates
- 🔄 Automatic Scrolling: Automatically loads more reviews by scrolling
- 📊 Business Overview: Includes business name, overall rating, and total review count
- 🎯 Customizable: Specify exactly how many reviews you want to extract
Input
The scraper requires the following input parameters:
| Field | Type | Required | Description |
|---|---|---|---|
placeUrl | String | Yes | Full URL of the Google Maps business/place page |
maxReviews | Integer | No | Maximum number of reviews to extract (default: 50, max: 500) |
Example Input
{"placeUrl": "https://www.google.com/maps/place/Eataly+NYC+Flatiron/@40.742045,-73.9900845,17z/...","maxReviews": 100}
How to Get the Place URL
- Go to Google Maps
- Search for the business you want to scrape reviews from
- Click on the business to open its details page
- Copy the complete URL from your browser's address bar
Output
The scraper returns a single JSON object containing:
Business Information
place_url: URL of the Google Maps placescraped_at: ISO timestamp of when data was collectedbusiness_name: Name of the businessrating: Average rating (e.g., 4.5)total_reviews: Total number of reviews on Google Mapscategory: Business category (e.g., "Italian restaurant")address: Business address
Reviews Array
Each review in the reviews array contains:
review_id: Unique identifier for the reviewreviewer_name: Name of the reviewerreviewer_profile_url: Google Maps profile URLreviewer_avatar: Avatar image URLrating: Star rating (1-5)review_text: Full review contentreview_date: When the review was postedlikes: Number of helpful votesowner_response: Business owner's response (if any)owner_response_date: When owner responded
Example Output
{"place_url": "https://www.google.com/maps/place/...","scraped_at": "2025-10-23T10:30:00","business_name": "Eataly NYC Flatiron","rating": 4.4,"total_reviews": 9729,"category": "Italian restaurant","address": "200 5th Ave, New York, NY 10010, United States","reviews": [{"review_id": "ChZDSUhNMG9nS0VJQ0FnSUNOeF...","reviewer_name": "John Doe","reviewer_profile_url": "https://www.google.com/maps/contrib/...","reviewer_avatar": "https://lh3.googleusercontent.com/...","rating": 5,"review_text": "Amazing Italian food and great atmosphere! The pasta is authentic and delicious.","review_date": "2 weeks ago","likes": 12,"owner_response": "Thank you for your wonderful review!","owner_response_date": "1 week ago"}]}
Use Cases
- 📊 Sentiment Analysis: Analyze customer sentiment and feedback trends
- 🔍 Competitive Research: Compare reviews across competing businesses
- 📈 Business Intelligence: Track reputation and customer satisfaction over time
- 🤖 Review Monitoring: Automated monitoring of new reviews
- 💼 Market Research: Understand customer preferences and pain points
- 📱 App Development: Build review aggregation or comparison tools
Performance
- Average scraping time: 30-60 seconds for 50 reviews
- Handles dynamic content loading through automatic scrolling
- Reliable extraction with multiple fallback selectors
Notes
- The scraper automatically expands truncated reviews by clicking "More" buttons
- Review dates are in relative format (e.g., "2 weeks ago") as shown on Google Maps
- Not all reviews may have owner responses - this field will be
nullif absent - The scraper respects Google Maps' rate limits and includes appropriate delays
Requirements
- Python 3.12+
- Apify SDK 3.0.1+
- Playwright (Chromium)
Local Development
- Install dependencies:
$pip install -r requirements.txt
- Install Playwright browsers:
$playwright install chromium
-
Create
.actor/INPUT.jsonwith your test parameters -
Run the scraper:
$python -m src
Deployment
This scraper is ready to be deployed on the Apify platform:
$apify push
Support
For issues or questions:
- Check the Apify Documentation
- Review the input schema for parameter details
- Ensure the place URL is complete and valid
Version
Current version: 1.0.0
