Google Maps Reviewer Profile & Local Guide History Scraper avatar

Google Maps Reviewer Profile & Local Guide History Scraper

Pricing

from $1.20 / 1,000 contributor profiles

Go to Apify Store
Google Maps Reviewer Profile & Local Guide History Scraper

Google Maps Reviewer Profile & Local Guide History Scraper

⚑Ultra Fast & Cheapest Google Maps reviewer profiles Scraper Extract complete profiles data, Local Guide levels, full review history, ratings, photos, and places visited. Audit 1-star reviewers, detect fake review attacks, and export instantly to Excel, CSV, or JSON.

Pricing

from $1.20 / 1,000 contributor profiles

Rating

0.0

(0)

Developer

UnitBytes | Enterprise Web Data

UnitBytes | Enterprise Web Data

Maintained by Community

Actor stats

0

Bookmarked

13

Total users

8

Monthly active users

a day ago

Last modified

Share

Google Maps Contributor & Local Guide Reviews Scraper by UnitBytes

πŸ” The Reverse Search Engine for Google Maps Reviews

Standard Google Maps tools only scrape by business. They cannot show you who is reviewing, what else they’ve posted, or whether their profile is authentic.

This Actor lets you search in reverse: Paste any reviewer's profile link or User ID to instantly export their full review history, Local Guide badges, ratings, photos, and places visited directly into Excel, CSV, or JSON in under 2 seconds.

Try it Free Now


🎁 Free Trial Included: Test free with your Apify starter credits β€” extract hundreds of reviews with zero commitment!


⚑ UnitBytes · Google Maps & Local Business Reputation Ecosystem
πŸ—ΊοΈ Contributor Profiles
πŸ“ You are here
Full review history & levels
πŸ” Reviews Change Tracker
Status & Takedowns
Detect deleted & edited reviews
πŸ“Έ Contributor Photos
High-Res Media
Original =s0 images & views

πŸš€ How to Use (3 Quick Steps)

  1. Paste any Google Maps reviewer profile link (or numeric User ID)
  2. Click Start
  3. Download your ready-to-use Excel (.xlsx) or CSV spreadsheet in under 2 seconds!

⭐ Loving this Scraper?
If this tool saved you hours of work, please support us with a 5-Star Rating on the Apify Store! It directly helps us keep this tool actively maintained and updated.

πŸ’¬ Need Help, Custom Enhancements, Bug Reports, or Bulk Scraping?
Have a question, want a specific data format, or encountered a bug? Email us directly at contact@unitbytes.com or open a ticket in the Apify Issues Tab β€” we respond fast!


⭐ Why Users Love This Tool:

  • ⚑ Lightning Fast: Extracts up to 200 reviews in under 2 seconds with instant responses and zero timeouts.
  • πŸ“Š 100% No-Code & Spreadsheet Ready: Open directly in Microsoft Excel, Google Sheets, or CSV with clean columns.
  • πŸ† Complete Local Guide Badges & Progression: Uncover Local Guide Level (1–10), total points, badges, and lifetime contribution stats.
  • πŸ”— Verified Review Permalinks: Direct clickable URLs leading straight to every single review on Google Maps.
  • πŸ“ Full Location Details: Complete place names, business categories, addresses, city, country, price range, and direct place links.
  • πŸ›‘οΈ Zero Waste: Pay only for data actually extracted. Zero review charges for private profiles or 0-review accounts.
  • πŸš€ No Monthly Subscription: Pay-per-event on demand whenever you need it.

❓ What Problem Does This Solve?

