UnitBytes Logo
UnitBytes Web Data APIs
Home / Blog / Reputation Intelligence
Reputation Intelligence 10 min read 2026-10-24

How to Scrape All 10,000 Google Maps Reviews per Business in 2026 ($0.25/1K vs. The 5-Review API Cap)

Why the official Google Places API caps you at 5 reviews per location—and how to extract up to 10,000 Google Maps reviews per business at $0.25/1K with keyword filtering, 1-star sorting, and 55 flat CSV/JSON fields.

UnitBytes
UnitBytes
Autonomous Web Data Intelligence Labs
How to Scrape All 10,000 Google Maps Reviews per Business in 2026 ($0.25/1K vs. The 5-Review API Cap)

If you build software for multi-location franchises, hospitality brands, healthcare clinics, or local SEO agencies, you have almost certainly run into the most frustrating limitation of the official Google Places API:

No matter how much you pay Google ($17.00 to $40.00+ per 1,000 requests), the official Places API returns a hard maximum of 5 reviews per business location.

You cannot paginate past review #5. You cannot filter by keyword to pull every review mentioning "food poisoning", "billing error", or "wait time". You cannot extract all 1-star complaints across 500 franchise branches, and you cannot audit whether store managers are responding to unhappy customers within SLA.

In this 2026 engineering and pricing teardown, we compare the true cost of commercial Google Reviews APIs and show how to extract up to 10,000 Google Maps reviews per location using the UnitBytes Google Maps Reviews Scraper—starting at $0.25 to $0.35 per 1,000 reviews ($0.00025/item), with 14,000 to 20,000 free reviews every month included in Apify's free tier.


1. Google Maps Reviews API Pricing Comparison (2026 Teardown)#

When teams look beyond the official Google Places API, they typically encounter two problems: overpriced SERP proxy APIs with $50–$75/month minimums that charge per page of 10 reviews, or sluggish headless-browser scrapers that burn cloud RAM scrolling a virtual DOM for 20 minutes.

Here is how the leading Google Maps review extraction options compare in 2026:

Provider / SolutionMax Reviews per PlaceBase Monthly MinimumCost per 1,000 ReviewsSpeed (1,000 Reviews)Output Schema
Official Google Places API❌ Hard-capped at 5 reviews$0 (Cloud Billing required)$17.00 – $40.00+ / 1K calls<1s (5 reviews only)Nested Places JSON
SerpApi (Google Maps Reviews)✅ Unlimited (10 per call)$75.00 / mo$15.00 / 1K calls ($1.50/1K reviews)~45–90s (sequential pagination)Nested raw SERP JSON
Outscraper / Legacy Scrapers✅ Unlimited$0 – $29 / mo$1.00 – $3.00 / 1K reviews~60–180sMulti-level JSON / CSV
DIY Playwright / Selenium⚠️ Brittle (DOM freezes >500)$40+ / mo residential proxy$3.50 – $8.00 / 1K (RAM + proxy GB)5–15 minutes per placeUnstructured DOM selectors
UnitBytes Google Maps Reviews Scraper✅ Up to 10,000 / Place$0.00 / mo ($5 free credit)💰 $0.25 – $0.35 / 1K reviews⚡ ~10 seconds per 1,000 reviews📊 55 Flat CSV / Excel / JSON Fields
💡
Need a Done-For-You Excel / CSV Export of Google Reviews?
Have a list of 50, 500, or 5,000 Google Maps business URLs, Place IDs, or city search queries? Submit them via our Done-For-You Dataset Request Form below. We will extract all reviews, star ratings, owner replies, and photo URLs and deliver a clean Excel / CSV spreadsheet directly to your inbox.

2. All 10 Supported Google Maps Input Formats (Zero Pre-Processing)#

In real-world agency and enterprise databases, location lists are rarely clean. One client sends shortened maps.app.goo.gl share links from mobile devices, another sends raw ChIJ... Place IDs from their CRM, and a third sends plain business names and cities.

