Google Maps Contributor Reviews Scraper (Local Guides) avatar

Google Maps Contributor Reviews Scraper (Local Guides)

Pricing

from $1.20 / 1,000 contributor profiles

Go to Apify Store
Google Maps Contributor Reviews Scraper (Local Guides)

Google Maps Contributor Reviews Scraper (Local Guides)

Scrape Google Maps contributor reviews, reviewer profiles, and Local Guide histories in <2s. Paste any Google Maps business place URL, search query, review link, or contributor URL to extract all reviews, reviewer ratings, levels, photos, owner replies & fake review audit data. MCP & AI Agent ready.

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

17

Total users

10

Monthly active users

a day ago

Last modified

Share

Google Maps Contributor & Local Guide Reviews Scraper by UnitBytes

🗺️ Google Maps Contributor & Local Guide Reviews Scraper

Try it Free Now


🎁 Free Trial Included: Test free with your Apify starter credits — extract hundreds of contributor 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
📸 Photos, Menus & Videos
Places & Local Guides
Original =s0 images, menus, MP4s & views

🚀 Extract any Google Maps Contributor & Local Guide profile and up to 200 reviews directly into Excel, CSV, or Google Sheets in under 2 seconds.

[!TIP] 💡 Don't know how to get a Contributor URL? No problem — we find them for you automatically!
You don't need to dig for /maps/contrib/ profile links yourself. Simply type any Business Search Query (e.g. "Katz's Delicatessen New York"), paste a Google Maps Business Place URL (/maps/place/...), or paste a Review Share Link (/maps/reviews/...), and this Actor automatically discovers the Contributors & Local Guides on that business (up to 10,000 contributors per place, with optional server-side keyword filtering!) and extracts each contributor's entire profile, Local Guide level, and up to 200 lifetime reviews!
(Already have Contributor URLs /maps/contrib/... or 21-digit User IDs? Paste those directly too!)

  1. Type a Business Search Query, Paste a Place URL, or Paste a Contributor Link ("Katz's Delicatessen New York", /maps/place/..., /maps/contrib/..., Review Link, or numeric User ID)
  2. Click Start — and download your ready-to-use Excel (.xlsx), CSV, or JSON spreadsheet in 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 Google Maps Contributor Scraper:

  • ⚡ Lightning Fast: Extracts complete Contributor & Local Guide stats and up to 200 reviews in ~1.5 seconds with zero freezing or timeouts.
  • 📊 100% No-Code & Spreadsheet Ready: Open directly in Microsoft Excel, Google Sheets, or CSV with clean, flat columns.
  • 🏆 Complete Local Guide Intelligence: Uncover Local Guide Level (1–10), total points, next tier target, official badges, and 11 lifetime contribution counters.
  • 🔄 1-Step Business Place Discovery (/maps/place/...): Paste a business URL or search query to automatically discover up to 10,000 contributors on that listing and extract each contributor's full review history.
  • 🔗 Verified Review Permalinks & Report Links: Direct clickable URLs leading straight to every review on Google Maps (review_permalink) plus 1-click Google dispute links (review_report_url).
  • 📍 Full Location Details: Complete place names, business categories, street addresses, city, country, price range, GPS coordinates, and direct place links.
  • 💰 Fair Pay-Per-Event ($0.00 on Private Profiles): Pay only for public data extracted. Zero subscription lock-in and $0.00 charged for private or missing contributor profiles.

❓ What Problem Does This Solve?

Google Maps offers no export button to inspect Google Maps Contributor profiles, audit Local Guide history, or retrieve all reviews written by a specific contributor. Whether you are building Local Guide influencer lists, mapping customer journeys, or auditing suspicious 1-star contributors, manual analysis is impossible at scale.

This Actor accepts Google Maps Contributor URLs (/maps/contrib/...), reviews/photos tab links, share shortlinks (maps.app.goo.gl/...), numeric 21-digit User IDs, Business Place URLs (/maps/place/...), or Direct Review Links (/maps/reviews/...) and delivers clean, structured data ready for Excel, CSV, or database storage:

  • 🏆 Local Guide Intelligence: Uncover Local Guide Level (1 to 10), total points, target points needed for the next level, and official badge icons.
  • 📊 Lifetime Contribution Counters: Public counts of written reviews, star ratings, uploaded photos, videos, captions, community answers, Q&A, new places added, roads added, and approved map edits.
  • 👤 Contributor Profile Identity: Public display name, high-res avatar photo, canonical contributor URL, and verified 21-digit contributor ID.
  • 📜 Full Contributor Reviews History: Detailed review text, star ratings (1–5), direct permanent review links, 1-click policy report links, publication dates, and attached high-resolution photos.
  • ⏰ Exact Dates, Timestamps & Edit Detection: Microsecond-precision epoch timestamps, ISO 8601 UTC dates (review_datetime_utc), and automatic post-publication edit flags (is_review_edited).
  • 📍 Place & Location Details: Place name, business category, street address, city, country, timezone, Knowledge Graph ID, price range, GPS coordinates, and direct place links.
  • 🍽️ Dining & Experience Aspects: Contributor-reported dining mode (Dine-in / Takeout), meal type (Brunch / Dinner), spend per person, wait time, noise level, and Food / Service / Atmosphere sub-scores.
  • 💬 Business Owner Responses: Extracts the business owner's response text and exact reply UTC timestamp whenever a business responded.
  • 🛡️ Privacy & Status Detection: Gracefully identifies active contributors (ACTIVE), private accounts (PRIVATE), and invalid links (NOT_FOUND) without crashing.

