Verdict

The dataset behind this site, free to use

6,010 product ratings from 2,016 review publications, covering 1,809 products across 351 categories. Every score is traced to the review that published it. Released under CC BY 4.0 — use it for anything, including commercially, and credit the source.

44%
printed by the publisher
45%
inferred from their prose
11%
reviewed, no score given

Why this is different

Most product-rating datasets are retailer data — customer stars on one storefront. This is editorial data: what professional and independent reviewers concluded, across many outlets, for the same product. That makes it possible to ask questions a single-source dataset can't. How often do reviewers actually agree? Does price predict published quality? Which outlets grade harder than their peers?

We've published five studies built from it. The data is here so you can check them, or ask something we didn't.

Download

The column that matters most

publisher_stated tells you whether we read that number off the publisher's own page or a language model inferred it from their review. Only 44% were read from the page. Filter to true for the 2,674 rows a human editor demonstrably published — that is the conservative dataset.

It is tempting to read the inferred share as “most of the review web doesn't publish machine-readable scores.” Don't — not from that column alone. A false means we didn't read a number, and there are two very different reasons for that: the reviewer published none, or they published one and our extraction missed it. Scores injected client-side are the classic case — a server-side fetch sees nothing where a rendered read sees 9.1/10.

So there is a second column. outlet_publishes_scores marks the 373 inferred rows that sit on hosts we've successfully read five or more printed scores from — Consumer Reports, GearJunkie and Pro Tool Reviews among them. On those, the likeliest explanation is our read failure, not the reviewer declining to score. The honest floor is therefore that at least 51% of these reviews carried a published score, and the real figure is higher. Treat those rows as unknown, not as absence.

Before you use it

The dataset card lists eight limitations in full. The four that change conclusions: a large share of scores are model-inferred rather than published; ratings are scoped to the guide a product appears in, so one product can carry two aggregates; publisher labels mix hostname slugs with YouTube channel names and need normalising before you treat them as entities; and syndication isn't detected, so two outlets re-reporting one underlying test count as two.

Nothing here was tested by us — it is an aggregation of other people's published reviews, and the methodology describes how, including the parts that are messier than a marketing page would admit.

Licence and credit

CC BY 4.0. Use it commercially, modify it, redistribute it — just credit the source.

@misc{verdict_review_ratings_2026,
  title  = {Verdict Cross-Publication Product Review Ratings},
  author = {Hunter, Michael},
  year   = {2026},
  url    = {https://verdict-reviews.com/data/}
}

Plain text is equally fine: Data: Verdict Cross-Publication Product Review Ratings (verdict-reviews.com/data).

If a score here misrepresents your publication, tell us and it will be corrected or removed. Generated 2026-08-17.