Google Maps Reviews Scraper | $0.25/1K 💰 All 10K Reviews avatar

Google Maps Reviews Scraper | $0.25/1K 💰 All 10K Reviews

Pricing

from $0.25 / 1,000 review scrapeds

Go to Apify Store
Google Maps Reviews Scraper | $0.25/1K 💰 All 10K Reviews

Google Maps Reviews Scraper | $0.25/1K 💰 All 10K Reviews

Fast, low-cost Google Maps Reviews Scraper ($0.25–$0.35/1K). Extract up to 10,000 reviews per business from Place URLs (/maps/place/...), Search Queries, or Place IDs (ChIJ...). Sort by Newest or Lowest Rating (1-star first), filter by keyword, and export 41 flat fields to Excel, CSV, or JSON.

Pricing

from $0.25 / 1,000 review scrapeds

Rating

0.0

(0)

Developer

UnitBytes | Enterprise Web Data

UnitBytes | Enterprise Web Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Google Maps Reviews Scraper & Deleted Review Removal Checker by UnitBytes

🔍 Google Maps Reviews Scraper ($0.25–$0.35 / 1K Reviews)

Extract up to 10,000 Google Maps reviews per business from any Place URL (/maps/place/...), Search Query (e.g. "Katz's Delicatessen", "Juhu"), or Place ID (ChIJ...) in seconds.

Sort by Newest, Lowest Rating (1-star first), Highest Rating, or Most Relevant, filter server-side by Keyword, and export 41 structured fields (including reviewer profile, Local Guide status, full text & English translation, review photos, owner replies, GPS coordinates, direct review permalink, and 1-click Google dispute URL) directly to Excel (.xlsx), CSV, or JSON. Also supports verifying individual review share links (maps.app.goo.gl/... and /maps/reviews/data=...) to check if specific reviews are ACTIVE, REMOVED, or is_edited.

Try it Free Now


🎁 Free Trial Included: Test free with your Apify starter credits — no credit card required!


⚡ UnitBytes · Google Maps & Local Business Intelligence Ecosystem
🔍 Reviews Scraper ($0.25/1K)
📍 You are here
Up to 10,000 reviews/place & keyword filter
🛡️ Review Takedown Tracker
ORM & Removal Proof
Check ACTIVE/REMOVED & 1-click dispute links
🗺️ Contributor Profiles
Local Guide Audits
Full review history & levels
📸 Photos, Menus & Videos
Places & Local Guides
Original =s0 images, menus, MP4s & views

🚀 How to Use (3 Quick Steps)

  1. Enter your targets into reviewsToCheck:
    • Place URLs, Search Queries, or Place IDs: Paste any Google Maps Business link (/maps/place/...), Search Query (e.g. "Katz's Delicatessen", "Juhu"), or Place ID (ChIJ...) to extract up to 10,000 reviews per business.
    • Sort & Filter (Optional): Choose reviewsSort (newest, lowest_rating, highest_rating, or most_relevant) and optional reviewKeyword (e.g. "service", "wait time").
  2. Click Start (extracts 1,000+ reviews in ~10 seconds with zero startup lag).
  3. Download your ready-to-use Excel (.xlsx), CSV, or JSON dataset in 1 click!

⭐ Loving this Scraper?
If this tool saved you hours of manual checking, 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 ORM Setup?
Have a question, need custom fields, or encountered an issue? Email us directly at contact@unitbytes.com or open a ticket in the Apify Issues Tab — we respond fast!


✨ Key Benefits & Superpowers

  • 🔍 Dual-Mode Extraction: Scrape up to 10,000 reviews per Business Place URL or Search Query (/maps/place/...) OR verify specific individual review share links (/maps/reviews/data=..., maps.app.goo.gl/..., /maps/contrib/.../place/...) in the exact same run.
  • 🗑️ Instant Takedown & Deletion Proof (is_removed: true): Automatically confirms when a disputed review has been deleted by the author or removed by Google, while preserving the business name, address, and Place CID so ORM agencies have timestamped proof for client invoicing.
  • 🚨 1-Click Google Policy Dispute Links (review_report_url): Generates direct Google policy violation report links pre-filled with the review's internal postId—letting reputation teams flag defamatory reviews in 1 click instead of hunting through thousands of reviews manually.
  • ✏️ Post-Publication Edit Detection (is_edited): Compares creation vs. modification timestamps to flag when a customer silently changes their star rating or edits their complaint text (review_modified_timestamp).
  • 💬 Owner Reply & SLA Auditing (has_owner_reply): Extracts the business owner's full response text, language, and exact UTC reply timestamp (owner_reply_timestamp) to audit franchise manager response times.
  • 📊 100% Spreadsheet & VLOOKUP Ready: Every row preserves your exact original input_url alongside flat columns—open directly in Microsoft Excel, Google Sheets, or CSV with zero nested [object Object] cells.
  • ⚡ 10x Faster & Cheaper Than Browser Scrapers: Extracts 1,000+ Place reviews in ~10 seconds and audits 50–100 direct review links per minute on the lightweight 256MB memory tier with Pay-Per-Event billing ($0.00 charged on unsupported links or empty results).