🥊 Why Choose This Contributor Scraper? (Feature Comparison)

Capability🗺️ This Actor (UnitBytes)Other ScrapersLegacy Tools
Speed⚡ ~1.5 seconds per contributor10–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
Complete Local Guide Metrics✅ Level 1–10, points, next tier, badge & 11 counters⚠️ Partial❌ Often missed
1-Step Business Place Discovery✅ Search query or /maps/place/... (up to 10,000 contributors)❌ Single place only❌ Manual copy-pasting
Exact Review Timestamps✅ Exact UTC timestamp, epoch ms & Edit detection❌ Fuzzy text only ("3 weeks ago")❌ Fuzzy text only
Direct Review Permalinks✅ Yes (review_permalink + review_report_url)❌ Missing❌ Missing
Direct Place Links & Details✅ Place URL, city, country, price & GPS❌ Basic name only⚠️ Incomplete
Review Aspects & Sub-scores✅ Food, service, atmosphere, spend & meal type❌ Missing❌ Missing
Review Photo URLs✅ Complete high-res photos array⚠️ Partial❌ Omitted
Business Owner Replies✅ Full reply text & exact UTC timestamp⚠️ Inconsistent❌ Missing
Pricing Model💰 Fair Pay-Per-Event ($0.00 for private profiles)High monthly feesHigh server compute costs

📦 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 contributor's full profile information and Local Guide metrics. Non-technical users get clean, readable spreadsheet columns without needing to parse nested data.
  • Automatic Handling: If a contributor has 50 reviews, it produces 50 spreadsheet rows. If a contributor profile is private or has 0 reviews, it outputs 1 row with their public profile stats and status: "PRIVATE" at $0.00 review charge.

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 (70+ Enriched Contributor & Review Fields)

Field NameTypeDescription
contributor_namestring | nullPublic display name of the Google Maps contributor
contributor_idstringGoogle Maps 21-digit numeric contributor user ID
contributor_urlstringDirect canonical link to the contributor profile
avatar_urlstring | nullContributor profile avatar image URL
is_local_guidebooleantrue if the contributor is a verified Google 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 written reviews contributed
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 contributed
total_edits_countinteger | nullTotal approved map edits contributed
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 contributor 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
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. 1788632301325)
review_datetime_utcstring | nullExact publication ISO 8601 UTC timestamp (e.g. "2026-09-05T18:18:21+00:00")
is_review_editedbooleantrue if contributor 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 contributor ("Dine in", "Take out", "Delivery")
meal_typestring | nullMeal type reported by contributor ("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", "Indoor dining")
reservation_policystring | nullReported reservation requirement ("Reservations required", "Walk-in")
group_sizestring | nullReported party size ("Solo", "2 people", "Group of 4+")
vegetarian_recommendedstring | booleanVegetarian recommendation
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

🌟 Local Guide Influencer & Brand Ambassador Outreach

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

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

🛡️ Contributor Audit, Review Fraud Detection & Reputation Defense

Audit contributors behind 1-star reviews to verify account legitimacy before responding or filing removal disputes:

  • 1-Step Business Place Discovery: Paste any Business Place URL (/maps/place/...), Business Search Query, or Direct Review Link (/maps/reviews/...) to automatically discover up to 10,000 contributors on a listing (placeSort: "negative_and_newest" or "negative") and audit up to 200 of each contributor's lifetime reviews.
  • Quickly differentiate between authentic Local Guides with hundreds of verified contributions and fake burner accounts (total_reviews_count: 1) or competitor accounts.
  • Export exact microsecond timestamps (review_datetime_utc), review permalinks (review_permalink), and 1-click Google dispute links (review_report_url).

🏢 Competitor Intelligence & Customer Journey Mapping

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

📈 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 (No Contributor URL Needed!)

You don't need to find contributor URLs manually — type or paste any of these 10+ Google Maps & Google Search formats into contributors and the Actor automatically discovers and resolves the canonical contributor profile(s):

