Google Maps Contributor & Local Guide Reviews Scraper
Pricing
from $1.20 / 1,000 contributor profiles
Google Maps Contributor & Local Guide Reviews Scraper
Extract complete Google Maps Contributor & Local Guide profiles, reviews, ratings, levels, points, badges, and places visited. Fast, 100% reliable, and export-ready for Excel, CSV, Google Sheets, or any Database.
Pricing
from $1.20 / 1,000 contributor profiles
Rating
0.0
(0)
Developer
ScraperPro
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
🗺️ Google Maps Contributor & Local Guide Profile Scraper (with Full Reviews History)
🚀 Extract any Google Maps reviewer's full profile and up to 200 reviews directly into Excel, CSV, or any Database in under 2 seconds.
Ever wanted to see all reviews written by a specific person on Google Maps, verify if a reviewer is a real Local Guide, or audit suspicious 1-star reviews hitting your business?
Google gives you no way to export this data, and checking manually takes hours. This tool does it in 2 clicks:
- Paste any Google Maps contributor link (or User ID)
- Click Start — and download your ready-to-use Excel (.xlsx) or CSV spreadsheet!
💡 Try it in 10 seconds: Just leave the pre-filled contributor link in the input tab and hit Start to see how fast and clean the spreadsheet export is!
⭐ Why Users Love This Tool:
- ⚡ Lightning Fast: Extracts up to 200 reviews in ~1.5 seconds (no slow browser scrolling or waiting).
- 📊 100% No-Code: Runs entirely in your web browser. Zero programming or technical skills needed.
- 🏆 Complete Local Guide Intel: Uncover Local Guide Level (1–10), total points, badges, and lifetime contribution stats.
- 🔗 Verified Review Permalinks: Direct clickable URLs to every single review on Google Maps.
- 📍 Full Location Details: Complete place names, business categories, addresses, and GPS coordinates.
- 💰 Fair Pay-Per-Event: Pay only for what you scrape. Zero monthly subscription lock-in.
❓ What Problem Does This Solve?
Google Maps offers no official public API to inspect reviewer profiles, audit Local Guide history, or retrieve reviews written by a specific user. Whether you are vetting reviewer credibility, uncovering influencer journeys, or auditing suspicious review attacks, manual analysis is virtually impossible at scale.
This Actor accepts Google Maps Contributor URLs, extended coordinate links, shortlinks, or numeric User IDs and delivers a consolidated PROFILE_WITH_REVIEWS record for each contributor:
- 🏆 Local Guide Intelligence: Level (1 to 10), total points, target points required for the next tier, and official badge icon URL.
- 📊 Contribution Counters: Exact public counts of written reviews, star ratings, uploaded photos, videos, answers, and approved edits.
- 👤 Profile Identity: Public display name, high-resolution avatar image URL, and canonical User ID.
- 📜 Full Reviews History: Detailed review text, star rating (1–5), direct Google Maps review permalink, publication date, and attached photo URLs (
photos). - 📍 Place & Geolocation Details: Place name, category, full physical address, Google Place ID, and exact latitude/longitude coordinates.
- 💬 Business Owner Responses: Extracts the owner's response text and reply date whenever a business responded to the contributor.
- 🛡️ Privacy & Status Detection: Instantly detects whether a profile is active, restricted/private, or not found without crashing or failing your run.
🥊 Why Choose This Scraper? (Feature Comparison)
Most scrapers either run bloated headless browsers (crashing frequently and burning compute credits) or flatten all reviews into disjointed rows that duplicate contributor metadata hundreds of times.
Here is how this Actor compares to existing market alternatives:
| Feature / Capability | 🗺️ This Actor | 👤 Other Actors | 🔍 Other Scrapers / APIs | 🌐 Generic Browser Tools |
|---|---|---|---|---|
| Scraping Engine | Fast Direct Requests | Mixed / Slow | Proprietary API | Slow Browser (Puppeteer/Playwright) |
| Data Structure | Flattened (1 row per review + profile) | Flattened or inconsistent | Hierarchical JSON | Flattened or inconsistent |
| Extraction Speed | Up to 200 reviews in ~1.5s | Slow (10–20 reviews/call) | Rate-limited searches | Extremely slow (scrolling browser) |
| Direct Review Permalinks | ✅ Yes (review_permalink) | ❌ No | ❌ Partial | ❌ Rarely included |
| Review Photo URLs | ✅ Yes (photos array) | ⚠️ Inconsistent | ⚠️ Partial | ❌ Often omitted |
| Business Owner Replies | ✅ Yes (text & date) | ⚠️ Inconsistent | ⚠️ Inconsistent | ❌ Missing |
| Place GPS Coordinates | ✅ Yes (latitude & longitude) | ❌ Missing | ⚠️ Inconsistent | ❌ Missing |
| Complete Local Guide Metrics | ✅ Level, points, next tier, badge | ⚠️ Partial | ⚠️ Partial | ❌ Often missed |
| Memory Footprint | Minimal (256 MB RAM) | 512 MB – 1 GB | External API | Heavy (2 GB – 4 GB RAM) |
| Ease of Use | 100% No-Code (Web Browser) | No-Code | Coding / API required | Complex setup |
| Export Formats | Excel (.xlsx), CSV, Google Sheets, JSON | CSV / JSON | JSON only | Limited |
| Monetization Model | Fair Pay-Per-Event (PPE) | Pay-Per-Event | Expensive Search Credit | High compute per hour |
📦 Output Format & Spreadsheet Exports
The Actor outputs data in a flattened format (1 row per review). Every row contains the detailed review alongside the complete contributor profile metadata.
📑 Perfect for Excel, CSV, Google Sheets & Databases
- Immediate Spreadsheet Analysis: Open directly in Microsoft Excel (.xlsx) or Google Sheets. Sort by star rating, filter by date, or build pivot tables instantly.
- Developer-Friendly: Programmers can easily group by
contributor_idin Python, Pandas, or SQL (df.groupby("contributor_id")). - No Complex JSON Parsing: Non-technical users get clean, readable columns without nested JSON text in cells.
- Private Profiles Handled: If a contributor profile is private or has 0 reviews, the Actor outputs 1 row with their profile metadata and
status: "PRIVATE".
Spreadsheet Columns / Fields
| Field Name | Type | Description |
|---|---|---|
contributor_name | string | null | Public display name of the reviewer |
contributor_id | string | Google Maps 21-digit numeric user ID |
contributor_url | string | Direct canonical link to the contributor profile |
avatar_url | string | null | Profile avatar image URL |
is_local_guide | boolean | true if the contributor is a verified Local Guide |
local_guide_level | integer | null | Local Guide tier (1 to 10) |
local_guide_points | integer | null | Total accumulated Local Guide points |
points_to_next_level | integer | null | Points needed to reach the next tier |
badge_url | string | null | Official Local Guide badge icon link |
total_reviews_count | integer | null | Lifetime reviews written |
total_ratings_count | integer | null | Lifetime star ratings submitted without text |
total_photos_count | integer | null | Total photos contributed |
total_videos_count | integer | null | Total videos contributed |
total_answers_count | integer | null | Total community answers |
total_edits_count | integer | null | Total approved map edits |
is_private | boolean | true if the profile has private/restricted contributions |
status | string | "ACTIVE", "PRIVATE", "NOT_FOUND", or "UNKNOWN" |
review_id | string | null | Unique Google Maps review ID |
place_name | string | null | Name of the reviewed business or landmark |
place_category | string | null | Business category (e.g. "Cafe", "Restaurant") |
place_address | string | null | Physical street address |
place_id | string | null | Google Place ID (CID) |
latitude | float | null | GPS latitude |
longitude | float | null | GPS longitude |
stars | integer | null | Star rating given (1 to 5) |
review_date | string | null | Review date (e.g. "a week ago", "3 months ago") |
review_text | string | null | Full text content of the review |
review_permalink | string | null | Direct Google Maps permalink to this specific review |
contrib_place_url | string | null | Contributor place URL on Google Maps |
photos | array | High-resolution photo URLs attached to this review |
has_owner_reply | boolean | true if the business owner replied to this review |
owner_reply | string | null | Text of the business owner's response |
owner_reply_date | string | null | Relative date of the business owner's reply |
error | string | null | Error details if applicable |
timestamp | string | ISO 8601 scrape timestamp |
🎯 High-Value Use Cases
🌟 Local Influencer & Ambassador Outreach
Identify high-tier Local Guides (Levels 6–10) in your city or industry. Inspect their review style, photo uploads, and place preferences to discover trusted community brand ambassadors and food critics.
🛡️ Review Fraud Detection & Reputation Defense
Audit reviewers to determine account legitimacy. Quickly differentiate between authentic local contributors with genuine reviews and fake burner accounts created solely to post negative reviews.
🏢 Customer Feedback & Competitor Intelligence
Monitor top reviewers in your sector, discover where else your customers dine or shop, and analyze how competing business owners respond to reviewer feedback.
📈 Local SEO & Citation Audits
Analyze how active Local Guides review businesses in your category, identify trending keywords, and understand what influences high-ranking local recommendations.
🔗 Supported Input Formats
Paste any of these formats and the Actor automatically resolves the canonical user profile:
-
Standard Contributor Profile URLs:
https://www.google.com/maps/contrib/102520373756565203865 -
Tabbed Profile Links:
https://www.google.com/maps/contrib/102520373756565203865/reviews
https://www.google.com/maps/contrib/102520373756565203865/photos -
Extended URLs with Map Coordinates & Query Parameters:
https://www.google.com/maps/contrib/102520373756565203865/reviews/@40.6925847,-74.1578387,11z/data=!4m3!8m2!3m1!1e1?hl=en-GB&entry=ttu&g_ep=EgoyMDI2MDkwOS4wIKXMDSoASAFQAw%3D%3D -
Shortened Share Links:
https://maps.app.goo.gl/... -
Raw Numeric User IDs:
102520373756565203865
⚙️ Input Configuration
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
contributors | array | Yes | None | List of Google Maps contributor URLs, tab links, extended coordinate links, shortlinks, or numeric User IDs. |
maxReviews | integer | No | 200 | Maximum number of reviews to extract per profile (0 to 200). Extracts up to this limit or total public reviews available in a single high-speed call. |
scrapeReviews | boolean | No | true | When enabled, extracts the detailed reviews array. If disabled, extracts profile stats only. |
proxyConfiguration | object | No | {"useApifyProxy": true} | Apify residential proxies are recommended to avoid rate limits and 403 blocks. |
maxConcurrency | integer | No | 3 | Number of contributor profiles scraped concurrently (1 to 10). |
maxProxyRetries | integer | No | 5 | Automatic proxy IP rotation retries upon rate limits or temporary blocks. |
Example Output Record (Single Row in Excel / JSON)
{"contributor_name": "Reema Mulchandani","contributor_id": "102520373756565203865","contributor_url": "https://www.google.com/maps/contrib/102520373756565203865/reviews","avatar_url": "https://lh3.googleusercontent.com/a-/ALV-UjXc8pSarhgq2xG0mE6F3j...","is_local_guide": true,"local_guide_level": 7,"local_guide_points": 8117,"points_to_next_level": 15000,"badge_url": "https://maps.gstatic.com/mapfiles/localguides/badges/18px/level7.png","total_reviews_count": 113,"total_ratings_count": 11,"total_photos_count": 878,"total_videos_count": 21,"total_answers_count": 555,"total_edits_count": 0,"is_private": false,"status": "ACTIVE","review_id": "Ci9DQUlRQUNvZENodHljRjlvT2psaGVHNUNWMkpPYlRWVFdqZ3RMVXRmWTJOMk0yYxAB","place_name": "Juhu Cafe","place_category": "Cafe","place_address": "123 Main St, New York, NY 10001, United States","place_id": "ChIJN-gNnS0VrjsRZiJbdEPhcZ0","latitude": 40.7128,"longitude": -74.0060,"stars": 5,"review_date": "a week ago","review_text": "Juhu Cafe is a wonderful new addition to the area. The beachy atmosphere is bright and welcoming...","review_permalink": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQUNvZENodHljRjlvT2psaGVHNUNWMkpPYlRWVFdqZ3RMVXRmWTJOMk0yYxAB!2m1!1s0x0:0x9e4f80252384ff09!3m1!1s2@1:CAIQACodChtycF9oOjlheG5CV2JObTVTWjgtLUtfY2N2M2c%7C%7C?hl=en-GB","contrib_place_url": "https://www.google.com/maps/contrib/102520373756565203865/place/ChIJN-gNnS0VrjsRZiJbdEPhcZ0","photos": ["https://lh3.googleusercontent.com/grass-cs/ACvplmNaKbdVwMT1TibHnx1u8sfePPuH8hInF7w7ROzAMp5U_9u6F5Whx7JRshvgIhCtkH3FUJX9yWDgQTagZNzfuSdIK9UOh7A9PrIoknBzTsOOhwneqOOFMKkvsKygJv-S8gr63zEsK40VauD-=k-no"],"has_owner_reply": true,"owner_reply": "Thanks so much for such a thoughtful review, Reema! We’re so glad you enjoyed your visit.","owner_reply_date": "a week ago","error": null,"timestamp": "2026-09-13T12:00:00.000Z"}
💰 Fair Pay-Per-Event (PPE) Pricing
This Actor uses Apify's Pay-Per-Event (PPE) monetization model. You only pay for successful data extracted, with zero waste on idle server compute:
- Per Contributor Profile (
profileevent): Charged per contributor profile processed. Covers full profile identity, Local Guide badges, level, points, and lifetime contribution metrics (even if the profile has restricted/private contributions). - Per Review Extracted (
reviewevent): Scales dynamically based on the exact number of detailed reviews successfully extracted.
Why Pay-Per-Event Saves You Money:
- No Wasted Compute: If a contributor only has 12 reviews, you are only charged for 12 reviews — not an arbitrary batch package.
- Private Profiles Protection: If a contributor profile is private or has 0 public reviews, you are only charged for the profile lookup.
- No Monthly Lock-in: Use it on-demand whenever you need it.
You can view the current per-event rates under the Pricing tab in the Apify Console.
🚀 Quick Start & Integration
1. No-Code Web Console (Excel, CSV, or Google Sheets)
- Paste Your Profiles: Paste any Google Maps contributor URLs, extended links, or numeric User IDs into the
contributorsbox. - Choose Review Limit: Leave
maxReviewsat200to grab all recent reviews, or adjust as needed. - Click Start: Hit the green Start button and let the scraper run (typically 1–2 seconds per profile).
- Export in 1 Click: Under the Export tab, click Excel or CSV to download your ready-to-use spreadsheet.
2. Run via Python (apify-client)
from apify_client import ApifyClient# Initialize the ApifyClient with your API tokenclient = ApifyClient("YOUR_APIFY_API_TOKEN")# Prepare Actor inputrun_input = {"contributors": ["https://www.google.com/maps/contrib/102520373756565203865","116847444302916322211"],"maxReviews": 200,"scrapeReviews": True,"proxyConfiguration": { "useApifyProxy": True }}# Run the Actor and wait for it to finishrun = client.actor("scraperpro/google-maps-contributor-scraper").call(run_input=run_input)# Fetch and print results from the datasetfor item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"Contributor: {item.get('name')} (Level {item.get('local_guide_level')})")print(f"Total Reviews Scraped: {len(item.get('reviews', []))}")
3. Run via Node.js / JavaScript (apify-client)
import { ApifyClient } from "apify-client";const client = new ApifyClient({token: "YOUR_APIFY_API_TOKEN",});const input = {contributors: ["https://www.google.com/maps/contrib/102520373756565203865","116847444302916322211"],maxReviews: 200,scrapeReviews: true,proxyConfiguration: { useApifyProxy: true }};const run = await client.actor("scraperpro/google-maps-contributor-scraper").call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {console.log(`${item.name} - Level ${item.local_guide_level} (${item.reviews.length} reviews)`);});
4. Automated Workflows (Make, Zapier, Webhooks)
Easily trigger this Actor automatically via webhooks whenever a new negative or positive review is detected on your Google Business profile, and send enriched Local Guide auditor reports straight to Slack, Airtable, or Google Sheets.
⚡ Speed & Reliability
- Ultra-Fast & Stable: Extracts up to 200 reviews in ~1.5 to 2 seconds without browser lag or unexpected crashes.
- Smart Anti-Blocking: Automatically handles rate limits and rotates proxy sessions to ensure high success rates.
- State Checkpointing: Safe against restarts; already-scraped contributors are remembered so you never scrape or pay for duplicates.
❓ Frequently Asked Questions (FAQ)
Q: Do I need programming or coding skills to use this Actor?
Not at all! This tool is designed for non-technical users, business owners, agency marketers, and data teams alike. You can run everything directly inside your web browser in the Apify Console and download ready-to-open Excel (.xlsx) or CSV files with a single click.
Q: How many reviews can I extract per profile?
The Actor extracts up to your configured maxReviews (0 to 200, default is 200) or the total number of public reviews available on the contributor profile in a single fast call. For contributors with fewer reviews than maxReviews, all available public reviews are extracted.
Q: Does it extract photos uploaded by contributors?
Yes! Every review object in the reviews array includes the full photos: [...] list of high-resolution image URLs attached to that specific review.
Q: What happens if a contributor has set their profile to private?
If a contributor has enabled privacy settings on Google Maps, Google does not make their reviews publicly visible. The Actor gracefully identifies this, returns status: "PRIVATE", marks is_private: true, and still extracts all publicly visible metadata (display name, avatar, Local Guide level, points, and contribution counts) with an empty reviews array.
Q: Does every review have a direct permalink?
Yes! Every review object includes a verified review_permalink that links directly to that specific review on Google Maps.
Q: What proxies should I use?
We strongly recommend using Apify Residential Proxies ({ "useApifyProxy": true }). While datacenter proxies may work for low volumes, residential proxies provide consistent speed and prevent Google rate-limiting.
Q: Can I scrape only profile statistics without reviews?
Yes. Simply set "scrapeReviews": false in the input configuration. The Actor will extract only the profile metadata, Local Guide level, and contribution counts.
👨💻 Support & Maintenance
Actively maintained. If Google makes updates to contributor layouts, updates and fixes are deployed promptly within 24–48 hours.
For bug reports, feature requests, or custom scraping pipelines, open an issue in the Apify Actor console.
Keywords
local guide scraper google maps reviewer scraper google local guide data extraction official google maps api alternative google places api reviewer profile reviewer profile scraper google maps public profile scraper local influencer data collection review fraud detection tool contributor api google maps contribution scraper google maps local guide scraper google maps review api contributor profile api google maps public scraper guide level scraper local guide scraper python google maps profile scraper reviewer profile scraper python local guide api google places api alternative