🥊 Why Choose This Scraper? (Feature Comparison)

Capability🔍 This ActorGeneric Place ScrapersManual VA Checking
Scrape Business Place URLs (/maps/place/...)✅ Up to 10,000 reviews/place✅ Yes❌ Slow copy-paste
Check Specific Review Links (/maps/reviews/...)✅ Yes (direct verification)❌ No (cannot check 1 review)⚠️ 1 link per minute
Detect Deleted / Removed Reviews✅ status: "REMOVED" + Business Info❌ No way to tell⚠️ Manual browser check
1-Click Google Takedown Link (review_report_url)✅ Auto-generated for every review❌ Missing❌ Must scroll & find review
Detect Edited Reviews (is_edited)✅ Exact modified UTC timestamp❌ Missing❌ Impossible to spot
Resolve Mobile Share Links (maps.app.goo.gl)✅ Automatic resolution❌ Fails on shortlinks✅ Manual click
Speed⚡ 50–100 reviews / minute🐢 5–15 reviews / minute🐌 30–50 reviews / hour
False-Alarm Protection on Errors✅ Returns UNKNOWN (never false REMOVED)❌ Crashes or misreports⚠️ Human error
Spreadsheet & VLOOKUP Ready✅ Preserves input_url in Excel/CSV⚠️ Nested JSON dumps✅ Manual entry

🎯 6 High-Value Use Cases & Business Playbooks

1. 🏢 Online Reputation Management (ORM) & Pay-on-Removal Billing Proof

  • Who Uses It: ORM Agencies, Digital PR Consultants, Review Takedown Specialists, Local SEO Agencies.
  • The Problem: ORM agencies charge $500–$2,500 per removed negative review on a performance basis. Account managers waste hours every morning opening hundreds of Google Maps links in spreadsheets to see which disputed reviews dropped so billing can invoice the client.
  • How This Actor Solves It:
    • Automated Proof of Removal: When Google deletes a review, the Actor outputs status: "REMOVED" and is_removed: true while still returning the business_name, business_address, place_cid, and check_timestamp—giving you an indisputable audit trail for client invoicing.
    • 1-Click Takedown Queues (review_report_url): Scrape a new client's /maps/place/... URL to pull all 1-star and 2-star reviews along with pre-built Google report URLs so your team can submit policy disputes in 1 click per row.

2. 🔄 Review Edit & Customer Retraction Tracking (is_edited)

  • Who Uses It: Customer Success Teams, Auto Dealerships, Medical Clinics, Hospitality & Hotel Groups.
  • The Problem: After resolving a customer complaint, your team asks the customer to update their 1-star review. Did they upgrade it to 5 stars, delete it, or edit the text to be even harsher?
  • How This Actor Solves It:
    • Automatically compares Google's original creation timestamp against the last-modified timestamp.
    • Outputs is_edited: true, the updated review_stars and review_text, and the exact ISO 8601 review_modified_timestamp.

3. ⏱️ Multi-Location Franchise & Owner Reply SLA Auditing

  • Who Uses It: Franchise Headquarters, Multi-Location Retail Brands, Property Management Portfolios, CX Directors.
  • The Problem: Corporate standards require local store managers to reply to every negative review within 24–48 hours. Auditing 200+ locations manually is impossible.
  • How This Actor Solves It:
    • Extracts has_owner_reply, owner_reply, owner_reply_date, and exact owner_reply_timestamp.
    • Easily calculate response latency (owner_reply_timestamp - review_timestamp) in Excel or BI dashboards to flag unanswered 1-star reviews.

