Give Review Radar a brand name or a domain. It pulls the reviews, counts the stars, splits the sentiment, and groups what people actually keep saying into themes — with the real reviews attached to each one, verbatim, with their rating, date and link.
northwind.example
Themes
“Ordered on the 3rd, told it shipped on the 5th, tracking never moved for eleven days. Support kept saying it was with the carrier.”
verbatim · 17 more reviews on this theme
What this is for
A brand at 4.1 stars and a brand at 4.1 stars can be failing in completely different ways. What a buyer, a competitor or an agent needs is the shape underneath: how heavy the one-star tail is, what those people are complaining about, and whether the complaints are about the product or about the company. That is the report.
Source coverage
Review Radar reads Trustpilot. That is the whole list — it is the only value the sources field accepts, the only site named in the docs, and the only claim made anywhere on this page.
Other review sites are real products with their own scrapers, and we have not built them. An API that accepts g2 and quietly returns nothing is worse than one that refuses it, so this one refuses it.
Theme anatomy
Ask a language model to summarise reviews and it will write you a convincing complaint that nobody made. So the model here never writes a quote. It only groups reviews by id; the report then resolves those ids against the reviews we actually pulled and builds every quote from the real row.
An id that doesn’t resolve is dropped. A theme left without a single review behind it is dropped whole, rather than being paraphrased into existence. What you read is what someone wrote.
Every quote carries
For developers & AI agents
Reputation research is a recurring job, which makes it an agent’s job. Every rail returns the same JSON — totals, sentiment, and themes with their quotes — so the thing calling it can be a cron, a chat client, or a wallet with no account behind it.
POST a brand to /api/reports with a rvw_live_ key. Draws your Ounie credits and refuses with 402 before it can overdraw. Polling the result is free.
REST reference →Point Claude, Cursor or the Ounie AI Team at /api/mcp. run_review_report, get_review_report, list_review_sources, get_pricing. The key can ride the URL as ?api_key= for hosts that can't set headers.
MCP setup →No account at all: POST to /api/x402/report, get a 402 with real terms, sign, retry. One call buys up to 200 reviews for a flat $0.30 in USDC on Base, and returns a free poll URL.
x402 terms →curl -X POST https://reviews.ounie.com/api/reports \
-H "Authorization: Bearer rvw_live_..." \
-H "Content-Type: application/json" \
-d '{"brand":"northwind.example","maxReviews":200}'
# 202 → { "report": { "id": "...", "status": "running", "poll_url": "..." } }
# GET the poll_url (free) until status is "succeeded".
# 25 credits per 200 reviews. Unfilled blocks refund automatically.Credit math
A report reserves one block for every 200 reviews you ask for, then settles on the blocks it actually filled. Ask for 600, find 250, and you pay for two blocks — the third is refunded to the pool it came from.
A brand with no reviews on Trustpilot costs nothing at all. So does a failed pull. Reading, re-opening and exporting a finished report are free forever — you already paid for the reviews.
Questions
Mostly about where the numbers come from and what you are charged when they do not add up to much.
Trustpilot, and only Trustpilot. It is the single value the sources field accepts. G2, Capterra and Amazon are separate upstreams we have not built, so they are not in the API, not in these docs, and not claimed anywhere on the site. If we add one, it will appear in all three places at once.
From the reviews themselves. A model groups reviews into themes by referring to their ids; the report then looks those ids up in the reviews we pulled and builds each quote from the real row — text, star rating, date and link. The model never authors quote text. An id that does not resolve is discarded, and a theme with nothing quotable behind it is dropped rather than paraphrased into existence.
25 Ounie credits per block of up to 200 reviews. A report reserves one block for every 200 reviews you ask for and settles on the blocks it actually filled — ask for 600, find 250, pay for two. The rest is refunded to the pool it was drawn from. Reading and exporting finished reports is free.
You are not charged. A pull that finds nothing is treated as a thin result: the whole reserve is refunded and the report is marked failed with no_reviews_found. On the x402 rail the payment is verified but deliberately not settled, so nothing moves on chain either.
Yes, and this took a specific setting to get right. When the cap is smaller than a brand's review count the upstream has to sample, and its default is to give every star rating an equal share — which would report a 4.6-star brand as roughly 3.0. Review Radar forces proportional sampling instead, so the slice mirrors the brand's real rating mix. If you pull all of a brand's reviews the question does not arise.
Yes. POST to /api/x402/report and you get a 402 with real payment terms; sign it and retry with an X-Payment header. One call buys up to 200 reviews for a flat $0.30 in USDC on Base and returns a report id plus a free poll URL. It is a flat price because there is no refund path on chain — the rail never quotes for blocks it might not fill.
No. Review Radar reports what reviewers wrote and how the ratings are distributed. It does not grade a business, rank it against competitors, or decide whether the complaints are fair. Sentiment is taken from each reviewer's own star rating rather than inferred, so the numbers are traceable to something a person actually chose.
No. Review Radar is pay-per-run on your shared Ounie credit wallet — the same balance every other Ounie app draws. Credits are bought on ounie.com; there is no plan, no seat, and no monthly minimum here.
Your own, a competitor’s, or a supplier you are about to trust with money.
25 credits per 200 reviews · x402 up to 200 for $0.30