Use case

Analyze customer reviews of your locations on Google Maps

Collect Google Maps reviews for your locations as JSON: text, stars, date and owner replies, newest first, to find what customers complain about.

Prepaid, no subscriptionREST or MCPOne key for models, data and agents
Google Mapslovelyjsonitems[0]"stars": 2"text": "Waited 40 minutes and…"date": "2026-10-22""owner_reply": "Sorry about that, ple…"place_id": "ChIJN1t_tDeuEmsRUsoyG…

If you run a restaurant group, a clinic network or a retail chain, each location has its own Google Maps reviews, and each tells you something different: slow service at one branch, a rude manager at another. Reading them across ten or fifty places is not something a person does every week. Lovely Router collects them. Send place IDs or links, get one JSON object per review, pay per review from a prepaid balance. Call it from a script, a dashboard job or an AI agent with one API key.

Hand it to your AI agent

Copy this prompt into Claude Code, Cursor, Codex or any coding agent. It tells the agent where the docs are and how to use your API key.

Analyze customer reviews of your locations on Google Maps. Use the Lovely Router data tools: each returns JSON and is billed per result.

- Docs (read first): https://lovelyrouter.com/docs/tools/find.md and https://lovelyrouter.com/docs/tools/run.md
- Plan first: POST https://lovelyrouter.com/v1/tools/suggest with `{"task": "<my task in plain words>"}` (free). It returns the tools to run in order, each with an example `input`, the `input_required` fields, an estimated cost and a ready-made `run` request. Replace the example values with my task's; if a field is unclear, read the tool with GET https://lovelyrouter.com/v1/tools/<id>. To browse instead, POST https://lovelyrouter.com/v1/tools/discover searches the catalog.
- Show me the plan and its estimated cost (`total_est_cost_usd`) before running anything large.
- Run: POST https://lovelyrouter.com/v1/tools/<id>/run with `{"input": {...}, "max_results": N}`. A 200 has the finished run with `items`; a 202 means it is still running, so poll the `poll` path until `status` is `succeeded`, `failed`, `timed_out` or `stopped`.
- Only delivered results are billed. Keep max_results small on the first run, check the output, then scale up.
- If you support MCP, connect https://lovelyrouter.com/mcp instead (Streamable HTTP, same key; https://lovelyrouter.com/docs/tools/mcp.md) and use suggest_tools, get_tool and run_tool.
- Auth: read my API key from the LOVELY_API_KEY environment variable and send it as `Authorization: Bearer $LOVELY_API_KEY`. Never print or commit the key. If it is not set, ask me to create one at https://lovelyrouter.com/app/keys.
- Billing is prepaid: every call is charged to my balance, so test with a small request before running anything large.
- Every docs page is plain Markdown; the full index is https://lovelyrouter.com/llms.txt.

My task: <the inputs (links, keywords or accounts) and how many results you need>
01

How it works

010203
  1. Collect your place IDs

    Use the place ID of each location, a 27-character ID starting with ChIJ or GhIJ, or the Google Maps place link.

  2. Run the tool with a cap

    Send them to POST /v1/tools/google-maps-reviews/run with maxReviews and max_results. Choose reviewsSort to get the newest, the lowest ranked or the most relevant first.

  3. Group and read

    Group reviews by place and week. Count low stars, then have a model summarize what the complaints share.

02

Get reviews with one request

Google Maps reviews takes placeIds or startUrls. maxReviews caps reviews per place, and max_results caps the whole run:

curl https://lovelyrouter.com/v1/tools/google-maps-reviews/run \
  -H "Authorization: Bearer $LOVELY_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "input": {
      "placeIds": ["ChIJN1t_tDeuEmsRUsoyG83frY4"],
      "maxReviews": 3,
      "reviewsSort": "newest"
    },
    "max_results": 3
  }'

A run still going after 60 seconds returns 202; Run a tool shows how to poll.

03

What each review holds

Field groupWhat you get
RatingThe stars given
ContentThe review text
TimingThe date of the review
ResponseThe owner's reply, if there is one

Use language to get reviews in a chosen language. Pair the output with a model to translate or classify reviews in the same job.

04

Recipes

Weekly low-star digest per branch

Run each location with reviewsSort set to newest, keep the reviews from the last seven days with one or two stars, and send them to the branch manager.

Find unanswered reviews

Filter for reviews with no owner reply and hand the list to whoever handles customer care.

Rank branches by complaint theme

Collect 200 reviews per location, ask a model to tag each by theme such as wait time, staff, cleanliness or price, and compare branches.

Read the worst reviews first

Set reviewsSort to lowestRanking to see what the angriest customers wrote, before you read the average ones.

Check a competitor's weak spots

Run a rival's place ID with lowestRanking and see which complaints repeat, then decide whether you can do better on those points.

Prefer plain words? Connect the MCP server and tell Claude Code or Cursor: "Read the 100 newest reviews for each place ID in places.txt, flag anything with one or two stars, and group the complaints by theme. Set max_results to 1000."

06

What you pay

You pay per review: starting a run holds its maximum cost, the per-call fee plus the per-review fee times max_results, and the run settles to what it returned. The rest of the hold goes back to your balance. A run that fails or times out pays only for the reviews it delivered, and a run refused at the start costs nothing.

Pulling 300 reviews a week is billed as 300 reviews a week. There is no subscription and no monthly minimum: top up from $5, and one balance pays for tools and models. The card above shows today's price; pricing lists every tool.

07

Frequently asked questions

?
Where do I find a place ID?+

A place ID is a 27-character string starting with ChIJ or GhIJ. You can also pass Google Maps place links in startUrls instead. google-maps-places can help you find places.

How many reviews can I get?+

maxReviews caps reviews per place, and one run can return up to 500 reviews in total via max_results. For more, start several runs.

Can I get the newest reviews only?+

Yes. Set reviewsSort to newest. Other options are mostRelevant, highestRanking and lowestRanking.

Does it include the owner's reply?+

Yes, the owner replies are part of what each review holds when one exists.

Do I need a subscription?+

No. You add credit to a prepaid balance and each run draws it down. Failed runs pay only for the results they delivered, and nothing renews automatically.

Monitoring reviews across platforms? See review monitoring, the tool catalog, and pricing.

One prepaid key for models, data and agents

No subscription. Top up, use what you need, see every charge in your logs.