4. 🕵️ Fake Review & "Burner Account" Fraud Detection

  • Who Uses It: Businesses experiencing coordinated review bombing, extortion, or competitor sabotage.
  • The Problem: Competitors use click farms or brand-new throwaway accounts to leave 1-star attacks.
  • How This Actor Solves It:
    • Burner Account Spotting: Flag suspicious reviews where reviewer_number_of_reviews <= 1.
    • Serial Attacker Tracking (reviewer_id): Extracts the permanent 21-digit Google Contributor ID and reviewer_url so you can identify if the same user is attacking multiple locations (and feed their ID directly into Google Maps Contributor & Local Guide Reviews Scraper to expose their lifetime review history).
  • Who Uses It: Developers, Data Engineers, CRM & Automation Builders.
  • The Problem: Clients and field staff paste mobile share links (maps.app.goo.gl/...) into intake forms, which standard APIs cannot query or join to a business database.
  • How This Actor Solves It:
    • Resolves any mobile shortlink or contributor review link into canonical place_cid (ChIJ...), place_id, review_id, GPS coordinates (business_latitude, business_longitude), city, country, and category.
  • Who Uses It: Corporate Counsel, Defamation Attorneys, Brand Protection Teams.
  • The Problem: If a defamatory review is deleted or edited before legal proceedings, key evidence disappears.
  • How This Actor Solves It:
    • Captures an immutable structured record including original language text (review_text_original), English translation (review_text), reviewer_id, high-resolution attached photo links (review_photos), and microsecond creation timestamps.

🔗 Supported Input Formats

Paste any combination of these formats into reviewsToCheck—the Actor detects the format and routes each target automatically:

  1. Business / Place URLs (/maps/place/...), Search Queries, or Place IDs (ChIJ...) — Bulk Place Extraction

    • Place URL: https://www.google.com/maps/place/Katz's+Delicatessen/@40.722233,-73.987429,17z/
    • Plain-Text Place or Location Search Query: Katz's Delicatessen, JW Marriott Mumbai Juhu, Juhu
    • Google Place ID / Feature ID / CID: ChIJ6xTXncarw4kRfLnQ-2vdHd4 or 0x89c2598f7ff4aa09:0x313547e757cb8cea
    • Google Search #lrd= All-Reviews Links: https://www.google.com/search?q=McDonalds+NYC#lrd=0x89c25a177d4bf5db:0x84e51f23e8c0a75c,1,,,
    • Business g.page & writereview Links: https://g.page/r/CeqMy1fnRzUxEBM/review or https://search.google.com/local/writereview?placeid=ChIJ2_VLfRdawokRXKfA6CMf5YQ
      Automatically resolves the business, paginates, and extracts up to maxReviewsPerPlace (default 50, up to 10,000) unique reviews sorted by reviewsSort and optionally filtered by reviewKeyword—complete with each review's direct permalink (review_url) and 1-click Google dispute URL (review_report_url).
  2. Contributor Profile Links (/maps/contrib/<USER_ID> or /maps/contrib/<USER_ID>/reviews) — Reviewer Feed Extraction
    https://www.google.com/maps/contrib/102520373756565203865/reviews
    Extracts up to maxReviewsPerPlace public reviews written by that contributor across all businesses.

  3. Direct Review Permalinks (/maps/reviews/data=...) — Single Review Verification
    https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQ...
    Verifies whether the specific review is ACTIVE, REMOVED, or is_edited and extracts full review and business metadata.

  4. Contributor Place Review URLs (/maps/contrib/.../place/...) — Single Review Verification
    https://www.google.com/maps/contrib/102520373756565203865/place/ChIJ6xTXncarw4kRfLnQ-2vdHd4
    Verifies a specific review directly from a contributor's public place review link.

  5. Google Maps Share Shortlinks (maps.app.goo.gl/...) — Auto-Resolving
    https://maps.app.goo.gl/wSLNNUnwRAwg1T4W9
    Generated via Three Dots (⋮) → Share review → Copy link in the Google Maps app or browser. Automatically resolves to either the specific review or business listing.

🚫 Unsupported URL Formats (Fails Fast at $0.00 Cost)

