Steam Store Search — review scores you can actually rank by avatar

Steam Store Search — review scores you can actually rank by

Pricing

$3.00 / 1,000 game scrapeds

Go to Apify Store
Steam Store Search — review scores you can actually rank by

Steam Store Search — review scores you can actually rank by

Search the Steam store and get one row per game: price and discount in a currency you choose, release date, platforms, and the review score together with the review count and a Wilson lower bound — so a 100%-positive game with 12 reviews stops outranking a 92% game with 40,000. Unofficial.

Pricing

$3.00 / 1,000 game scrapeds

Rating

0.0

(0)

Developer

Entrogix Works

Entrogix Works

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Search the Steam store and get one row per game, with the two things store listings make hard: a price you can compare between runs, and a review score you can sort on without being fooled.

The review score problem

Steam shows "Very Positive". So does a game with 12 reviews and a game with 40,000. Sorting on the raw positive percentage puts the 12-review game first, every time.

Every row therefore carries all four pieces:

FieldWhat it is
reviewSummarySteam's own label — "Very Positive", "Mixed", …
positivePercentThe raw percentage. Do not sort on this
reviewCountHow many reviews that percentage is built on
positiveLowerBoundThe Wilson 95% lower bound on the positive rate. This is the one to sort on
reviewsEnoughToRanktrue at 30 reviews or more

A game at 88% from 72 reviews has a lower bound of 77.9%. A game at 84% from 2,622 reviews has 82.5%. The second one is the safer bet, and only the lower bound says so.

The score is language-scoped. Steam calculates it from reviews written in the viewer's language — its own tooltip says as much. This actor pins the language to English on every request so the number means the same thing on every run. It is English-language reviews, not all reviews.

The price problem

Steam prices differ by region, and without a region pinned they follow wherever the request came from. The same search returned $11.99, ¥1,300 and 11,99€ on 2026-08-23. Pick a Price region and every row comes back in that currency, with currency and country attached so nothing gets summed across regions by accident.

Three states are kept apart rather than collapsed into a number:

  • A priceprice is a number, currency is set
  • Free to playisFree is true, price is 0
  • No price yetpriceUnavailable is true and price is null, not 0. Pre-release and region-unavailable titles land here. In one 50-result sample, 22 of them did. If they were 0, they would fill the top of any cheapest-first sort.

Fields

appId, title, url (tracking parameters stripped), releasedText / releasedAt (ISO date, or null for "Coming soon" and "To be announced"), platforms (win / mac / linux), the five review fields above, price, priceText, originalPriceText, discountPercent, currency, country, isFree, priceUnavailable.

Input

{
"term": "roguelike",
"country": "us",
"sort": "reviews",
"onlyDiscounted": false,
"maxItems": 50
}

Results come 25 per page. Rankings shift while a run is in progress, so rows are de-duplicated by appId — a run asking for 50 returns 50 distinct games, not 50 slots.

Output

One dataset row per game, plus a SEARCH_SUMMARY record: how many games had enough reviews to rank, how many have no price yet, how many are discounted and the deepest discount, the price region used, and the currencies actually seen — if more than one shows up, the region setting did not take, and you should know that rather than find it in the data later.

Pacing

Requests are serialised with a minimum interval of 3 seconds. Please do not lower minIntervalMs.

Unofficial. Not affiliated with Valve or Steam.