Use case

Mine App Store reviews for bugs and feature requests by country

Pull App Store reviews for any app ID and country as JSON, then sort them into bugs, feature requests and complaints for your product roadmap.

Prepaid, no subscriptionREST or MCPOne key for models, data and agents
App Storelovelyjsonitems[0]"appId": "284882215""country": "de""rating": 2"title": "Login loop after upda…"review": "Stuck on the sign-in …

Your support queue shows the loud problems, but the App Store reviews hold the rest: the crash on one iPhone model, the feature everyone asks for in one country, the competitor feature people mention by name. Reading them by hand does not scale past a few dozen. Lovely Router fetches them for you. Send an app ID and a country, get one JSON object per review, pay per review from a prepaid balance.

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.

Mine App Store reviews for bugs and feature requests by country. 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. Pick the apps and countries

    Take the App Store ID from the end of the app's URL, without the id prefix. Add your own app and two or three competitors, and decide which country stores matter to you.

  2. Run the tool with a cap

    Send the IDs and a country to POST /v1/tools/app-store-reviews/run. Set maxItems in the input and max_results in the request body to the number of reviews you want to read. The run holds its maximum cost from your balance and returns the reviews as JSON.

  3. Classify and rank

    Hand the reviews to a model with a short rubric: bug, feature request, pricing complaint, praise. Count each class per release and per country, and send the top items to your backlog.

02

Get App Store reviews with one request

App Store reviews takes a list of App Store IDs in appIds and a two-letter store in country. maxItems caps the number of reviews:

curl https://lovelyrouter.com/v1/tools/app-store-reviews/run \
  -H "Authorization: Bearer $LOVELY_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "input": {
      "appIds": ["284882215"],
      "country": "us",
      "maxItems": 20
    },
    "max_results": 20
  }'

A run still going after 60 seconds returns 202; Run a tool shows how to poll. One run can hold up to 500 reviews.

03

What each review holds

Field groupWhat you get
ReviewThe review as posted on the App Store
AppThe app ID it belongs to
StoreThe country store you asked for

Reviews come back in the language of the store. Ask a model to translate and classify them in the same job rather than reading them one by one.

04

Recipes

Build a release-by-release bug list

After each release, pull the newest reviews, ask a model to extract every reported bug, and group by symptom. A symptom that appears in many reviews within days of a release is your regression.

Compare countries

Run the same app ID with country set to us, de, jp and br. A feature request that shows up in one store only is a localization gap, not a global need.

Read your competitor's one-star reviews

Pull reviews for the two apps you lose users to, keep the lowest ratings, and list what their users complain about. Those are the gaps your next release can close.

Feed the support team

Schedule a weekly run for your own app and post a summary of new complaints to the channel where support and engineering already talk.

Measure sentiment before and after a change

Save a run before a redesign or pricing change and another after, then compare average rating and the share of complaints on the changed area.

Prefer plain words? Connect the MCP server and tell Claude Code or Cursor: "Fetch 200 App Store reviews for app 284882215 in the US store, group them into bugs, feature requests and praise, and show the top five of each. Set max_results to 200."

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.

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

?
How do I find an app's ID?+

It is at the end of the app's App Store URL. Pass it without the id prefix, as in the example above.

Can I read reviews from several countries?+

Yes. country takes one store per request, so run once per country. The input accepts a long list of country codes, with us as the default.

Can I get reviews for several apps in one run?+

Yes. appIds is a list, so you can pass your own app and your competitors' in one request. Set maxItems and max_results with the total in mind.

How many reviews can one run return?+

Up to 500. Set maxItems in the input to the number you want.

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.

Planning a roadmap from customer voice? See review monitoring, social listening, and the rest of the tool catalog.

One prepaid key for models, data and agents

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