To protect your credits, the Actor immediately identifies and skips non-public links at $0.00 charge:

  • Private Google Business Profile Merchant Dashboard Links (business.google.com/dashboard/... without a public Place ID): Require private merchant login and cannot be accessed publicly.
  • Non-Google Domains or Bare Google Homepages (google.com/ without a Place or Review identifier).

⚙️ Input Configuration

ParameterTypeRequiredDefaultDescription
reviewsToCheckarray of stringsYesPrefilled sampleList of Google Maps Business Place URLs (/maps/place/...), Plain-Text Search Queries (e.g., "Katz's Delicatessen", "JW Marriott Mumbai Juhu", "Juhu"), Google Place IDs (ChIJ...), Direct Review Permalinks (/maps/reviews/data=...), Share Shortlinks (maps.app.goo.gl/...), or Contributor Place Review Links (/maps/contrib/.../place/...). Also accepts newline/comma-separated strings or common API aliases (reviewUrls, placeUrls, searchQueries, startUrls, urls).
maxReviewsPerPlaceintegerNo50Maximum number of reviews to extract when a Google Maps Business Place URL, Place ID, or Search Query is provided (1 to 10,000). Also accepts maxReviews, maxItems, or limit.
maxPlacesPerQueryintegerNo1Maximum number of matching businesses to extract reviews for when a search query or /maps/search/... URL is provided (1 to 20). Also accepts maxPlacesPerSearch or maxPlaces.
reviewsSortstringNo"newest"Sort order when scraping Business Place URLs or Search Queries:
• "newest" — Newest / Most Recent First (Default)
• "lowest_rating" — Lowest Rating / Negative First (1-Star → 5-Star) (Ideal for ORM takedown audits)
• "highest_rating" — Highest Rating / Positive First (5-Star → 1-Star)
• "most_relevant" — Most Relevant
reviewKeywordstringNo""Optional server-side keyword filter for Place URLs / Search Queries (e.g., "service", "room", "pastrami", "wait time"). Leave empty to extract all reviews. Also accepts keyword, searchKeyword, filterKeyword, or category.
languagestringNo"en"ISO language code (hl) for Google Maps interface and server-side review translation (e.g., "en", "es", "fr", "de", "pt-BR", "ar", "ja"). Also accepts lang or hl.
regionstringNo"us"2-letter ISO country/region code (gl) used to bias plain-text search queries (e.g., "us", "gb", "ca", "au", "de", "fr", "ae", "in"). Also accepts country or gl.
proxyConfigurationobjectNo{"useApifyProxy": true}Proxy settings. Apify Residential Proxies are automatically enforced on cloud runs when no custom proxy is provided to prevent Google rate-limiting and 403 blocks.
maxConcurrencyintegerNo3Number of review URLs verified concurrently (1 to 10).

📊 Output Fields (Spreadsheet Columns & JSON Schema)

Every extracted or verified review returns a clean, flat object with 41 structured fields designed for 1-click Excel (.xlsx), CSV, Google Sheets, and database pipelines:

