Enterprise Google Maps reputation intelligence & Local Guide auditing suite on Apify. Track deleted/removed Google Maps reviews, scrape reviewer contribution histories, and extract high-res venue photos.
🚀 Try Live on Apify • ⚡ 21 Free n8n Templates • 📖 Documentation & Schemas • 💼 Custom Data Feeds
⚡ 1-Click Free Trial: Test live queries using Apify's $5 free monthly credit • Zero login or cookies required
This repository contains ready-to-run Python SDK scripts, 1-click n8n automation workflow .json templates, and sample output datasets (JSON & CSV):
| Extraction Engine | 🐍 Python Quickstart | ⚡ n8n Workflow Template | 📊 Sample Output | 🚀 Cloud Console |
|---|---|---|---|---|
Google Maps Reviews Tracker: Check Removed & Edited Reviewsunitbytes/google-maps-reviews-tracker • Full Schema |
examples/run_google_maps_reviews_tracker.py |
n8n/google-maps-reviews-tracker-n8n-workflow.json |
JSON · CSV |
⚡ Run on Apify |
Google Maps Reviewer Profile & Local Guide History Scraperunitbytes/google-maps-contributor-scraper • Full Schema |
examples/run_google_maps_contributor_scraper.py |
n8n/google-maps-contributor-scraper-n8n-workflow.json |
JSON · CSV |
⚡ Run on Apify |
Google Maps Contributor & Local Guide Photos Scraperunitbytes/google-maps-photos-scraper • Full Schema |
examples/run_google_maps_photos_scraper.py |
n8n/google-maps-photos-scraper-n8n-workflow.json |
JSON · CSV |
⚡ Run on Apify |
💡 Using n8n? Browse all 21 pre-built scraping workflows with 1-click canvas copy (
Ctrl+V) at unitbytes.com/n8n.
Launch pre-configured extraction templates directly in the Apify Cloud Console with zero parameter setup:
| Task Preset | Target Extraction Use Case | Direct Launch |
|---|---|---|
| Track Google Maps Review Deletions & Edits | Monitor Google Maps reviews for silent removals, text edits, and star rating changes. Get structured ACTIVE/REMOVED status per review URL | ⚡ Run Task Preset |
| Monitor Reviews for Car Dealers & Local Businesses | Audit Google Maps reviews for auto dealers and local businesses. Detect fake review removal, rating changes, and owner reply updates in bulk | ⚡ Run Task Preset |
| Verify Google Maps Review Removal Takedowns | Confirm if your reported Google Maps reviews were successfully removed. Verify takedown requests and get ACTIVE/REMOVED status instantly | ⚡ Run Task Preset |
| Verify Fake Google Review Takedown & Deletion | Confirm if reported fake or defamatory 1-star reviews were removed by Google. Get timestamped ACTIVE or REMOVED verification without manual checking. | ⚡ Run Task Preset |
| Local SEO Client Google Review Removal Audit | Audit client Google Business Profiles for unexpectedly dropped or filtered 5-star reviews. Differentiate between active and quietly deleted reviews. | ⚡ Run Task Preset |
| Restaurant & Hotel Google Review Change Monitor | Monitor hospitality reviews for star rating modifications, text updates, and owner reply changes. Export audit logs for brand reputation defense. | ⚡ Run Task Preset |
| Audit Local Guide Reviews & Contribution History | Extract full review history, ratings, photos, and places visited by an active Google Local Guide. Audit reviewer authority, credibility, and sentiment. | ⚡ Run Task Preset |
| Export Google Contributor Reviews to Excel / CSV | Download all Google Maps reviews by a contributor into a spreadsheet. Includes star ratings, review text, permalinks, and owner replies. | ⚡ Run Task Preset |
| Analyze Competitor Google Maps Reviewers | Investigate reviewers who reviewed competitors. Uncover which other businesses they frequent, their rating patterns, and identify potential brand advocates. | ⚡ Run Task Preset |
| Find Local Food & Restaurant Influencers on Google Maps | Identify Level 6-10 food critics and culinary Local Guides with hundreds of high-quality dining reviews and uploaded photos. | ⚡ Run Task Preset |
| Scout Travel & Hotel Local Guides for Tourism Marketing | Find prolific travel reviewers and hospitality Local Guides who frequently review resorts, boutique hotels, and tourist attractions. | ⚡ Run Task Preset |
| Extract High-Resolution Local Guide Photos in Original Quality | Download original full-resolution (=s0) photos uploaded by top Google Maps Local Guides with dimensions, captions, and place coordinates. | ⚡ Run Task Preset |
| Scrape Restaurant Food, Dishes & Menu Photos on Google Maps | Extract authentic customer-uploaded food, dish, drink, and menu photos with restaurant name, category, and place IDs. | ⚡ Run Task Preset |
| Track Local Guide Total Photo Views & Influencer Reach | Measure total aggregate photo view counts (e.g. 15M+ views), Local Guide levels, and points to identify top visual influencers. | ⚡ Run Task Preset |
| Extract Hotel, Resort & Vacation Photos Uploaded by Guests | Collect authentic guest-uploaded travel photos of hotel rooms, amenities, pools, and resorts with exact GPS coordinates. | ⚡ Run Task Preset |
| Audit Storefronts, Retail Signage & Commercial Photos | Gather exterior storefront images, entrance photos, and commercial signage uploaded by local contributors across US cities. | ⚡ Run Task Preset |
| Map Contributor Photos to Place IDs & GPS Coordinates | Extract photos with verified Google Place IDs, CIDs, addresses, and latitude/longitude coordinates for GIS and spatial mapping. | ⚡ Run Task Preset |
🚀 Google Maps Reviews Tracker: Check Removed & Edited Reviews (unitbytes/google-maps-reviews-tracker)
Did Google delete your client's 5-star review, or did a reported fake review finally disappear? The dedicated data engine for Google Maps review lifecycle auditing, removal detection, and change monitoring.
- Pricing:
$0.0015 / item(Pay-Per-Event — $0.0015 result (volume tiers from $0.0012)) - Cloud Console: https://apify.com/unitbytes/google-maps-reviews-tracker?fpr=939u3w&fp_sid=gh_gmaps
- Full Documentation & Schema: https://unitbytes.com/actors/google-maps-reviews-tracker/
- n8n Workflow File:
n8n/google-maps-reviews-tracker-n8n-workflow.json
- Instant Removal & Deletion Verification: Confirm whether a specific review URL is still live, removed by Google algorithms, or taken down by the author.
- Review Modification & Rating Edit Tracking: Compare historical text, star ratings, and owner responses across sweeps to detect when reviewers update their feedback.
- High-Speed Cloud Execution: 10x faster and 10x cheaper than legacy scrapers, running at sub-second speeds with minimal compute overhead.
- ORM & Local SEO Agency Workflow: Compile evidence packages and verify dispute status automatically on a schedule for hundreds of client profiles.
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"reviewsToCheck": [
"https://maps.app.goo.gl/wSLNNUnwRAwg1T4W9",
"https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sChZDSUhNMG9nS0VJQ0FnSUNwLWNMM2J3EAE!2m1!1s0x0:0x57656ffbe42744ba!3m1!1s2@1:CAIQACodChtycF9oOlJORWFGdmxEN3VmeDI1VlFXRXotRXc%7C%7C?hl=en-US"
],
"proxyConfiguration": {
"useApifyProxy": True
}
}
run = client.actor("unitbytes/google-maps-reviews-tracker").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("reviewer_name"), item.get("business_name"), item.get("review_date")){
"input_url": "https://maps.app.goo.gl/wSLNNUnwRAwg1T4W9",
"resolved_url": "https://www.google.com/maps/reviews/data=!4m8!14m7...",
"status": "ACTIVE",
"is_active": true,
"is_removed": false,
"review_id": "Ci9DQUlRQUNvZENodHljRjlvT2tWaWExOUlkRFIwWVhFemJFa3pTekZVTlVjeGNHYxAB",
"place_id": "0x0:0x84e51f23e8c0a75c",
"place_cid": "ChIJ2_VLfRdawokRXKfA6CMf5YQ",
"review_url": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQ...",
"review_report_url": "https://www.google.com/local/content/rap/report?postId=Ci9DQUlRQ...",
"is_edited": false,
"review_modified_timestamp": null,
"reviewer_name": "RoRo",
"reviewer_id": "107907612947498246994",
"reviewer_url": "https://www.google.com/maps/contrib/107907612947498246994",
"reviewer_avatar_url": "https://lh3.googleusercontent.com/a-/...",
"reviewer_number_of_reviews": 3,
"review_stars": 1,
"review_text": "I visited this location during my first trip to New York...",
"review_photos": [
"https://lh3.googleusercontent.com/grass-cs/ACvplmOY0OUAUEn8J7yYHd1cCpWZ..."
],
"review_photos_count": 1,
"review_timestamp": "2024-03-29T16:56:56.125874+00:00",
"review_date": "6 months ago",
"review_language": "en",
"business_name": "McDonald's",
"business_address": "160 Broadway, New York, NY 10038, United States",
"business_categories": [
"Fast food restaurant",
"Coffee shop",
"Breakfast restaurant"
],
"business_primary_category": "Fast food restaurant",
"business_city": "New York",
"business_country": "United States",
"business_country_code": "US",
"business_latitude": 40.7094789,
"business_longitude": -74.0100364,
"business_timezone": "America/New_York",
"business_cover_image_url": "https://lh3.googleusercontent.com/grass-cs/ACvplmMYk...",
"has_owner_reply": true,
"owner_reply": "Thank you for bringing this to our attention. We have addressed this with our local team.",
"owner_reply_date": "5 months ago",
"owner_reply_timestamp": "2024-04-02T14:22:10.000000+00:00",
"owner_reply_language": "en",
"check_timestamp": "2026-10-01T21:08:28.579696+00:00"
}Q: How does this differ from traditional Google Maps scrapers? Traditional scrapers crawl entire place listings. This Actor inspects individual review permalinks to definitively verify whether a specific review is ACTIVE, REMOVED, or HIDDEN.
Q: Why is the UnitBytes review tracker so fast and affordable? Our streamlined cloud extraction pipeline eliminates heavy compute overhead, completing status checks in milliseconds under Pay-Per-Event pricing.
Q: Can I automate periodic review health sweeps? Yes. Schedule weekly or monthly runs with your client review URLs to immediately flag unexpected deletions.
Q: Does it track changes in review text or star rating? Yes. By comparing output datasets between runs, you can immediately detect when a reviewer edited their rating or text.
🚀 Google Maps Reviewer Profile & Local Guide History Scraper (unitbytes/google-maps-contributor-scraper)
Deep reputation intelligence for Google Maps. Audit Local Guide contributor profiles, unmask fake or paid review syndicates, track deleted/edited negative reviews, and protect your brand rating.
- Pricing:
$0.002 / profile(Pay-Per-Event — $0.002 contributor profile, $0.001 extracted review (volume tiers from $0.0008)) - Cloud Console: https://apify.com/unitbytes/google-maps-contributor-scraper?fpr=939u3w&fp_sid=gh_gmaps
- Full Documentation & Schema: https://unitbytes.com/actors/google-maps-contributor-scraper/
- n8n Workflow File:
n8n/google-maps-contributor-scraper-n8n-workflow.json
- Deleted & Edited Review Auditing: Track changes across review histories to identify when critical reviews are quietly scrubbed or modified.
- Local Guide Points & Level Scoring: Extracts exact contributor level (Level 1-10), total review points, badge history, and review trust weights.
- Syndicate & Review Farm Detection: Audit reviewer historical patterns to detect coordinated 1-star attack networks or paid review rings.
- Full Review Text & Rating Distribution: Extracts star rating, detailed review paragraphs, owner response timestamps, and attached review photo links.
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"contributors": ["https://www.google.com/maps/contrib/102520373756565203865"],
"proxyConfiguration": {
"useApifyProxy": True,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}
run = client.actor("unitbytes/google-maps-contributor-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("contributor_name"), item.get("place_name"), item.get("place_price_range")){
"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"
}Q: Why is auditing the contributor more useful than just scraping place reviews? Place reviews only show what is currently visible on that venue. Scraping the contributor full profile reveals if they review 5 competitors negatively in 2 days, establishing evidence of review fraud.
Q: Does this actor extract reviewer photos? Yes, reviews with attached user photos include high-resolution photo URLs and view counts.
Q: Can I use this for ORM (Online Reputation Management)? Yes, agencies use this tool to compile evidence packages when requesting removal of malicious or fraudulent Google reviews.
Q: How fast does it extract contributor profiles? Extraction runs asynchronously at sub-second rates per contributor profile via parallel network requests.
Extract authentic high-resolution imagery uploaded by Google Maps Local Guides and venue visitors. Power travel apps, food delivery menus, architectural analysis, and visual AI training datasets.
- Pricing:
$0.002 / item(Pay-Per-Event — $0.002 photo, $0.002 profile scraped (volume tiers from $0.0012)) - Cloud Console: https://apify.com/unitbytes/google-maps-photos-scraper?fpr=939u3w&fp_sid=gh_gmaps
- Full Documentation & Schema: https://unitbytes.com/actors/google-maps-photos-scraper/
- n8n Workflow File:
n8n/google-maps-photos-scraper-n8n-workflow.json
- Uncompressed Original Resolution: Extracts direct photo CDN URLs up to 4K resolution, bypassing Google Maps thumbnail downscaling.
- Public Photo View Counts: Captures exact viewer engagement counts for each photo to identify the most visually appealing dish or venue angle.
- Contributor Attribution: Associates each photo with the Local Guide uploader name, profile URL, and upload timestamp.
- Batch Venue Ingestion: Pass lists of Google Maps place URLs or contributor IDs to scrape thousands of categorized photos in minutes.
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"contributors": ["https://www.google.com/maps/contrib/102520373756565203865"],
"proxyConfiguration": {
"useApifyProxy": True,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}
run = client.actor("unitbytes/google-maps-photos-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("name"), item.get("placeName"), item.get("placeRating")){
"targetType": "contributor",
"name": "Reema Mulchandani",
"isLocalGuide": true,
"localGuideLevel": 7,
"localGuidePoints": 8119,
"totalPhotosCount": 878,
"totalPhotoViews": 16439131,
"photoId": "CIABIhA_6alxtNVk22yu_5rt7M6b",
"caption": "Side of red chili sauce",
"photoUrlHighRes": "https://lh3.googleusercontent.com/gps-cs/AH1DqX...=s0",
"imageWidth": 4032,
"imageHeight": 3024,
"uploadDate": "2026-09-05",
"placeName": "Juhu",
"placeAddress": "517 Union Blvd Unit B, Totowa, NJ 07512",
"placeCategory": "Cafe",
"placeRating": 5.0,
"placeReviewsCount": 71,
"latitude": 40.901379,
"longitude": -74.216956,
"status": "OK"
}Q: What resolution are the downloaded photos? Photos are extracted with the =s0 maximum-resolution parameter, delivering the raw uncompressed photo originally uploaded.
Q: Can I scrape photos by category (food, interior, exterior, menu)? Yes. Google Maps categorized photo tabs can be targeted directly.
Q: Is this suitable for computer vision AI model training? Yes, widely utilized for training visual object recognition, menu OCR, and venue aesthetics models.
Q: Does this require Google Maps API keys or billing? Zero Google API keys or billing required. Avoid expensive Google Places API photo fees entirely.
git clone https://github.com/unitbytes/Google-Maps-Reviews-Scraper-API.git
cd Google-Maps-Reviews-Scraper-API
pip install -r requirements.txt
export APIFY_API_TOKEN="your_apify_api_token"
python examples/run_google_maps_reviews_tracker.py- Open any
.jsonfile inside then8n/folder (or copy in 1 click from unitbytes.com/n8n). - Press
Ctrl+V/Cmd+Vdirectly onto your n8n workflow canvas. - Paste your Apify API Token into Node
1. Set Apify Token & Inputand click Test Workflow.
Don't want to manage API tokens or scripts? UnitBytes Data Delivery provides ready-to-use CSV, Excel (.xlsx), Google Sheets, or Webhook feeds tailored to your exact target keywords, cities, or categories.
- 🌐 Request a Sample Dataset: https://unitbytes.com/#enterprise-intake
- 📧 Direct Engineering Contact: contact@unitbytes.com
- ⚡ Explore All 21 Scrapers: https://unitbytes.com/actors/