#Input FormatExample InputBehavior
1Place URL (/maps/place/...)https://www.google.com/maps/place/Katz's+Delicatessen/...Auto-discovers up to 10,000 contributors on the business & scrapes up to 200 lifetime reviews each
2Business Search QueryKatz's Delicatessen New YorkResolves the business & auto-discovers its contributors
3Area / Neighborhood QueryJuhuResolves the top reviewable venue in the neighborhood & discovers its contributors
4Raw Google Place ID (ChIJ...)ChIJ6xTXncarw4kRfLnQ-2vdHd4 or place_id:ChIJ...Decodes the Place ID offline & discovers the place's contributors
5Google Search #lrd= Modal Linkhttps://www.google.com/search?q=McDonalds+NYC#lrd=0x89c2...Extracts the embedded Feature ID & discovers the business's contributors
6writereview?placeid= Linkhttps://search.google.com/local/writereview?placeid=ChIJ2_...Decodes the placeid= parameter offline & discovers the business's contributors
7g.page/r/<CODE>/review Linkhttps://g.page/r/CeqMy1fnRzUxEBM/reviewDecodes the g.page/r/ Protobuf code offline & discovers the business's contributors
8General Contributor Profilehttps://www.google.com/maps/contrib/102520373756565203865/reviews (or raw 102520373756565203865)Scrapes the contributor's full profile, Local Guide metrics & up to 200 lifetime reviews
9Mobile Share Shortlinkhttps://maps.app.goo.gl/wSLNNUnwRAwg1T4W9Unwraps redirect to place, review, or contributor & scrapes full contributor profile(s)
10Contributor Place Review Linkhttps://www.google.com/maps/contrib/1025.../place/ChIJ6x...Scrapes the contributor's full profile & guarantees that specific business review is included
11Direct Review Permalink / CID / FIDhttps://www.google.com/maps/reviews/data=..., ?cid=..., or 0x...:0x...Resolves review author or business listing automatically

Note on Private Merchant Admin Links (https://business.google.com/dashboard/l/...):
If a business.google.com link includes a public cid=, ftid=, or placeid= query parameter, the Actor automatically extracts it and scrapes the business's contributors. Bare merchant admin dashboard links without a public Place ID require store-owner login and are safely skipped at $0.00 cost.


⚙️ Input Configuration

ParameterTypeRequiredDefaultDescription
contributorsarrayYesPrefilled demoList of Business Search Queries ("Katz's Delicatessen New York"), Business Place URLs (/maps/place/...), Place IDs (place_id:ChIJ...), Direct Review Links (/maps/reviews/...), Contributor URLs (/maps/contrib/...), numeric User IDs, or maps.app.goo.gl shortlinks.
maxReviewsintegerNo10 (Prefill: 50)Maximum number of reviews to extract per contributor profile (0 to 200). Prefilled at 50 in Console; set to 200 for complete review history (Google's single-query limit).
scrapeReviewsbooleanNotrueWhen enabled, extracts the detailed reviews array. If disabled, extracts contributor profile stats and Local Guide metrics only.
placeSortstringNo"negative_and_newest"When a Business Search Query or Business Place URL (/maps/place/...) is provided, choose which contributors to discover: "negative_and_newest" (1★/2★ + newest), "negative" (only 1★ & 2★ contributors), "newest" (most recent first), or "all".
maxReviewersPerPlaceintegerNo20Maximum number of unique contributors to discover per Business Search Query or Business Place URL (1 to 10,000).
keywordstringNonullOptional server-side review keyword filter (e.g. "pastrami", "scam", "rude", "manager"). When discovering contributors from a Business Place URL or Search Query, only discovers contributors who mentioned this keyword in their review.
outputFormatstringNo"flattened"Choose "flattened" (1 row per review, ready for Excel/CSV) or "nested" (1 document per contributor profile with a 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 public data extracted, with zero waste on idle server compute:

  • Per Active Contributor Profile (profile event): Charged per active public contributor profile extracted. Covers full profile identity, Local Guide badges, level, points, and lifetime contribution metrics.
  • Per Review Extracted (review event): Scales dynamically based on the exact number of detailed reviews successfully extracted.
  • Private & Missing Profiles Are $0.00: If a contributor profile is private (status: "PRIVATE") or does not exist (status: "NOT_FOUND"), you are charged $0.00 (zero profile or review events).

🚀 Quick Start & Developer Integrations

1. No-Code Web Console (Excel, CSV, or Google Sheets)

  1. Enter a Business Search Query, Place URL, or Contributor Link: Type any business name (e.g. "Katz's Delicatessen New York"), or paste a Business Place URL (/maps/place/...), Review Link (/maps/reviews/...), Contributor URL (/maps/contrib/...), or 21-digit User ID into the contributors box.
  2. Optional Keyword Filter & Limits: Set keyword (e.g. "pastrami", "scam") if you want to filter discovered place contributors by review keyword, set maxReviewersPerPlace (1 to 10,000), and keep maxReviews at 50 (or up to 200 for full historical exports).
  3. Click Start: Hit the green Start button and let the scraper run (~1.5 seconds per contributor 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 (mix Business Search Queries, Place URLs, Review Links, or Contributor IDs)
run_input = {
"contributors": [
"Katz's Delicatessen New York",
"https://www.google.com/maps/contrib/102520373756565203865",
],
"maxReviewersPerPlace": 20,
"keyword": "pastrami", # Optional: only discover contributors mentioning this keyword
"maxReviews": 200,
"scrapeReviews": True,
"outputFormat": "flattened",
"proxyConfiguration": { "useApifyProxy": True, "apifyProxyGroups": ["RESIDENTIAL"] }
}
# 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, apifyProxyGroups: ["RESIDENTIAL"] }
};
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 & Contributor Watchlists

Set up recurring contributor and Local Guide monitoring directly in the Apify Console:

  1. 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 contributor watchlists.
    • 0 */6 * * * — Runs Every 6 hours for rapid-response brand surveillance.
    • 0 9 * * 1 — Runs Every Monday morning to refresh weekly Local Guide influencer reports.

5. 🗄️ Database & Pipeline Sync (Python, Supabase & PostgreSQL)

Store historical contributor review trails across runs so you can diff changes over time:

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": 50}
)
# 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)} contributor reviews to Supabase!")

6. 🔌 MCP Server Setup: Claude Code, Cursor & AI Agents

Connect this Actor 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"
}
}
}