Field NameTypeDescription
input_urlstringThe exact original URL you provided (ideal for Excel/Google Sheets VLOOKUP joins)
resolved_urlstringThe canonical resolved Google Maps URL (expands maps.app.goo.gl shortlinks)
urlstringCanonical URL alias maintained for backwards compatibility
statusstring"ACTIVE" = live on Google Maps, "REMOVED" = deleted/taken down, "UNKNOWN" = temporary error, "UNSUPPORTED" = invalid link format
is_activeboolean | nulltrue if verified live, false if removed, null if unknown/unsupported
is_removedboolean | nulltrue if verified removed/deleted, false if live, null if unknown/unsupported (ideal for webhook filters)
review_idstring | nullInternal Google Review ID token (used for legal & takedown appeal tracking)
place_idstring | nullGoogle Maps Feature / Place hex ID (0x...:0x...)
place_cidstring | nullStandard Google Place ID / CID (ChIJ...)
review_urlstring | nullDirect canonical Google Maps permalink to this specific review
review_report_urlstring | null1-Click Google Takedown URL (google.com/local/content/rap/report?postId=...) to flag the review for policy violations
is_editedboolean | nulltrue if the author modified the review after initial publication, false if untouched
review_modified_timestampstring | nullExact ISO 8601 UTC timestamp of when the review was last edited
business_namestring | nullName of the Google Business Profile (preserved even on REMOVED reviews)
business_addressstring | nullFull physical street address of the business (preserved even on REMOVED reviews)
business_place_urlstring | nullDirect Google Maps URL to the business listing
business_categoriesarray[string]All categories assigned to the Google Business Profile
business_primary_categorystring | nullPrimary category of the business (e.g. "Used car dealer", "Restaurant")
business_citystring | nullCity where the business is located
business_countrystring | nullCountry where the business is located
business_country_codestring | null2-letter ISO country code (e.g. "US", "GB")
business_latitudenumber | nullGPS latitude coordinate of the business
business_longitudenumber | nullGPS longitude coordinate of the business
business_timezonestring | nullIANA timezone of the business (e.g. "America/New_York")
business_cover_image_urlstring | nullFeatured cover image URL of the business listing
reviewer_namestring | nullPublic display name of the reviewer
reviewer_idstring | nullUnique 21-digit Google Contributor user ID string
reviewer_urlstring | nullDirect link to the reviewer's Google Maps contributor profile
reviewer_avatar_urlstring | nullReviewer's profile photo URL
reviewer_number_of_reviewsinteger | nullTotal lifetime reviews written by this user (helps spot 1-review burner accounts)
review_starsinteger | nullStar rating given (1 to 5)
review_textstring | nullFull review text (translated to English when applicable)
review_text_originalstring | nullOriginal untranslated review text in the author's native language
review_photosarray[string]High-resolution image URLs attached to the review
review_photos_countintegerTotal number of photos attached to the review
review_timestampstring | nullExact ISO 8601 UTC creation timestamp (e.g. "2024-03-29T16:56:56.125874+00:00")
review_datestring | nullRelative date string shown on Google Maps (e.g. "6 months ago")
review_languagestring | nullDetected ISO language code of the review (e.g. "en", "es")
has_owner_replyboolean | nulltrue if the business owner replied to this review, false otherwise
owner_replystring | nullFull text of the business owner's response
owner_reply_datestring | nullRelative date of the business owner's reply
owner_reply_timestampstring | nullExact ISO 8601 UTC timestamp of the business owner's reply
owner_reply_languagestring | nullDetected language code of the business owner's reply
text_snippetstring | nullHuman-readable status summary of the check
check_timestampstringExact ISO 8601 UTC timestamp when this verification was performed
timestampstringISO 8601 check timestamp alias
errorstring | nullError description (always null for ACTIVE and REMOVED reviews)

📤 Sample Output Data

1. Active Review (status: "ACTIVE")

{
"input_url": "https://maps.app.goo.gl/wSLNNUnwRAwg1T4W9",
"resolved_url": "https://www.google.com/maps/reviews/data=!4m8!14m7!1m6!2m5!1sCi9DQUlRQ...",
"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_text_original": "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_place_url": "https://www.google.com/maps/place/?q=place_id:ChIJ2_VLfRdawokRXKfA6CMf5YQ",
"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",
"text_snippet": "1 stars: I visited this location during my first trip to New York...",
"error": null,
"check_timestamp": "2026-10-01T21:08:28.579696+00:00"
}

2. Removed / Deleted Review (status: "REMOVED" — Preserves Business Metadata for Billing Proof)

{
"input_url": "https://www.google.com/maps/reviews/data=!4m8!14m7...",
"resolved_url": "https://www.google.com/maps/reviews/data=!4m8!14m7...",
"status": "REMOVED",
"is_active": false,
"is_removed": true,
"review_id": "ChZDSUhNMG9nS0VJQ0FnSUNwLWNMM2J3EAE",
"place_id": "0x0:0x57656ffbe42744ba",
"place_cid": "ChIJr7blnswzw4ARukQn5PtvZVc",
"business_name": "STG Auto Group of Montclair",
"business_address": "10477 Central Ave, Montclair, CA 91763, United States",
"business_place_url": "https://www.google.com/maps/place/?q=place_id:ChIJr7blnswzw4ARukQn5PtvZVc",
"business_city": "Montclair",
"business_country": "United States",
"business_country_code": "US",
"business_categories": ["Used car dealer", "Auto body shop"],
"business_primary_category": "Used car dealer",
"business_latitude": 34.0640219,
"business_longitude": -117.6889961,
"business_timezone": "America/Los_Angeles",
"business_cover_image_url": "https://lh3.googleusercontent.com/gps-cs-s/...",
"reviewer_name": null,
"review_stars": null,
"review_text": null,
"review_photos": [],
"review_photos_count": 0,
"text_snippet": "Review no longer found on Google Maps. Review removed.",
"error": null,
"check_timestamp": "2026-10-01T21:08:27.741295+00:00"
}

