Playbooks · Recipe

Rank local businesses by their reviews, then write to the ones with a problem

Find the businesses in a keyword-and-area search, then pull reviews only for the ones worth reading. Both calls bill per result returned, so every number below states a count — a review pull stays cheap right up until you ask for a thousand of them per place.

Last updated September 22, 2026

Pattern: keyword + area → places scraper → shortlist → reviews scraper → read the complaints → email_finder → email_verifier

Credit math: Worked example at stated counts: one keyword across 4 cities returning 120 places = 120 results at 0.1 = 12 credits. Shortlist 30 places and pull 50 reviews each = 1,500 results at 0.1 = 150 credits. 30 businesses × 1 email_finder call at 5 credits, 19 hits = 95 credits after free misses, then 19 email_verifier calls at 2 = 38. Total 295 credits for 19 verified local contacts with a read reason to write. 0.1 credits per google_maps_places_scraper_keyword result, 0.1 credits per google_maps_reviews_scraper_sync result, 5 credits per email_finder call, 2 credits per email_verifier call

ROI math: The review pull is the line that scales badly: 30 places at 50 reviews costs 150 credits, and the same 30 places at 500 reviews costs 1,500. Cap reviews per place, shortlist before pulling, and the qualification stays cheaper than the contact step. Convert credits at your tier rate on /pricing.

Owned internally by: Founder or SDR selling services to local and multi-location businesses

Best for: Agencies, home services software, reputation and booking tools, POS and payments — anything sold to a business with a storefront and a review page

example
curl -X POST https://api.richapi.ai/api/v1/google_maps_places_scraper_keyword \
  -H "x-api-key: $RICHAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword": "dental clinic", "location": "Austin, TX"}'
the prompt
Find dental clinics in Austin, Texas on Google Maps. Give me the ones with a
rating under 4.2 that still have more than 40 reviews. For those, pull the
30 most recent reviews each and tell me the three complaints that repeat
most often across them.
  1. 01

    Sign up at app.richapi.ai and copy your key.

    25 free credits, no card.

  2. 02

    Run google_maps_places_scraper_keyword with one keyword and one area at a time.

    Widening either multiplies the result count, and results are what you pay for.

  3. 03

    Shortlist on the fields the places response already gives you — rating and review count — before you pull a single review. This is the step that controls the bill.

  4. 04

    Run google_maps_reviews_scraper_sync per shortlisted place with an explicit cap on how many reviews you want back.

  5. 05

    Read the reviews.

    The recurring complaint is the opening line; a summary statistic is not.

  6. 06

    Resolve the business website, then run email_finder and email_verifier for a named contact.

Reviews are the only place a prospect writes down their own problem

Firmographics tell you a business exists. A one-star review from last month telling the world that nobody answers the phone tells you what to sell them, in their customers' words, dated. Two endpoints, both per-result. `google_maps_places_scraper_keyword` returns the businesses matching a keyword in an area. `google_maps_reviews_scraper_sync` returns the reviews for a place. Neither is a multi-provider waterfall endpoint, so both bill on any 2xx. **[Get 25 free credits — no card](https://app.richapi.ai)**

Per-result means you state the count or you have said nothing

A quote like "reviews cost 0.1 credits" is not a price. Thirty places at 50 reviews each is 1,500 results. The same thirty places with the cap removed, on chains with thousands of reviews apiece, is a different order of magnitude and the same sentence describes both. So every number on this page carries a count: | Step | Count | Rate | Credits | |---|---|---|---| | `google_maps_places_scraper_keyword` | 1 keyword × 4 cities = 120 places | 0.1 / result | 12 | | `google_maps_reviews_scraper_sync` | 30 places × 50 reviews = 1,500 | 0.1 / result | 150 | | `email_finder` | 30 calls, 19 hits | 5 / call, misses free | 95 | | `email_verifier` | 19 calls | 2 / call | 38 | | Total | | | **295** | Rates used above: 0.1 credits per `google_maps_places_scraper_keyword` result, 0.1 credits per `google_maps_reviews_scraper_sync` result, 5 credits per `email_finder` call, 2 credits per `email_verifier` call. Convert to currency at your tier rate on [the pricing page](/pricing). The shape to notice: the review pull is the largest retrieval line, and it is the one entirely under your control through the shortlist and the cap.

Shortlist on the places response, before you read anything