Google Maps offers no export button 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, reviewer profile links, reviews tab links, share shortlinks, or numeric User IDs and delivers clean, structured data ready for Excel, CSV, or database storage:

  • πŸ•΅οΈβ€β™‚οΈ Audit 1-Star Review Bombers: Inspect negative reviewers to see if they are brand-new throwaway accounts, paid competitor trolls, or legitimate customers.
  • πŸ† Local Guide Verification: Uncover Local Guide Level (1 to 10), total points, target points needed for the next level, and official badge icon.
  • πŸ“Š Lifetime Contribution Counters: Public counts of written reviews, ratings, uploaded photos, videos, answers, and approved map edits.
  • πŸ‘€ Profile Identity: Public display name, avatar photo, and verified user ID.
  • πŸ“œ Full Reviews History: Detailed review text, star ratings (1–5), direct permanent review links, publication dates, and attached high-resolution photos.
  • ⏰ Exact Dates & Timestamps: Microsecond-precision timestamps and ISO 8601 UTC dates for timeline and trend analysis.
  • πŸ“ Place & Location Details: Place name, business category, street address, city, country, price range, and direct place links.
  • 🍽️ Dining & Experience Aspects: Reviewer-reported dining mode (Dine-in / Takeout), meal type (Brunch / Dinner), spend per person, and food/service/atmosphere scores.
  • πŸ’¬ Business Owner Responses: Extracts the owner's response text and reply date whenever a business responded.
  • πŸ›‘οΈ Privacy & Status Detection: Identifies active profiles, private accounts, and invalid links without crashing.

πŸ₯Š Why Choose This Scraper? (Feature Comparison)

CapabilityπŸ—ΊοΈ This ActorOther ScrapersLegacy Tools
Speed⚑ Under 2 seconds per profile10–30s per profile1–3 minutes
Reliability100% Stable (Zero freezing or crashes)ModerateFrequently crashes or times out
Spreadsheet Readyβœ… Excel (.xlsx), CSV, Google Sheets⚠️ JSON only⚠️ Inconsistent columns
Exact Review Timestampsβœ… Exact UTC timestamp & epoch ms❌ Fuzzy text only ("3 weeks ago")❌ Fuzzy text only
Direct Review Permalinksβœ… Yes (direct link to review)❌ Missing❌ Missing
Direct Place Links & Detailsβœ… Place URL, city, country, price❌ Basic name only⚠️ Incomplete
Review Aspects & Sub-scoresβœ… Food, service, atmosphere scores❌ Missing❌ Missing
Review Photo URLsβœ… Complete high-res photos array⚠️ Partial❌ Omitted
Business Owner Repliesβœ… Full reply text & date⚠️ Inconsistent❌ Missing
Complete Local Guide Metricsβœ… Level, points, next tier, badge⚠️ Partial❌ Often missed
Billing Model🎯 Pay-Per-Event (pay only for results)High monthly feesHigh server compute overhead

πŸ“¦ Two Flexible Export Formats

You can choose your preferred output structure under the Output Format setting:

1. flattened (Default β€” 1 Row per Review)

  • Best for: Microsoft Excel, Google Sheets, CSV, Airtable, or SQL databases.
  • Ready to Open: Each row contains a single review together with the reviewer's full profile information. Non-technical users get clean, readable spreadsheet columns without needing to parse nested data.
  • Automatic Handling: If a profile has 15 reviews, it produces 15 spreadsheet rows. If a profile is private or has 0 reviews, it outputs 1 row with their public profile stats and status: "PRIVATE".