💰 Transparent Pay-Per-Event (PPE) Pricing ($0.25–$0.35 / 1K)

This Actor uses Apify's transparent Pay-Per-Event (PPE) model so you only pay for extracted or verified reviews:

Apify PlanPrice per ReviewCost per 1,000 ReviewsCost per 10,000 Reviews
Free$0.00035$0.35$3.50
Bronze$0.00030$0.30$3.00
Silver$0.00028$0.28$2.80
Gold / Platinum / Diamond$0.00025$0.25$2.50
  • Per Extracted or Verified Review (apify-default-dataset-item): Charged only when a review is extracted from a Place URL or verified as ACTIVE / REMOVED.
  • $0.00 for Unsupported Links & Errors: If an input URL is an unsupported format (status: "UNSUPPORTED"), an empty place with zero reviews, or encounters a temporary upstream error (status: "UNKNOWN"), you are charged $0.00.
  • Automatic Budget Cap Protection: Fully respects your Apify account and run spending limits—halting cleanly without overcharging.

💡 Common Workflows, Schedules & Code Integrations

1. Spreadsheet / CRM Joins (Excel & Google Sheets VLOOKUP)

Because the Actor preserves your exact original link in input_url, you can export the dataset as CSV or Excel (.xlsx) and run a simple VLOOKUP or XLOOKUP against your client tracking sheet:

=VLOOKUP(A2, ApifyDataset!A:E, 4, FALSE)

2. Automated Daily Takedown Monitoring (Apify Schedules + Webhooks)

ORM agencies typically monitor disputed reviews for 7–60 days until Google removes them. Put your checks on autopilot in 30 seconds:

  1. In Apify Console, save your list of disputed review URLs as a Task.
  2. Click Actions → Schedule Actor and set it to run Daily at 8:00 AM (0 8 * * *).
  3. Add an Apify Webhook (ACTOR.RUN.SUCCEEDED) connected to Slack, Zapier, Make, or Airtable with a simple filter:
    • Condition: is_removed == true
    • Action: Send an instant Slack & billing notification: "🎉 Takedown Confirmed! Review {review_id} on {business_name} has been removed by Google!" (Because is_removed is null on temporary network hiccups, you will never receive false-alarm takedown alerts).