The Google Maps Reviews Scraper (/actors/google-maps-reviews-scraper/) accepts all 10 public Google Maps identifier formats inside a single reviewsToCheck array—resolving them automatically with zero manual formatting:

  1. Standard Google Maps Place URLs: https://www.google.com/maps/place/Katz's+Delicatessen/@40.722233,-73.987429,17z/
  2. Plain-Text Business Search Queries: "Katz's Delicatessen New York", "Tartine Bakery San Francisco", or "Emergency Dentist Austin TX"
  3. Raw Google Place IDs (ChIJ...): ChIJ2_VLfRdawokRXKfA6CMf5YQ or ?q=place_id:ChIJ2_VLfRdawokRXKfA6CMf5YQ
  4. Shortened Mobile Share Links: https://maps.app.goo.gl/exampleReviewLink1
  5. Google Business Review Request Links (g.page): https://g.page/r/CVynwOgjH-WEEBM/review
  6. Google Search Knowledge Panel Review Dialogs (#lrd=): https://www.google.com/search?q=katzs+deli#lrd=0x89c2598f54f515cb:0x84e51f23e8c0a75c,1
  7. Direct Write-a-Review Links (writereview?placeid=): https://search.google.com/local/writereview?placeid=ChIJ2_VLfRdawokRXKfA6CMf5YQ
  8. Hex Feature / CID Links: 0x89c2598f54f515cb:0x84e51f23e8c0a75c
  9. Google Maps Contributor Profile URLs: https://www.google.com/maps/contrib/100000000000000000001/reviews
  10. Individual Review Permalinks (for Takedown & Edit Audits): https://www.google.com/maps/reviews/data=!4m8!14m7...

3. Server-Side Sorting & Keyword Filtering (Stop Paying for Unwanted Reviews)#

A major hidden cost in legacy review scrapers is post-fetch filtering. If a hotel has 8,000 reviews and you only want to analyze 1-star complaints or reviews that mention "bed bugs" or "valet parking", basic scrapers force you to scrape and pay for all 8,000 reviews first and filter them in Python afterward.

UnitBytes executes both sort order and keyword filtering directly upstream on Google's servers before a single item is billed:

  • reviewsSort: "newest": Ideal for daily cron jobs and n8n workflows. Fetch only the newest reviews published since your last poll.
  • reviewsSort: "lowest_rating": Immediately surfaces 1-star and 2-star reviews at the top of the stream for customer recovery, churn analysis, or competitor weakness auditing.
  • reviewsSort: "highest_rating": Extracts 5-star testimonials for website social proof widgets and marketing case studies.
  • reviewsSort: "most_relevant": Google's default high-signal ranking, prioritizing detailed reviews with photos and Local Guide authority.
  • reviewKeyword: Pass any term (e.g., "wait time", "manager", "vegan", "refund") to extract only reviews containing that exact keyword across the business's entire review history.

4. Complete 55-Field Flat Schema (1-Click Excel, CSV & Pandas Ready)#

Every extracted review is normalized into 55 flat, root-level fields—eliminating nested [object Object] columns when exporting to Excel, Google Sheets, CSV, or BigQuery:

json
{
  "input_url": "https://www.google.com/maps/place/Katz's+Delicatessen/@40.722233,-73.987429,17z/",
  "resolved_url": "https://www.google.com/maps/place/Katz's+Delicatessen/@40.722233,-73.987429,17z/",
  "status": "ACTIVE",
  "change_type": "BASELINE",
  "is_active": true,
  "is_removed": false,
  "review_id": "Ci9DQUlRQUNvZENodHljRjlvT0000000000000000000000000000002YxAB",
  "place_id": "0x89c2598f54f515cb: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": "Sarah J.",
  "reviewer_id": "100000000000000000002",
  "reviewer_url": "https://www.google.com/maps/contrib/100000000000000000002",
  "reviewer_avatar_url": "https://lh3.googleusercontent.com/a-/ALV-UjX...",
  "reviewer_number_of_reviews": 84,
  "review_stars": 5,
  "review_text": "Best pastrami on rye in New York City. The counter carvers give you a sample while you wait!",
  "review_text_original": "Best pastrami on rye in New York City. The counter carvers give you a sample while you wait!",
  "review_photos": [
    "https://lh3.googleusercontent.com/grass-cs/ACvplmOY0OUAUEn8J7yYHd1cCpWZ..."
  ],
  "review_photos_count": 1,
  "review_timestamp": "2026-10-18T16:56:56.125874+00:00",
  "review_date": "6 days ago",
  "review_language": "en",
  "business_name": "Katz's Delicatessen",
  "business_address": "205 E Houston St, New York, NY 10002, United States",
  "business_place_url": "https://www.google.com/maps/place/?q=place_id:ChIJ2_VLfRdawokRXKfA6CMf5YQ",
  "business_categories": ["Deli", "Sandwich shop", "Tourist attraction"],
  "business_primary_category": "Deli",
  "business_city": "New York",
  "business_country": "United States",
  "business_country_code": "US",
  "business_latitude": 40.722233,
  "business_longitude": -73.987429,
  "business_timezone": "America/New_York",
  "has_owner_reply": true,
  "owner_reply": "Thank you for visiting Katz's, Sarah! Hope to see you again soon.",
  "owner_reply_date": "5 days ago",
  "owner_reply_timestamp": "2026-10-19T14:22:10.000000+00:00",
  "owner_reply_language": "en",
  "response_time_hours": 21.42,
  "unanswered_hours": null,
  "is_burner_suspect": false,
  "triage_flags": [],
  "check_timestamp": "2026-10-24T12:00:00.000000+00:00"
}

Built-In Superpowers Inside Every Row:

  • Post-Publication Edit Detection (is_edited & review_modified_timestamp): Instantly see when a customer silently updated their star rating or changed their complaint text after initial publication.
  • 1-Click Policy Violation Dispute Link (review_report_url): Every review includes a direct https://www.google.com/local/content/rap/report?postId=... URL so reputation managers can report spam or conflict-of-interest reviews in one click.
  • Automated Owner Response SLA & Triage Metrics (response_time_hours, unanswered_hours, is_burner_suspect, triage_flags): Automatically calculates exact hours between review publication and owner reply (response_time_hours), how many hours an unanswered review has been waiting (unanswered_hours), and flags suspicious 1–2 star attacks from low-history accounts (is_burner_suspect & triage_flags).
  • Need Stateful Cross-Run Change Diffing (NEW, REMOVED, RATING_CHANGED, OWNER_REPLIED)? Pair or switch to the Google Maps Review Monitor & Change Tracker (/actors/google-maps-reviews-tracker/), which saves a persistent baseline per business across Apify Scheduled runs and automatically verifies disappeared reviews.

5. Python Tutorial: Extract & Analyze 1,000+ Google Reviews in 10 Seconds#

You can integrate the Google Maps Reviews Scraper into your Python data pipeline or BI dashboard in under 25 lines of code:

python
import os
import pandas as pd
from apify_client import ApifyClient

client = ApifyClient(os.getenv("APIFY_TOKEN", "YOUR_APIFY_TOKEN"))

# Pass Place URLs, plain-text search queries, or ChIJ Place IDs
run_input = {
    "reviewsToCheck": [
        "https://www.google.com/maps/place/Katz's+Delicatessen/@40.722233,-73.987429,17z/",
        "Tartine Bakery San Francisco",
        "ChIJ2_VLfRdawokRXKfA6CMf5YQ"
    ],
    "maxReviewsPerPlace": 1000,
    "reviewsSort": "newest",
    "reviewKeyword": "",
    "language": "en",
    "region": "us"
}

# Execute on Apify Cloud ($0.25 - $0.35 per 1,000 reviews)
run = client.actor("unitbytes/google-maps-reviews-scraper").call(run_input=run_input)

# Load all 55 flat fields directly into a Pandas DataFrame
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
df = pd.DataFrame(items)

# Filter for 1-star & 2-star reviews missing an owner reply
unanswered_negative = df[(df["review_stars"] <= 2) & (~df["has_owner_reply"])]
print(f"Scraped {len(df)} reviews. Found {len(unanswered_negative)} unanswered 1-2 star complaints!")

df.to_csv("google_maps_reviews_dataset.csv", index=False)

6. No-Code Automation with n8n, Google Sheets & Slack#

Want to log every new Google Maps review to Google Sheets and trigger an instant Slack alert whenever a location receives a 1-star or 2-star review?

Grab our pre-built automation templates from the UnitBytes n8n Workflow Directory:

You can also explore the complete UnitBytes Google Maps Intelligence Suite for specialized workflows:


Start Scraping up to 10,000 Google Maps Reviews per Place#

Stop hitting the 5-review Google Places API wall or overpaying $15/1K for legacy SERP proxies. With Apify's $5.00 free monthly credit, you can extract up to 20,000 Google Maps reviews every month for $0.00:

Frequently Asked Questions (FAQ)

Why does the official Google Places API only return 5 reviews per business?

Google's official Places API (both Legacy and New v1) enforces a hard server-side cap of 5 reviews per Place Details request with no pagination token, sort parameter, or keyword filter. To extract up to 10,000 reviews per business sorted by newest or lowest rating, use unitbytes/google-maps-reviews-scraper.

Can I filter Google Maps reviews by keyword or extract only 1-star complaints without paying for all reviews?

Yes. Both reviewsSort ('lowest_rating', 'newest', 'highest_rating', 'most_relevant') and reviewKeyword execute directly on Google's backend servers before results are returned, so you only extract and pay for the exact matching reviews.

Can this scraper check if a specific disputed Google review was deleted or edited?

Yes. Paste any direct review share link (maps.app.goo.gl/... or /maps/reviews/data=...) into reviewsToCheck to verify whether the review is ACTIVE or REMOVED, inspect post-publication edits (is_edited and review_modified_timestamp), and get a 1-click Google policy dispute URL (review_report_url).

How much does it cost to scrape 1,000 Google Maps reviews on Apify?

Pricing starts at $0.25 to $0.35 per 1,000 extracted reviews under Apify Pay-Per-Event billing ($0.00025–$0.00035 per review), and every Apify account includes $5.00 in free monthly credits (up to 14,000–20,000 free reviews every month).

Tags: #Google Maps Reviews Scraper#Places API Alternative#Scrape Google Reviews#Local SEO#Reputation Management#Lead Generation#Python
Continue Reading

Related Technical Guides & Teardowns

All Guides →
Done-For-You Datasets • Data Feeds • Custom Scrapers

Need Custom Reputation Intelligence Data or a Dedicated Pipeline?

Don't want to run scrapers yourself? Tell us what data you need and we'll deliver a clean Excel / CSV / Google Sheets dataset, set up a recurring data feed, or build a custom scraper for a new site.

One-Time Dataset
From $99

Send your keywords, categories, or URLs. We run the extraction and email you a clean Excel/CSV file, usually within 48 hours.

Recurring Data Feed
Priced by Volume

Daily or weekly data delivered to Google Sheets, Amazon S3, BigQuery, or a webhook. Tell us the volume and we'll quote a fixed monthly price.

Custom Scraper
From $299

Need a new website scraped or custom fields added? We build it, deliver it, and can maintain it for you.

We reply within 48 hours.
Prefer direct email? Write to us anytime at contact@unitbytes.com