pull every review for any business or competitor on google maps. score the sentiment with AI, surface the actual complaints behind the star rating, and benchmark against the rivals you're losing leads to.
a star rating is a single number compressed from hundreds of opinions. it hides the thing you actually need: what people complain about, in their own words, at scale.
three patterns star averages quietly mask:
a business with 100 five-star reviews and 20 one-star reviews still averages 4.5 stars. but if those 20 one-stars all say the same thing — "took 4 days to respond," "billing was wrong," "tech was rude" — that's the actual buyer concern. AI sentiment scoring on google reviews surfaces that cluster instantly. the star number doesn't.
your 6-month-old competitor with 12 reviews and 4.9 stars looks better than the 8-year-old incumbent with 800 reviews and 4.3 stars. star math says so. but sentiment analysis on google reviews reads the actual text — and the incumbent's 4.3 might be 700 raves and 100 niche complaints, while the newcomer's 4.9 is 12 friends and family.
a 4.5 average barely moves when sentiment cracks underneath it. three months of "service got slow" reviews can drag a 4.6 to 4.5 and look like nothing. AI scoring on the review text — not the stars — flags the trend before it becomes a churn problem.
this is why reputation managers, M&A buyers, and competitive intelligence teams scrape the reviews instead of trusting the rating. data-runner.dev's google maps review sentiment scraper pulls every review and scores it in one pass — flat $0.07 per business, every review included, full report returned in 60–90 seconds.
from a google maps URL to a sentiment-scored CSV in under five minutes. average run cost: $1.20.
dateRange filter (30days / 90days / 365days / all) narrows the time window — useful for crisis checks or before/after launch reads. each business caps at 5,000 reviews scraped, more than enough for any real listing.sentiment object with eight fields. download as JSON, CSV, or Excel — or pull via Apify's API.eight fields per business in the sentiment object, plus every individual review scraped. drop straight into a slide deck, BI dashboard, or M&A memo.
| field | type | what it tells you |
|---|---|---|
| sentimentScore | 1–10 | overall positivity across all reviews on the listing. 10 = most positive. computed from the words, not the stars. |
| reputationRisk | 1–10 | how vulnerable the business is to reputational damage. 10 = highest risk. set this as your alert threshold for monitoring. |
| responseRateScore | 1–10 | how actively the owner replies to reviews. 10 = excellent engagement. low scores correlate with churn risk and unmanaged complaints. |
| trendDirection | improving / declining / stable | sentiment momentum based on chronological shift across the review history. surfaces drift before star averages move. |
| ratingTrend | rising / falling / flat | star-rating direction over time. paired with trendDirection: if sentiment is declining but stars are flat, you've caught it early. |
| topPraises | string[5] | up to 5 recurring praise themes. useful for what to amplify in marketing copy and ads. |
| topComplaints | string[5] | up to 5 recurring complaint themes. the actual buyer objections — your competitor's weakness map or your own punch list. |
| executiveSummary | string | 2–3 sentence plain-text brief of the business's reputation profile. drop-in for slide decks or M&A memos. |
plus the raw review payload per business: reviewer, rating, date, text, and ownerResponse for every review scraped (up to 5,000 per listing).
scenarios are illustrative, not testimonials — the scraper is brand-new on Apify and we don't fake reviews. share your own use case and we'll feature it here.
a residential HVAC contractor in Tampa runs the scraper on the 5 best-rated competitors in their zip code — 5 businesses × $0.07 = $0.35 total spend. inside 90 minutes they have the per-business report: 4 of the 5 competitors have dispatch response time in their topComplaints, and 3 have a responseRateScore below 4 (owners ignore reviews). the contractor rewrites their landing page around a "24-hour or it's free" guarantee, runs paid ads against those competitor names, and reruns monthly to confirm the pattern holds.
a 12-location restaurant group runs the scraper every Monday on all 12 of their google maps profiles — 12 × $0.07 = $0.84 per weekly run, ~$3.36 per month. output goes into a google sheet via the Apify webhook. they alert when any location's reputationRisk crosses 7 or trendDirection flips to declining. last quarter the system flagged location #7 two weeks before the GM noticed in person — a pattern of "dirty bathrooms" complaints in topComplaints, fixed before it turned into a 1-star wave.
a buyer is evaluating a $1.2M franchise acquisition. public financials are clean. before they sign, they run the scraper with dateRange: "all" on the target business plus 8 nearby franchisees of the same brand — 9 × $0.07 = $0.63 total. the report surfaces a declining trendDirection at the target traced to the last 14 months of reviews, linked to a specific manager hire. the buyer renegotiates the price down 12% and writes a 90-day post-close performance clause into the deal. for off-google cross-checks, the catalog also includes a Trustpilot Sentiment Scraper.
honest comparison. if a competitor has wider coverage, we say so. our edge: cheapest pure-google-maps run with sentiment included by default.
| tool | coverage | AI sentiment | pricing | setup |
|---|---|---|---|---|
| google maps review sentiment (data-runner.dev, on Apify) | google maps only — every review (up to 5,000 per business), full history, multilingual, dateRange filter built in | 8 fields per business — sentimentScore (1–10), reputationRisk, responseRateScore, trendDirection, ratingTrend, topPraises, topComplaints, executiveSummary | $0.07 per business analyzed (flat — every review + report included) | run on Apify in 30s. JSON / CSV / Excel / API / Zapier / n8n out of the box |
| Outscraper | google maps reviews + maps business data + many other sources | optional add-on, separate billing, less granular topic output | quote-based, typically $0.001–$0.003 per review for raw data, sentiment extra | web app + API. wider catalog but heavier setup |
| RightResponse AI | google reviews only, focused on response generation rather than analysis | yes, but built around their reply-writing workflow, not raw export | subscription, starts ~$49/month per location | SaaS dashboard. best if your goal is automated owner replies, not analysis |
| headply / google maps review intelligence (Apify) | google maps + Yelp + TripAdvisor reviews | sentiment score, topics, key phrases, reputation report | $6.00 / 1,000 results | run on Apify. closest direct competitor on Apify — broader source coverage |
you only pay Apify for results. no subscription, no per-review fee, no minimum commitment. if a business has zero reviews, you pay nothing for that result.
10 businesses ≈ $0.70 · 100 businesses ≈ $7.00 · 1,000 businesses ≈ $70.00
every review on the listing scraped (capped at 5,000 per business) plus the full AI report — sentimentScore, reputationRisk, responseRateScore, trendDirection, topPraises, topComplaints, executiveSummary.
new to Apify? you get $5 in free credits on signup — that's ~71 businesses analyzed before you spend a cent.
run on Apify →how it works, what it costs, what's legal, and how it handles edge cases.
The scraper pulls every review on the business's Google Maps listing — text, star rating, date, and the owner's response — then sends the full corpus to an LLM that analyzes the batch. You get back a per-business report with eight fields: an overall sentimentScore (1–10), a reputationRisk score (1–10), a responseRateScore (1–10) measuring how actively the owner replies, a trendDirection (improving / declining / stable) and ratingTrend (rising / falling / flat), the top 5 recurring complaint themes, the top 5 recurring praise themes, and a 2–3 sentence executive summary. Sentiment is computed from the actual review words across the whole corpus, not from the star rating.
The scraper runs sentiment scoring through a frontier LLM tuned for review classification. The model is swapped behind the scenes when a better or cheaper option ships — the output schema (the eight fields above) stays stable so your downstream pipeline doesn't break. We don't expose the exact model in the output to keep the contract forward-compatible.
Reviews on Google Maps are public content — anyone with a browser can read them. Scraping public data is generally legal in most jurisdictions and has been upheld in multiple court cases (notably hiQ v. LinkedIn in the US). Google's ToS restricts automated access to their services; the data itself is not protected. What matters is how you use the output: don't republish reviews verbatim as your own content, don't contact reviewers based on the data, and comply with GDPR / CCPA if you operate in those jurisdictions. See the data-runner.dev disclaimer for the full policy.
The analysis is tuned specifically for online reviews and produces consistent, repeatable scores. Because the AI sees every review for a business as one batch — not each review in isolation — it picks up patterns and recurring themes that single-review scoring misses. Results align closely with how a human reviewer would summarize the same set of reviews. Multilingual reviews (Spanish, Portuguese, French, German, Italian, Japanese, and more) are scored in their original language without translation.
Yes — that's one of the primary use cases this scraper was built for. Drop in 3–10 competitor Google Maps URLs, run once, and the output includes the top complaints cluster per business so you see exactly what their customers complain about. Most operators run this once per quarter and use the output to position landing pages, ads, and sales pitches against the gap. Cost scales at $0.07 per business analyzed — 5 competitors costs $0.35 per run.
Run the scraper on a list of Google Maps URLs (one per location) on a recurring schedule via Apify's built-in scheduler — daily, weekly, or monthly. Push the output to a Google Sheet or your BI stack via n8n or Zapier. Set a threshold on the reputationRisk field (e.g. flag any location with a risk above 7) and route the alert to email or Slack. At $0.07 per business per run, a 12-location chain costs $0.84 per weekly run — about $3.36 per month for full coverage.
Yes — works worldwide and analyzes reviews in any language: Spanish, Portuguese, French, German, Italian, Japanese, and more. There's no translation step, so nuance is preserved. The dateRange filter (30days / 90days / 365days / all) lets you narrow to recent reviews if you're tracking sentiment shifts in a single market.
No hard cap on businesses per run — pass a list of Google Maps URLs and each one is analyzed and pushed as a separate dataset item. Each business is capped at 5,000 reviews scraped (more than enough for any real-world listing). Pricing scales linearly at $0.07 per business analyzed: 10 businesses ≈ $0.70, 100 ≈ $7.00, 1,000 ≈ $70.00. If a business has zero reviews, you pay nothing for that result.
Google shows star averages, basic topic chips, and recent reviews — for your own business profile only, with no export. The data-runner.dev scraper works on any business (yours or competitors'), pulls every review, runs LLM sentiment across the whole corpus, and gives you a downloadable per-business report with reputation risk, owner response rate, trend direction, and an executive summary. It's the difference between a dashboard you can look at and a dataset you can act on.
Yes. Apify exports JSON, CSV, and Excel out of the box, and exposes a REST API plus webhooks. Common patterns: push to Google Sheets via Zapier or Make, sync to HubSpot or Salesforce, route reputation alerts to Slack or email when reputationRisk crosses a threshold, or stream into Snowflake / BigQuery / Looker. We also build custom n8n workflows if you want the integration done for you.
$0.07 per business analyzed · $5 free Apify credit on sign-up · JSON, CSV, Excel, API, n8n out of the box
part of the data-runner.dev catalog · explore all scrapers