Claude Local Business Research: Reviews, Websites and CSVs

- Claude can't sort a restaurant's reviews on its own. Asked for the worst Google reviews, it found five snippets, four of them positive or mixed, with no links.
- Match the address before you collect any reviews. The location lookup returned one Shake Shack Dumbo at 2 Water St, and Claude asked for confirmation before going further.
- Lowest-rated reviews show what goes wrong, not how often. All 20 that came back were one star, and the response gave no total.
- Keep the business's own website claims apart from what reviewers report. An order-ahead promise on the page doesn't show an old complaint was fixed.
Built on AnyAPI
411 scraping and data APIs behind one key.
Every endpoint in this post is one call away. Pay per request in USD from a prepaid wallet, with automatic failover when a provider breaks. No subscription, no card to start.
Get ~150 free requests$0.10 of credit on signup.Claude can sort a restaurant's complaints into themes for you, but first it needs the complaints. When we asked it for the worst Google reviews of Shake Shack Dumbo in Brooklyn, it came back with five review snippets and no links. They weren't even the bad ones: four were positive or mixed. It couldn't sort reviews by rating or read the restaurant's website, so it asked us to paste both in.

With AnyAPI connected, the same job got the 20 lowest-rated reviews, each with its link, plus the location's own web page. Claude built a spreadsheet and a short note from those, so every complaint traces back to a review you can open.
Match the address before collecting reviews. A chain name alone can return a different restaurant, so this walkthrough uses Shake Shack Dumbo at 2 Water St, Brooklyn.
Everything below comes from one real chat. The prompts are copied word for word, and the two files at the end are the ones Claude made, with formatting tidied (one label renamed, dashes replaced).
At a glance
| Question | What the run showed |
|---|---|
| Can Claude pull a business's worst reviews on its own? | No. It found five snippets, mostly positive or mixed, with no links. |
| Which API finds one known location? | maps.place, with the business name, street and city |
| How do you get that location's reviews? | maps.reviews with the returned place ID, sorted lowest rating first |
| How many reviews came back? | 20, all one star, from 2018 to July 2026, with no total or cursor |
| Can it read the business's website too? | Yes. web.scrape returned the location's page as Markdown. |
| Do the files say how common each complaint is? | No. They carry quotes and links, not counts, averages or scores. |
Check that AnyAPI is enabled in Claude
Open Claude in your browser. Use + > Connectors and check that AnyAPI is enabled. The connector makes AnyAPI available as native tools in the chat, so Claude can find APIs and retrieve data without a file upload or local terminal.

This walkthrough starts with an already connected account. It doesn't demonstrate first-time setup.
Ask for the location search and its price
Give Claude the exact location you mean:
Use the AnyAPI connector to research Shake Shack Dumbo at 2 Water St,
Brooklyn. Find the appropriate business-search API and read its inputs.
Show the proposed search and quoted USD cost before retrieving paid data.
Wait for my approval. Don't use another connector or web search.Claude picked maps.place, which returns the single best-matching place for a name or search text, as the best fit for one known business at a known address. It proposed the query "Shake Shack Dumbo, 2 Water St" in "Brooklyn, NY" and quoted $0.00175, with up to $0.0099 reserved if routing fell back to the priciest source. It left out the optional filters because each one would send the request to a pricier source.

Claude also said why it passed on two other APIs. Reviews need a place ID, so they come after this lookup, and a search that returns up to 20 places is more than one known address needs.
Confirm the returned business before collecting reviews
Approve the search and ask Claude to show the match:
Approved as proposed. Run the location search I approved through AnyAPI.
Show the business name, street address, Maps link, location identifier
and website. Ask me to confirm the Dumbo location before collecting
reviews. Don't substitute another Shake Shack location.The lookup returned one match for the quoted $0.00175: Shake Shack Dumbo, 2 Water St, Brooklyn, NY 11201, with the website shakeshack.com/location/dumbo-ny. The result listed a 4.3 rating from 5,286 reviews. Claude stopped there and asked whether this was the location you meant.

Google's location identifier, the place ID ChIJD1oupTBawokR2QGltehQGwY here, links a business result to its reviews. Check the name, street address and website together before using it. Correct a mismatched location before analyzing anything.
Choose complaint reviews and the matching website
Once the location matches, confirm it and say what you want to learn:
Yes, that's the Dumbo location. I want to examine reported complaints and
compare them with this location's website. Show the proposed
lowest-rating-first review request and matching website request. Explain
what each covers and quote its USD cost before asking me to approve it.
Ask before collecting more results. Don't find personal contacts or send
messages.Claude proposed two requests. The first was maps.reviews for the confirmed place ID, sorted lowest rating first, at $0.0035. The prompt didn't give a count, so Claude picked 20 as a starting size, said so, and noted the maximum is 100. The second was web.scrape of the location's own page as Markdown, main content only, at $0.001.