2. nested (1 Document per Contributor)

  • Best for: Developers, APIs, JSON exports, and CRM pipelines.
  • Clean Document Hierarchy: Each document represents 1 contributor profile containing a complete reviews: [...] list of all their reviews. Ideal for storing contributor profiles as distinct documents in MongoDB, PostgreSQL (JSONB), or feeding directly into custom web applications.
  • Python & Data Science: Easy to group or iterate by contributor profile without deduplicating profile metadata.

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
points_away_from_next_levelstring | nullPoints away progress text (e.g. "6,881 points away from Level 8")
current_level_min_pointsinteger | nullMinimum points threshold for current tier
next_level_target_pointsinteger | nullTarget points needed for next tier
badge_urlstring | nullOfficial Local Guide badge icon link
next_level_badge_urlstring | nullOfficial Local Guide badge icon link for the next tier
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_captions_countinteger | nullTotal photo captions contributed
total_answers_countinteger | nullTotal community answers
total_edits_countinteger | nullTotal approved map edits
total_places_added_countinteger | nullTotal new places added to Google Maps
total_roads_added_countinteger | nullTotal new roads added to Google Maps
total_qa_countinteger | nullTotal community Q&A contributions
total_reported_incorrect_countinteger | nullTotal incorrect listings reported
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_category_slugstring | nullMachine slug for business category (e.g. "cafe", "thai_restaurant")
place_addressstring | nullFull physical street address
place_street_addressstring | nullStreet line without city or zip code (e.g. "517 Union Blvd Unit B")
place_idstring | nullGoogle Place ID (CID)
place_urlstring | nullDirect Google Maps link to the reviewed business
place_cover_photo_urlstring | nullHigh-resolution cover photo link of the business
place_citystring | nullCity of the reviewed place
place_countrystring | nullCountry of the reviewed place
place_country_codestring | nullCountry code (e.g. "US", "GB")
place_timezonestring | nullIANA timezone (e.g. "America/New_York")
place_kgmidstring | nullGoogle Knowledge Graph entity ID (e.g. "/g/11bwh5xyjm")
place_price_rangestring | nullPrice level or cost per person (e.g. "$10–20")
latitudefloat | nullGPS latitude
longitudefloat | nullGPS longitude
starsinteger | nullStar rating given (1 to 5)
review_datestring | nullRelative review date (e.g. "a week ago", "3 months ago")
review_timestampinteger | nullExact Unix timestamp in milliseconds (e.g. 1788632301000)
review_datetime_utcstring | nullExact publication ISO 8601 UTC timestamp (e.g. "2026-09-05T18:18:21+00:00")
is_review_editedbooleantrue if reviewer modified their review after publication
review_created_timestampinteger | nullInitial publication timestamp in milliseconds
review_created_datetime_utcstring | nullInitial publication ISO 8601 UTC date
review_updated_timestampinteger | nullLast-edited timestamp in milliseconds
review_updated_datetime_utcstring | nullLast-edited ISO 8601 UTC date
review_textstring | nullFull text content of the review
review_languagestring | nullDetected review language code (e.g. "en", "es")
review_permalinkstring | nullDirect Google Maps permalink to this specific review
review_report_urlstring | nullDirect Google dispute URL to report review for policy violations
contrib_place_urlstring | nullContributor place URL on Google Maps
photosarrayHigh-resolution photo URLs attached to this review
dining_modestring | nullDining mode reported by reviewer ("Dine in", "Take out", "Delivery")
meal_typestring | nullMeal type reported by reviewer ("Brunch", "Dinner", "Lunch")
spend_per_personstring | nullReported spend per person range (e.g. "$50–60")
food_ratinginteger | nullGuided food quality rating (1 to 5)
service_ratinginteger | nullGuided service rating (1 to 5)
atmosphere_ratinginteger | nullGuided atmosphere rating (1 to 5)
wait_timestring | nullReported wait time ("No wait", "15–30 min")
noise_levelstring | nullReported noise level ("Quiet", "Moderate", "Loud")
seating_typestring | nullReported seating type ("Outdoor seating", "Booth")
reservation_policystring | nullReported reservation requirement ("Reservations required", "Walk-in")
group_sizestring | nullReported party size ("Solo", "2 people", "Group of 4+")
vegetarian_recommendedstring | nullVegetarian recommendation ("Highly recommend")
review_aspectsobjectComplete dictionary of all guided review questions and answers
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
owner_reply_timestampinteger | nullExact owner reply Unix timestamp in milliseconds
owner_reply_datetime_utcstring | nullExact owner reply ISO 8601 UTC timestamp
owner_reply_languagestring | nullDetected language code of owner reply (e.g. "en")
errorstring | nullError details if applicable
timestampstringISO 8601 scrape timestamp

🎯 High-Value Use Cases

πŸ”„ The Two-Step Pipeline: From Business Reviews to Full Reviewer Audit