This Actor is a core pillar of the UnitBytes Google Maps Intelligence & Reputation Suite:

⚡ 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
📸 Photos, Menus & Videos
Places & Local Guides
Original =s0 images, menus, MP4s & views
  • 🔍 Google Maps Reviews Scraper (unitbytes/google-maps-reviews-tracker) — Extract up to 10,000 reviews per business or audit specific review URLs to detect deleted or edited reviews with 1-click Google dispute links.
  • 📸 Google Maps Photos Scraper (Places, Menus, Videos & Guides) (unitbytes/google-maps-photos-scraper) — Download original full-resolution photos (=s0), restaurant menus, food & drink galleries, playable MP4 videos, 360° Street View, and verified view counts from any Google Maps place or Local Guide.
  • 🗺️ Google Maps Contributor & Local Guide Reviews Scraper (unitbytes/google-maps-contributor-scraper) (This Actor) — Export complete contributor 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 Google Maps Contributor Scraper?

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 Google Maps Contributor profile?

The Actor extracts up to your configured maxReviews (0 to 200, prefilled at 50 in Console; set to 200 for full historical review exports) or the total number of public reviews available on the contributor profile in a single fast call (200 is Google's maximum per single contributor query).

Yes! You don't need to know how to find a Contributor URL. If you type a plain-text Business Search Query (e.g. "Katz's Delicatessen New York"), paste a Google Maps Business Place URL (/maps/place/...), or pass a Place ID (place_id:ChIJ...), the Actor automatically discovers up to maxReviewersPerPlace (up to 10,000 contributors per place, sorted by placeSort: "negative_and_newest", "negative", "newest", or "all", with optional server-side keyword filtering) and scrapes each contributor's full profile and up to 200 lifetime reviews.

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). For full-resolution (=s0) business galleries, restaurant menus, playable MP4 videos, or a contributor's complete photo portfolio with view counts, see our companion Google Maps Photos Scraper (Places, Menus, Videos & Guides).

Q: What happens if a contributor has set their profile to private?

If a contributor has enabled privacy settings on Google Maps, the Actor gracefully identifies this, returns status: "PRIVATE" (is_private: true), extracts all publicly visible metadata (display name, avatar, Local Guide level, points, and contribution counts) with an empty reviews array, and charges $0.00.

Q: Does the official Google Places API provide Contributor profiles or Local Guide levels?

No. The official Google Places API returns at most 5 reviews per business and provides zero endpoint for contributor profiles, Local Guide levels, points, badges, or contributor review histories. This Actor serves as a complete Google Maps Contributor & Local Guide API alternative.


💬 Support, Bugs & Custom Enhancements

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


⚖️ Compliance & Privacy

This Actor extracts strictly publicly available data from Google Maps contributor profiles. It does not log in, bypass authentication walls, or collect private user data. Personal data is protected by regulations such as GDPR and CCPA—see Apify's guide on the legality of web scraping and ensure you have a legitimate basis when processing public reviews and profile data.

Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Google LLC or any of its subsidiaries.