Google Maps Contributor & Local Guide Reviews Scraper avatar

Google Maps Contributor & Local Guide Reviews Scraper

Pricing

from $1.20 / 1,000 contributor profiles

Go to Apify Store
Google Maps Contributor & Local Guide Reviews Scraper

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

ScraperPro

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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:

  1. Paste any Google Maps contributor link (or User ID)
  2. 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 EngineFast Direct RequestsMixed / SlowProprietary APISlow Browser (Puppeteer/Playwright)
Data StructureFlattened (1 row per review + profile)Flattened or inconsistentHierarchical JSONFlattened or inconsistent
Extraction SpeedUp to 200 reviews in ~1.5sSlow (10–20 reviews/call)Rate-limited searchesExtremely slow (scrolling browser)
Direct Review PermalinksYes (review_permalink)❌ No❌ Partial❌ Rarely included
Review Photo URLsYes (photos array)⚠️ Inconsistent⚠️ Partial❌ Often omitted
Business Owner RepliesYes (text & date)⚠️ Inconsistent⚠️ Inconsistent❌ Missing
Place GPS CoordinatesYes (latitude & longitude)❌ Missing⚠️ Inconsistent❌ Missing
Complete Local Guide MetricsLevel, points, next tier, badge⚠️ Partial⚠️ Partial❌ Often missed
Memory FootprintMinimal (256 MB RAM)512 MB – 1 GBExternal APIHeavy (2 GB – 4 GB RAM)
Ease of Use100% No-Code (Web Browser)No-CodeCoding / API requiredComplex setup
Export FormatsExcel (.xlsx), CSV, Google Sheets, JSONCSV / JSONJSON onlyLimited
Monetization ModelFair Pay-Per-Event (PPE)Pay-Per-EventExpensive Search CreditHigh 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_id in 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 NameTypeDescription
contributor_namestring | nullPublic display name of the reviewer
contributor_idstringGoogle Maps 21-digit numeric user ID
contributor_urlstringDirect canonical link to the contributor profile
avatar_urlstring | nullProfile avatar image URL
is_local_guidebooleantrue if the contributor is a verified Local Guide
local_guide_levelinteger | nullLocal Guide tier (1 to 10)
local_guide_pointsinteger | nullTotal accumulated Local Guide points
points_to_next_levelinteger | nullPoints needed to reach the next tier
badge_urlstring | nullOfficial Local Guide badge icon link
total_reviews_countinteger | nullLifetime reviews written
total_ratings_countinteger | nullLifetime star ratings submitted without text
total_photos_countinteger | nullTotal photos contributed
total_videos_countinteger | nullTotal videos contributed
total_answers_countinteger | nullTotal community answers
total_edits_countinteger | nullTotal approved map edits
is_privatebooleantrue if the profile has private/restricted contributions
statusstring"ACTIVE", "PRIVATE", "NOT_FOUND", or "UNKNOWN"
review_idstring | nullUnique Google Maps review ID
place_namestring | nullName of the reviewed business or landmark
place_categorystring | nullBusiness category (e.g. "Cafe", "Restaurant")
place_addressstring | nullPhysical street address
place_idstring | nullGoogle Place ID (CID)
latitudefloat | nullGPS latitude
longitudefloat | nullGPS longitude
starsinteger | nullStar rating given (1 to 5)
review_datestring | nullReview date (e.g. "a week ago", "3 months ago")
review_textstring | nullFull text content of the review
review_permalinkstring | nullDirect Google Maps permalink to this specific review
contrib_place_urlstring | nullContributor place URL on Google Maps
photosarrayHigh-resolution photo URLs attached to this review
has_owner_replybooleantrue if the business owner replied to this review
owner_replystring | nullText of the business owner's response
owner_reply_datestring | nullRelative date of the business owner's reply
errorstring | nullError details if applicable
timestampstringISO 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:

  1. Standard Contributor Profile URLs:
    https://www.google.com/maps/contrib/102520373756565203865

  2. Tabbed Profile Links:
    https://www.google.com/maps/contrib/102520373756565203865/reviews
    https://www.google.com/maps/contrib/102520373756565203865/photos

  3. 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

  4. Shortened Share Links:
    https://maps.app.goo.gl/...

  5. Raw Numeric User IDs:
    102520373756565203865


⚙️ Input Configuration

ParameterTypeRequiredDefaultDescription
contributorsarrayYesNoneList of Google Maps contributor URLs, tab links, extended coordinate links, shortlinks, or numeric User IDs.
maxReviewsintegerNo200Maximum 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.
scrapeReviewsbooleanNotrueWhen enabled, extracts the detailed reviews array. If disabled, extracts profile stats only.
proxyConfigurationobjectNo{"useApifyProxy": true}Apify residential proxies are recommended to avoid rate limits and 403 blocks.
maxConcurrencyintegerNo3Number of contributor profiles scraped concurrently (1 to 10).
maxProxyRetriesintegerNo5Automatic 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 (profile event): 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 (review event): 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)

  1. Paste Your Profiles: Paste any Google Maps contributor URLs, extended links, or numeric User IDs into the contributors box.
  2. Choose Review Limit: Leave maxReviews at 200 to grab all recent reviews, or adjust as needed.
  3. Click Start: Hit the green Start button and let the scraper run (typically 1–2 seconds per profile).
  4. 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 token
client = ApifyClient("YOUR_APIFY_API_TOKEN")
# Prepare Actor input
run_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 finish
run = client.actor("scraperpro/google-maps-contributor-scraper").call(run_input=run_input)
# Fetch and print results from the dataset
for 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.

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