Standard Google Maps tools only scrape reviews for a business. But what do you do when a suspicious 1-star review hits your listing, or when you want to study your top customers?

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Step 1: Business Review Export β”‚ ──> β”‚ Step 2: Reverse Reviewer Search (This Actor) β”‚
β”‚ Scrape place reviews (author profile)β”‚ β”‚ Extract complete user history, guide level & patterns β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
  1. Step 1: Take any reviewer profile link (e.g., from an existing Google Maps review export or by clicking a reviewer's name on Google Maps: https://www.google.com/maps/contrib/102520373756565203865).
  2. Step 2: Paste those contributor URLs directly into this Actor.
  3. The Result: Instantly discover:
    • Is it a burner account? Did this reviewer create their account just to target your business, or do they have a 5-year history of legitimate reviews?
    • Coordinated Competitor Attacks: Did this user leave five 1-star reviews at competing restaurants in the same afternoon?
    • Cross-Brand Intelligence: Where else does this Local Guide eat, shop, or visit, and what specific feedback do they share?

πŸ›‘οΈ Review Fraud Detection & Reputation Defense

Audit negative reviewers to verify account legitimacy before responding or filing removal disputes:

  • Quickly differentiate between authentic Local Guides with hundreds of verified reviews and fake burner accounts created solely to leave negative reviews.
  • Export exact microsecond timestamps and review permalinks for formal Google removal requests and evidence packets.

🌟 Local Influencer & Brand Ambassador Outreach

Identify high-tier Local Guides (Levels 6–10) in your city or industry:

  • Inspect their review style, photo uploads, and place preferences.
  • Discover trusted community food critics, photographers, and micro-influencers who actively shape local purchasing decisions.

🏒 Competitor Intelligence & Customer Journey Mapping

  • Track where else your customers dine or shop in your area.
  • Uncover how competing business owners handle customer complaints and owner replies.
  • Gain deep insight into pricing sensitivity and meal preferences (spend_per_person, meal_type).

πŸ“ˆ Local SEO & Category Benchmarking

  • Analyze review keywords used by authoritative Local Guides that trigger high rankings on Google Maps.
  • Benchmark your service, food, and atmosphere scores against top competitors in your market.

πŸ”— 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.
outputFormatstringNo"flattened"Choose "flattened" (1 row per review, perfect for Excel/CSV) or "nested" (1 document per profile with a complete reviews: [...] array).
languagestringNo"en"Language code for Google Maps localized strings (e.g. "en", "es", "fr", "de").
countrystringNo"us"Country code for localized place info and regional bias (e.g. "us", "gb", "fr", "de").
proxyConfigurationobjectNo{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}Apify Residential Proxies are enabled by default to avoid rate limits and 403 blocks.
maxConcurrencyintegerNo3Number of contributor profiles scraped concurrently (1 to 10).

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": 8119,
"points_to_next_level": 15000,
"points_away_from_next_level": "6,881 points to Level 8",
"current_level_min_points": 5000,
"next_level_target_points": 15000,
"badge_url": "https://maps.gstatic.com/mapfiles/localguides/badges/18px/level7.png",
"next_level_badge_url": "https://maps.gstatic.com/mapfiles/localguides/badges/18px/level8.png",
"total_reviews_count": 113,
"total_ratings_count": 11,
"total_photos_count": 878,
"total_videos_count": 21,
"total_captions_count": 45,
"total_answers_count": 557,
"total_edits_count": 3,
"total_places_added_count": 1,
"total_roads_added_count": 0,
"total_qa_count": 8,
"total_reported_incorrect_count": 0,
"is_private": false,
"status": "ACTIVE",
"review_id": "Ci9DQUlRQUNvZENodHljRjlvT2psaGVHNUNWMkpPYlRWVFdqZ3RMVXRmWTJOMk0yYxAB",
"place_name": "Juhu Cafe",
"place_category": "Cafe",
"place_category_slug": "cafe",
"place_address": "517 Union Blvd Unit B, Totowa, NJ 07512",
"place_street_address": "517 Union Blvd Unit B",
"place_id": "ChIJv8t4KBT_wokRCf-EIyWAT54",
"place_url": "https://www.google.com/maps/place//data=!4m2!3m1!1s0x89c2ff142878cbbf:0x9e4f80252384ff09",
"place_cover_photo_url": "https://lh3.googleusercontent.com/p/AF1QipN38Xy54W_...",
"place_city": "Totowa",
"place_country": "United States",
"place_country_code": "US",
"place_timezone": "America/New_York",
"place_kgmid": "/g/11bwh5xyjm",
"place_price_range": "$10–20",
"latitude": 40.901379,
"longitude": -74.216956,
"stars": 5,
"review_date": "2 weeks ago",
"review_timestamp": 1788632301325,
"review_datetime_utc": "2026-09-05T18:18:21+00:00",
"is_review_edited": false,
"review_created_timestamp": 1788632301325,
"review_created_datetime_utc": "2026-09-05T18:18:21+00:00",
"review_updated_timestamp": 1788632301325,
"review_updated_datetime_utc": "2026-09-05T18:18:21+00:00",
"review_text": "Juhu Cafe is a wonderful new addition to the area. The beachy atmosphere is bright and welcoming...",
"review_language": "en",
"review_permalink": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQUNvZENodHljRjlvT2psaGVHNUNWMkpPYlRWVFdqZ3RMVXRmWTJOMk0yYxAB!2m1!1s0x0:0x9e4f80252384ff09",
"review_report_url": "https://www.google.com/local/content/rap/report?postId=Ci9DQUlRQUNvZENodHljRjlvT2psaGVHNUNWMkpPYlRWVFdqZ3RMVXRmWTJOMk0yYxAB",
"contrib_place_url": "https://www.google.com/maps/contrib/102520373756565203865/place/ChIJv8t4KBT_wokRCf-EIyWAT54",
"photos": [
"https://lh3.googleusercontent.com/grass-cs/ACvplmNaKbdVwMT1TibHnx1u8sfePPuH8hInF7w7ROzAMp5U..."
],
"dining_mode": "Dine in",
"meal_type": "Brunch",
"spend_per_person": "$50–60",
"food_rating": 5,
"service_rating": 5,
"atmosphere_rating": 5,
"wait_time": "No wait",
"noise_level": "Quiet",
"seating_type": "Indoor dining",
"reservation_policy": "No reservation needed",
"group_size": "2 people",
"vegetarian_recommended": true,
"review_aspects": {
"mode": "Dine in",
"meal_type": "Brunch",
"price_range": "$50–60",
"food_aspect": 5,
"service_aspect": 5,
"atmosphere_aspect": 5,
"wait_time": "No wait",
"noise_level": "Quiet",
"seating_type": "Indoor dining",
"reservation_policy": "No reservation needed",
"group_size": "2 people",
"vegetarian_recommended": true
},
"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": "2 weeks ago",
"owner_reply_timestamp": 1788640170000,
"owner_reply_datetime_utc": "2026-09-05T20:29:30+00:00",
"owner_reply_language": "en",
"error": null,
"timestamp": "2026-09-25T11:00:00.000Z"
}

