ONE-STAR READER— back to the wire

How it is measured, and what it misses.

This site prints counts next to quotes, so it owes you the method. It is small enough to describe in full.

Where the reviews come from

Apple publishes a public feed of customer reviews, fifty to a page, ten pages deep. That is a hard ceiling of five hundred reviews per app per storefront, and there is no public star histogram — the lookup endpoint gives an average and a count, nothing more.

The corpus here is 206,055 reviews, 81,484 of them one or two stars, collected from the American and German storefronts before Apple tightened the feed.

Scores are read in four storefronts — the United States, Germany, Britain and France. Complaints exist only where written reviews have been collected, so an app can show four scores and two sets of complaints. Britain and France are filling from 6 September; every storefront says how much it has read.

11,798 apps are watched, 240 are read, and the gap between those two numbers is the throttle. The watchlist comes from Apple’s own charts — every genre, every storefront — so most apps a reader searches for are already here with a live score. Reading an app’s complaints needs its review feed, and that is rationed to about one page per address every ten minutes. You can ask for any app; it is watched from that moment and read when a collector reaches it.

The score endpoint is rationed too, which took a measurement to find out. It answers happily for a few hundred apps. Asked 45,000 times from one address it starts refusing about three requests in four, and slowing down does not help — five a second and forty a second were refused at the same rate. So scores are collected on a rotation across several addresses, a few thousand an hour, and a watched app says plainly that its score has not come round yet rather than showing a stale one.

Why the score is 4.6 and the reviews look furious

They count different things. Apple’s score averages every rating — 18.5 million of them for WhatsApp in the United States — and almost all of those are a silent tap on a star with nothing written.

The public feed only hands out written reviews — the five hundred most recent, in the order they were written. It is not a search for bad ones, and nothing here filters for them either. People who bother to type are angrier than people who tap. Across everything read here the average written review is 3.42 stars while Apple’s own score for the same apps averages 4.68. The written reviews are U-shaped: 5,256 of one star against 8,829 of five, and very little in between.

So a figure here that says two thirds of the written reviews are bad is not saying two thirds of users are unhappy, and this site does not put it that way. Every row shows Apple’s own score first, and the counts underneath always name what they are counted out of.

Apple throttles the feed, and lies about it

Measured on 5 September 2026: after twelve minutes of silence one page came back with fifty reviews. The next five requests, over eight minutes, came back empty. The seventh, nine minutes after the first, was full again. Roughly one page per address per ten minutes.

A throttled request returns HTTP 200 with an empty feed, not an error. A site that takes that at face value publishes “no complaints today” when it means “we were blocked”. So every attempt is recorded, answered or not, and what moved prints how many were refused.

Datacentre addresses fare worse than home ones. GitHub’s runners got zero of six pages, and two other cloud networks got nothing at all, while a home connection is occasionally served. The ratings endpoint has no such problem, which is why the daily movement on this site is built on ratings and versions rather than on new reviews.

How the complaints are grouped

For each app and storefront, the 300 most recent one- and two-star reviews go to Claude Haiku 4.5 in one request. It is asked to put each review into a group, not to describe the app — so the count beside a complaint is arithmetic on its answer, not a number it was asked to guess.

Every quote on this site is a review someone wrote. The model returns the index of a review it read; the site looks that index up and prints the original text. It never writes a quote.

Each group carries a stable key, and the key is what makes “this complaint is new” answerable. Comparing labels would call every reworded sentence a new complaint.

The four things it cannot see

Anything on Google Play. There is no public reviews API, and scraping it breaches Google’s terms.

The shape of the ratings. Apple publishes an average and a count. How many ones against how many fives is not public, so this site never claims a distribution.

Anything past five hundred reviews. On an app with millions of ratings, the corpus is a recent slice, and every figure says which slice it came from.

Whether a complaint is fair. These are reviews. People exaggerate, brigade, and blame the app for their phone. The site counts what was written; it does not endorse it.

Corrections

If a group is wrong about your app, the reviews it was built from are printed underneath it — so a correction is checkable rather than a matter of opinion. @antionmil.

Back to the wire. Ratings last read 02.10.2026.