The places result already carries rating and review count. That is enough to decide who is worth reading, and it costs you nothing extra because you have already paid for those rows. A filter that works for most service categories: rating below your threshold, but review count high enough that the rating is not one angry customer and a friend. A 3.9 across 200 reviews is a pattern. A 3.9 across 5 reviews is a bad Tuesday. Pull reviews only for that shortlist, with a cap. Recent reviews beat a complete history. A complaint from 2021 has either been fixed or the business is gone.

Where Maps reviews go wrong

**Reviews are opinion, and some of them are fiction.** Competitors post them. Ex-employees post them. A customer who misread the opening hours posts them. Read for repetition across reviewers, never build a claim on a single one, and never quote a reviewer back at the business in an opening email. "A few recent reviews mention wait times" lands. Naming the reviewer does not. **Multi-location businesses look like many prospects.** Twelve branches of the same franchise arrive as twelve places with twelve review sets, and one owner. You will pay to read all twelve and then send twelve emails to one person. Deduplicate on the business name and the website before the review pull, not after. **An empty search still bills.** A keyword with no matches in an area returns 2xx with no rows. Per-result billing makes that case cheap rather than free, but widen your radius carelessly across 40 cities and the cheap cases stop being the story. **Local contact data is thinner than B2B contact data.** A single-location business often has one shared inbox and no LinkedIn presence for the owner. Expect a lower finder hit rate here than on a software account list. The misses cost nothing, which is the one thing that makes this list shape affordable at all.

Plays related to Maps reviews

The CRM-facing version of this chain is [Maps local lead to CRM](/use-cases/maps-local-lead-to-crm), which covers the write-back rather than the qualification. For the same shortlist-then-verify discipline on a software list, see [list build and verify](/use-cases/list-build-and-verify), and for the verification gate itself, [verify before the sequence push](/use-cases/verify-before-sequence-push). [The use-case index](/use-cases) generalises the idea of writing off a dated, public event. Endpoint docs sit at [the email finder API](/api/email-finder), and [Claude via MCP](/integrations/claude) reads a handful of review sets conversationally when you are testing a category rather than running one.

Maps reviews FAQ

**Can I search by URL instead of keyword?** There is a separate URL-based places endpoint at the same per-result rate. Use the keyword version to discover, the URL version when you already have the listing. **How many reviews should I pull per place?** Enough to see repetition and no more. Thirty recent reviews answers the question for most categories; a full history mostly buys you complaints about a manager who left. **Does an empty result cost me?** Per-result billing on a 2xx with no rows means you pay for the rows you got, which is none. That is not the waterfall zero-cost guarantee. It is arithmetic. Only `email_finder`, `email_verifier` and `phone_finder` carry `billed: false` on a soft fail. **Is review scraping allowed?** The data is public. Your obligations under the platform's terms and your local law are yours to assess, and we do not indemnify data origin. Read the FAQ on [the platform page](/platform) before you scale a scraping-heavy workflow. **Can I get the owner's direct email?** `email_finder` will try once you have a website and a name. Single-location businesses frequently have neither a named contact nor a personal work address, and the miss costs zero. **Do I need a credit card?** No. 25 free credits on signup.

Try Maps reviews: 25 free credits, no card

Take one keyword in one city, shortlist five places, and read thirty reviews each. If you cannot find a repeated complaint worth writing an email about, the category is wrong and you found that out for a handful of credits. **[Get 25 free credits](https://app.richapi.ai)**

Frequently asked.

Can I search by URL instead of keyword?
There is a separate URL-based places endpoint at the same per-result rate. Use the keyword version to discover, the URL version when you already have the listing.
How many reviews should I pull per place?
Enough to see repetition and no more. Thirty recent reviews answers the question for most categories; a full history mostly buys you complaints about a manager who left.
Does an empty result cost me?
Per-result billing on a 2xx with no rows means you pay for the rows you got, which is none. That is not the waterfall zero-cost guarantee. It is arithmetic. Only `email_finder`, `email_verifier` and `phone_finder` carry `billed: false` on a soft fail.
Is review scraping allowed?
The data is public. Your obligations under the platform's terms and your local law are yours to assess, and we do not indemnify data origin. Read the FAQ on [the platform page](/platform) before you scale a scraping-heavy workflow.
Can I get the owner's direct email?
`email_finder` will try once you have a website and a name. Single-location businesses frequently have neither a named contact nor a personal work address, and the miss costs zero.
Do I need a credit card?
No. 25 free credits on signup.

More playbooks

Try it with 25 free credits.