🎯 Fair Pay-Per-Event (PPE) Billing

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.

πŸš€ 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,
"outputFormat": "flattened",
"proxyConfiguration": { "useApifyProxy": True }
}
# Run the Actor and wait for it to finish
run = client.actor("unitbytes/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"[{item.get('stars')}β˜…] {item.get('place_name')} - by {item.get('contributor_name')} (Level {item.get('local_guide_level')})")
print(f"Review: {item.get('review_text', '')[:60]}...")
print(f"Permalink: {item.get('review_permalink')}\n")

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,
outputFormat: "flattened",
proxyConfiguration: { useApifyProxy: true }
};
const run = await client.actor("unitbytes/google-maps-contributor-scraper").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
console.log(`[${item.stars}β˜…] ${item.place_name} - by ${item.contributor_name} (Level ${item.local_guide_level})`);
console.log(`Permalink: ${item.review_permalink}`);
});

4. πŸ”„ Automated Scheduled Monitoring & Watchlists

A single run tells you what a contributor has posted today. The true enterprise value comes from monitoring key contributors on an automated scheduleβ€”detecting coordinated review attacks, tracking competitor reviewers, or building a continuous database of active Local Guides.

Setting up an Apify Schedule (Zero-Code)

  1. In Apify Console, navigate to your saved Task or this Actor.
  2. Click Actions β†’ Schedule Actor.
  3. Choose your frequency or paste standard cron expressions:
    • 0 8 * * * β€” Runs Daily at 8:00 AM UTC to audit suspect accounts.
    • 0 */6 * * * β€” Runs Every 6 hours for rapid response brand surveillance.
    • 0 9 * * 1 β€” Runs Every Monday morning to refresh weekly influencer reports.

