Google Maps Reviews Scraper & Exporter (Pro)
A comprehensive userscript that scrapes Google Maps reviews with advanced filtering, multiple export formats, and automatic business metadata extraction.
Features
📊 Export Formats
- JSON - Full structured data with business metadata header
- CSV - Excel-compatible with UTF-8 BOM encoding
- XLSX - Multi-sheet workbook (Reviews + Business Info tabs)
- Clipboard - Copy JSON directly
🏢 Business Metadata (Auto-Extracted)
- Business name (from page title, heading, or URL)
- Address
- Rating
- Total review count
- Category
- Phone number
- Website
🔍 Filtering Options
- Star ratings - Select which ratings to include (1-5 stars)
- Photos only - Only reviews with attached images
- Text only - Excludes rating-only reviews (no written content)
💬 Owner Responses
Optional toggle to capture business owner replies to reviews.
👤 Enhanced Reviewer Data
- Reviewer name
- Profile URL
- High-resolution profile image
- Local Guide level (if available)
- Reviewer's total review count
📸 Photo Downloads
- Extracts all review photos at maximum resolution
- Bulk download button
⚡ Progress Tracking
- Live progress bar during scroll loading
- Shows "Loaded 47 / ~312 reviews"
- Stop button to cancel mid-scrape
📁 Smart Filenames
Auto-generates filenames like: Apex_Roofing_reviews_2025-11-27.csv
Data Schema
Each review contains:
| Field |
Type |
Description |
reviewer_name |
string |
Name of the reviewer |
reviewer_profile_url |
string |
Link to reviewer's Google profile |
reviewer_profile_img |
string |
High-res profile image URL |
reviewer_local_guide_level |
number/null |
Local Guide badge level (1-10) |
reviewer_review_count |
number/null |
Total reviews by this user |
review_id |
string |
Unique review identifier |
review_url |
string |
Direct link to the review |
star_rating |
number |
Rating 1-5 |
review_content |
string |
Full review text |
review_date_raw |
string |
Original date text (e.g., "2 months ago") |
review_date_estimated |
string |
Calculated date (YYYY-MM-DD) |
review_date_timestamp |
number/null |
Unix timestamp |
review_photos |
array |
URLs of attached photos |
review_photo_count |
number |
Number of photos |
owner_response |
object/null |
Business owner's reply |
has_owner_response |
boolean |
Whether owner replied |
scraped_at |
string |
ISO timestamp of scrape |
Installation
- Install Tampermonkey (Chrome, Firefox, Edge, Safari)
- Click the Install button on this page
- Navigate to any Google Maps place page
- Use the floating panel in the bottom-right corner
Usage
- Go to a Google Maps business page (e.g.,
https://www.google.com/maps/place/...)
- Click the Reviews tab to open the reviews panel
- Use the floating scraper panel:
- Configure filters (star ratings, photos, text)
- Toggle owner responses on/off
- Click 🔍 Scrape Reviews
- Wait for scraping to complete (use Stop button if needed)
- Export in your preferred format
Tips
- Large review sets (500+): Use the Stop button if you only need a sample
- Filtering saves time: Toggle "Only with text" to skip empty ratings
- XLSX is best for analysis: Includes separate Business Info sheet
- Photo downloads: May open multiple tabs if direct download isn't available
Known Limitations
- Google Maps lazy-loads reviews, so scrolling is required
- Very old reviews (5+ years) may have less precise date estimates
- Photo download depends on browser permissions
- Some reviewer badges only visible on expanded profiles
- Business metadata extraction depends on Google Maps DOM structure
Privacy
This script runs entirely in your browser. No data is sent to external servers. All scraped data stays on your device.
Troubleshooting
XLSX export not working?
- The script requires the SheetJS library. Try refreshing the page.
- Some Tampermonkey security settings may block external scripts.
Business name showing as empty?
- Make sure you're on the main place page, not a photos or reviews-only view.
- The script extracts the name from multiple sources as fallback.
Reviews not loading?
- Ensure the Reviews tab is open and visible
- Check if Google Maps has any CAPTCHA or rate limiting active
Support
Found a bug or have a feature request? Leave feedback on Greasyfork or create an issue.
License
MIT License - Free to use, modify, and distribute.