Lowest-rating-first reviews are a complaint selection, not a representative sample. Claude said as much: with about 5,286 reviews, 20 shows the worst-rated reviews but not how common any complaint is. It also warned that reviewer names and profile links come back with the reviews, and that it wouldn't look up anyone's contact details.
Check what came back before you analyze it
Approve both requests and ask about coverage:
Approved: run both requests as proposed. Show what came back, including
how many reviews returned, whether more exist, and whether the page loaded
fully.Both ran at the quoted $0.0045. Twenty reviews came back, all one star, spanning 2018 to July 2026. The response had no cursor or total, so Claude couldn't say how many one-star reviews exist. The page loaded, but Claude couldn't confirm it was complete: the meta description was empty, the ordering widget and any live banners depend on JavaScript, and no render wait was used.

The theme tallies in the chat describe these 20 reviews only. Claude also noticed four wait complaints posted within about 2.5 hours on the evening of May 16, 2026, and said that looks like one bad service night, which the timestamps suggest but can't confirm.
Ask for quotes, links and separate website observations
Ask for the research files:
Use only the AnyAPI records already returned here. Create
business-research.csv and a readable business-research.md note. Preserve
the exact business name, address, location identifier, Maps link, website,
collection dates and review selection. Group complaints the review text
supports. Include short exact quotes, review IDs and public review links.
Read the full supporting reviews before grouping them, and keep
conflicting reports separate. Omit reviewer identities and personal
details without changing the quoted words. Put website observations in a
separate section with exact quotes and its URL. Don't claim a website
feature resolved an older complaint or that the complaint still occurs.
Missing evidence stays missing. Don't invent an average, reputation score,
lead qualification or complaint frequency. Check quotes, IDs and URLs
against the returned records. Provide actual downloadable files if
supported; otherwise show the complete outputs and explain the
limitation.Claude built both files from the three records with no new calls. The note has 11 complaint groups with short quotes, review IDs, posting dates and public links, plus five sets of conflicting reports kept apart. It ran checks: every quote is an exact substring of the review text, and a search of both files found no reviewer names, profile links, reviewer IDs or avatar links. Claude added that the name check was only as complete as the list of names it searched for.

It also left out details on purpose. One review alleges a physical confrontation with staff, so Claude quoted only "Front of house staff is horrible" and kept the link. A raw-burger review also mentions the reviewer getting sick, and Claude quoted only the food claim. The files carry no counts per group, average or reputation score. The records had no timestamp, so the collection date is the session date, 2026-10-08, labelled as such.
Download the files Claude produced, with that formatting tidied: business-research.csv and business-research.md.
Open the note and check the full review behind an observation. A copied quote can be accurate while the summary around it is wrong. One review says an employee asked "if I'm paying cash"; another says the staff "refuse to work as an casher meaning no cash accepted". Claude kept those as separate reports of different visits instead of one payment-policy claim.
Follow one complaint back to its source
Take the order-ready complaint. Review #19 in the note says "I wasn't notified of my order via text, call" and "saw my order sitting there for some time". Follow its public review link and compare the words with the record.
Keep website claims separate from reported events. The website section quotes the page's order-ahead promise, "Order ahead on the Shack App and choose your preferred pick-up time", under the heading "NEVER WAIT IN LINE AGAIN". That wording doesn't show the review's notification ever arrived, or that the problem was fixed after the December 2024 review. The page text also says nothing about payment methods, wait times or refunds, and Claude marked those absences as true of this one retrieval only.
How I measured it
The run was one chat in Claude's web app, finished on October 8, 2026.
- Claude was asked first without AnyAPI, with web search off, and found five review snippets with no links.
- Each paid request ran only after its quote was approved:
maps.placeonce, thenmaps.reviewsandweb.scrapetogether. - Claude built both files from those three records only and checked every quote against the review text.
The three calls were charged $0.00625 together: $0.00175 for the location and $0.0045 for the reviews and the page. The data came through Maps place, Maps reviews and web scrape.
Limits: complaint reviews aren't an overall assessment
Selected reviews contain people's reports, not independently verified events. They don't establish how often a problem occurs, an average wait or today's service. Website wording describes what the business offers, not proof of day-to-day delivery.
The Google Maps pricing guide covers cost comparisons. Browse Maps reviews for current inputs and pricing.
Every endpoint is priced in plain USD per call. New accounts start with free credit, no card required.
Connect AnyAPI to Claude and research a business
Use data responsibly and follow AnyAPI's Acceptable Use Policy.