5. πŸ—„οΈ Database & Pipeline Sync (Python, Supabase & PostgreSQL)

Store historical contributor review trails across runs so you can diff changes over time. Bulk-insert flat rows into Supabase, PostgreSQL, or Google BigQuery with 10 lines of Python:

from apify_client import ApifyClient
from supabase import create_client
apify = ApifyClient("YOUR_APIFY_TOKEN")
supabase = create_client("YOUR_SUPABASE_URL", "YOUR_SUPABASE_KEY")
# Run scraper for watchlist of contributors
run = apify.actor("unitbytes/google-maps-contributor-scraper").call(
run_input={"contributors": ["102520373756565203865"], "maxReviews": 20}
)
# Bulk-upsert into database table on review_id
rows = [item for item in apify.dataset(run["defaultDatasetId"]).iterate_items()]
supabase.table("google_contributor_reviews").upsert(rows, on_conflict="review_id").execute()
print(f"Successfully synced {len(rows)} reviews to Supabase!")

6. ⚑ Automated Workflows (Make, Zapier & Webhooks)

Connect this scraper directly into your existing automation stack:

  • Instant Webhooks: Trigger notifications on ACTOR.RUN.SUCCEEDED to push finished reviews to your CRM, Slack, or webhook endpoints.
  • No-Code Chains: Automatically run this scraper whenever an incoming 1-star review is detected on your Google Business Profile via Make.com or Zapier.

πŸ“Š Why Choose UnitBytes Over Other Scrapers?

Feature / Metric⚑ UnitBytes (This Actor)⚠️ Other Scrapers & Legacy Tools
Performance & Speed⚑ Ultra-Fast (<2s per profile) with instant start timesHeavy legacy tools (30–60s per profile, high crash rates)
Cost & Billing🎯 Pay-Per-Event (zero wasted compute) β€” pay strictly for data foundExpensive hourly compute runtimes or forced monthly subscriptions
Data CompletenessπŸ’Ž Complete: Microsecond timestamps, dining aspects, owner replies, photosBasic review text only, fuzzy dates ("3 weeks ago"), omitted replies
Input FlexibilityπŸ”— Accepts URLs, raw IDs, subpaths, shortlinks, single strings, or arraysRigid formats that error on query params or array mismatches
Export ReadinessπŸ“Š 100% Spreadsheet Ready: 1-click Excel (.xlsx) / CSV flat format + nested JSONRaw uncleaned dumps or JSON-only formats requiring manual conversion
Anti-Blocking & StabilityπŸ›‘οΈ 100% Stability & Uptime: Built-in smart proxy rotation with zero crashesFrequent IP blocks, rate limits, and freezes in older tools
Interruption ProtectionπŸ”„ Smart Checkpointing (no duplicate charges): Auto-resumes seamlesslyLost progress and duplicate billing on server restarts