3. Run via Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_API_TOKEN")
run = client.actor("unitbytes/google-maps-reviews-scraper").call(run_input={
"reviewsToCheck": [
# Mode 1: Check specific review links for removal or edits
"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",
# Mode 2: Or paste a Business Place URL or Search Query to extract up to 10,000 reviews
"https://www.google.com/maps/place/Katz's+Delicatessen/@40.722233,-73.987429,17z/"
],
"maxReviewsPerPlace": 50,
"reviewsSort": "newest",
"reviewKeyword": "",
"maxConcurrency": 3
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
if item.get("is_removed") is True:
print(f"🎉 Takedown verified! Review {item['review_id']} on '{item['business_name']}' was REMOVED.")
elif item.get("is_active") is True:
print(f"👀 Live ({item['review_stars']}★) by {item['reviewer_name']} on '{item['business_name']}'")
print(f" 1-Click Report Link: {item['review_report_url']}")

4. Run via Node.js / JavaScript (apify-client)

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_APIFY_API_TOKEN" });
const run = await client.actor("unitbytes/google-maps-reviews-scraper").call({
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"
],
maxReviewsPerPlace: 50,
reviewsSort: "newest",
reviewKeyword: "",
maxConcurrency: 3
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
console.log(`[${item.status}] ${item.business_name} — Removed: ${item.is_removed}, Report URL: ${item.review_report_url}`);
});

5. 🔌 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 official Apify MCP server:

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

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


🛡️ Enterprise Reliability & Crash-Proof Checkpointing

  • Smart Proxy Auto-Rotation: Automatically retries transient rate limits with exponential backoff and fresh residential proxy IPs.
  • Zero False-Positive Removals: If Google returns a temporary 5xx server error, the Actor safely reports status: "UNKNOWN" (is_removed: null) rather than falsely reporting a review as REMOVED.
  • Automatic State Checkpointing: Persists processed URLs to Apify Key-Value Store after every batch. If a massive run is interrupted or restarted, it resumes where it left off without re-checking or double-charging already verified URLs.

Combine all three specialized tools in the UnitBytes Google Maps Reputation Suite to build a complete local SEO and reputation defense pipeline:

  • 🗺️ Google Maps Contributor & Local Guide Reviews Scraper (unitbytes/google-maps-contributor-scraper) — Paste any reviewer_id or reviewer_url from this Actor to export that reviewer's entire lifetime review history (up to 200 reviews), Local Guide level (1–10), points, and badges in under 2 seconds.
  • 📸 Google Maps Photos Scraper (Places, Menus, Videos & Guides) (unitbytes/google-maps-photos-scraper) — Download original uncompressed full-resolution photos (=s0), restaurant menus, food & drink galleries, playable MP4 videos, 360° Street View, verified photo view counts, and geo-tagged venues from Google Maps places and Local Guides.

❓ Frequently Asked Questions (FAQ)

Q: How do I check if a specific Google review was deleted or removed?

On Google Maps, click the Three Dots (⋮) → Share review → Copy link on any review you want to track, and paste that link (maps.app.goo.gl/... or /maps/reviews/data=...) into reviewsToCheck. When you run the Actor, it returns status: "ACTIVE" (is_removed: false) if the review is still live, or status: "REMOVED" (is_removed: true) if the review was deleted by the author or removed by Google.

Q: Can I also scrape all reviews from a Google Maps Business Place URL or Search Query?

Yes! Simply paste any Google Maps business link (https://www.google.com/maps/place/...), Place ID (ChIJ...), or Search Query (e.g. "Katz's Delicatessen", "Juhu") into reviewsToCheck and set maxReviewsPerPlace (up to 10,000 reviews per place), reviewsSort ("newest", "lowest_rating", "highest_rating", or "most_relevant"), and optional reviewKeyword. The Actor will extract the reviews along with each review's direct permalink (review_url), 1-click dispute link (review_report_url), star rating, text, photos, and owner reply.

Q: What is review_report_url and how does it help ORM agencies?

Every active review extracted by this Actor includes a pre-built review_report_url (https://www.google.com/local/content/rap/report?postId=...). Clicking this link opens Google's official Report a Policy Violation (RAP) dispute screen directly for that exact review—saving account managers from scrolling through thousands of reviews on a business profile to click the flag button.

Q: When a review is deleted (status: "REMOVED"), can I still see which business it belonged to?

Yes! Even after Google deletes the review text and author profile from public view, this Actor extracts and preserves the underlying business_name, business_address, place_cid, business_city, and business_categories. This gives ORM agencies timestamped proof of which client's review was removed for invoicing.

Q: Can this tool detect if a customer edited their review rating or text?

Yes. The Actor compares the review's initial creation timestamp against its last-modified timestamp. If the reviewer updated their star rating or text after posting, the Actor sets is_edited: true and outputs the exact UTC review_modified_timestamp.

Q: Will a temporary network error cause a false "REMOVED" alert?

Never. The Actor only outputs status: "REMOVED" (is_removed: true) when Google Maps definitively confirms the business profile loaded cleanly and the specific review post no longer exists. If a request hits a temporary network error, status is set to "UNKNOWN" and both is_removed and is_active are set to null.

Q: Do I need coding skills to use this Actor?

Not at all! You can paste your list of Google Maps links directly in the Apify Console, click Start, and download a clean Excel (.xlsx) or CSV file with 1 click.

Apify Residential Proxies are enabled automatically by default on Apify Cloud runs to ensure fast, uninterrupted extraction without Google rate limits or 403 blocks.


⚖️ Compliance & Privacy

This Actor extracts strictly publicly available data from Google Maps public business listings and review pages. It does not log in, bypass authentication walls, or access private account details. Personal data is protected by regulations such as GDPR and CCPA—see Apify's guide on the legality of web scraping and ensure your data processing complies with applicable privacy regulations.

Disclaimer

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


💬 Support & Feature Requests

Need help configuring your run, requesting custom fields, or setting up bulk ORM tracking?

  • 🐛 Bug Reports & Feature Requests: Open a ticket in the Apify Issues Tab
  • 📧 Direct Email Support: contact@unitbytes.com