⚑ Speed, Scalability & Zero-Waste Performance

  • ⚑ Ultra-Fast Execution (<2s per profile): Extracts up to 200 reviews and full Local Guide statistics in under 2 seconds per profile with instant response times and zero timeouts.
  • 🎯 Fair Pay-Per-Event Billing (Zero Wasted Compute): Pay strictly for data successfully extracted. No burning credits on empty profiles, idle server time, or expensive compute runtimes.
  • πŸ›‘οΈ 100% Stability & Reliability: Engineered for rock-solid stability with automatic anti-blocking and intelligent proxy rotationβ€”zero timeouts, zero freezing, and zero crashes.
  • πŸ“Š Instant Spreadsheet Readiness: 1-click downloads in Microsoft Excel (.xlsx), Google Sheets, or CSV with clean, fully unnested columns ready for immediate analysis.
  • πŸ”„ Smart Checkpointing & Resumption: Enterprise runs automatically save progress. In the event of platform restarts or network interruptions, the scraper resumes seamlessly without duplicate scraping or double charges.

πŸ”Œ MCP Server Setup: Claude Code, Cursor & AI Agents

Connect this scraper directly to Claude Code, Claude Desktop, Cursor, or any MCP-compatible AI agent via the hosted Apify MCP server:

{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com/?tools=actors,docs,unitbytes/google-maps-contributor-scraper"
}
}
}

No manual API token required in configuration if your client supports Apify OAuth sign-in. Alternatively, pass your Apify API Token in the authorization header.


πŸ€– Ask an AI Assistant About This Scraper

Open a ready-to-run prompt about Google Maps Contributor & Local Guide Scraper in your favorite AI assistant:


This Actor is a core pillar of the UnitBytes Google Maps Intelligence & Reputation Suite. Build complete, end-to-end local auditing and reputation management pipelines by combining all three specialized actors:

⚑ UnitBytes · Google Maps & Local Business Reputation Ecosystem
πŸ—ΊοΈ Contributor Profiles
πŸ“ You are here
Full review history & levels
πŸ” Reviews Change Tracker
Status & Takedowns
Detect deleted & edited reviews
πŸ“Έ Contributor Photos
High-Res Media
Original =s0 images & views

Complete Your Google Maps Toolkit:

  • πŸ” Google Maps Reviews Tracker & Removal Checker (unitbytes/google-maps-reviews-tracker) β€” Audit specific review URLs, detect deleted or edited reviews, verify 1-star review removals, and generate 1-click Google dispute links.
  • πŸ“Έ Google Maps Contributor Photos Scraper (unitbytes/google-maps-photos-scraper) β€” Download original high-resolution photos (=s0), verified view counts, audience reach, and geo-tagged venues from Google Local Guides.
  • πŸ—ΊοΈ Google Maps Contributor & Local Guide Reviews Scraper (unitbytes/google-maps-contributor-scraper) (This Actor) β€” Export complete reviewer profile history, Local Guide levels, badges, ratings, and dining aspects into spreadsheets in under 2 seconds.

❓ 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 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 for full historical exports) 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 dataset includes the full photos: [...] list of high-resolution image URLs attached to that specific review, plus the contributor's avatar and total lifetime photos count (total_photos_count).

(If you need to scrape a contributor's complete standalone Google Maps photo portfolio β€” all uploaded photos, view counts, and photo locations β€” check out our dedicated sister tool: Google Maps Contributor Photos Scraper).

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?

Apify Residential Proxies ({ "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }) are enabled by default. Residential proxies provide consistent speed, prevent Google rate-limiting, and avoid 429/403 blocks.

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.

Q: How does this tool compare to the other Google Maps scrapers in the UnitBytes suite?

This tool specializes in reverse-auditing reviewer profiles and Local Guides (extracting their full review history, badge progression, and ratings into spreadsheets).


πŸ‘¨β€πŸ’» Support, Bugs & Custom Enhancements

Actively maintained and supported. If Google updates contributor layouts, fixes and enhancements are deployed promptly within 24–48 hours.


Keywords

google maps reviewer scraper google maps review history reverse google reviews search google maps contributor scraper google local guide data extraction audit 1 star reviews google maps check fake reviews google maps google maps reviewer profile google maps user reviews export google maps review audit detect fake reviews google maps 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 export google maps reviews to excel download google maps reviewer history extract google local guide points and badges


πŸ’¬ Enterprise Support & Custom Pipelines

Need custom web data feeds, high-frequency scheduled runs, private cluster deployments, or dedicated SLAs?