Steam Reviews Scraper & Price Monitor - New Reviews, Sales
Pricing
from $0.70 / 1,000 review returneds
Steam Reviews Scraper & Price Monitor - New Reviews, Sales
For game developers and publishers: Steam reviews (text, recommended or not, language, date, playtime, helpful votes, developer reply), the review summary and store data (price, discount, release date, genres). Monitoring mode returns only new reviews and price, discount or score changes.
Pricing
from $0.70 / 1,000 review returneds
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
Read the reviews, the review summary and the store data (price, discount, release date, genres, developer) of any game on Steam. Turn on monitoring mode and each scheduled run returns only what is new: reviews added since the last run, and a game row only when its price, discount, review totals or review score moved.
Built for game developers, publishers and marketers who check their own games and their competitors every day. No Steam account and no API key.
What you get
Review rows (type: "review"), newest first:
| Field | Example |
|---|---|
appId, gameName, storeUrl | 1245620, ELDEN RING |
reviewId | 236967502 |
recommended | true (thumbs up) or false (thumbs down) |
language | english |
reviewText | Great game, runs well on my laptop. |
createdAt, updatedAt, edited | 2026-10-05T09:17:06.000Z, same, false |
playtimeAtReviewMinutes, playtimeForeverMinutes, playtimeLastTwoWeeksMinutes | 1830, 2415, 442 |
votesHelpful, votesFunny, helpfulnessScore, commentCount | 37, 5, 0.578, 0 |
steamPurchase, receivedForFree, refunded, writtenDuringEarlyAccess, primarilySteamDeck | true, false, false, false, false |
reviewerGamesOwned, reviewerReviewCount | 112, 9 |
developerResponse, developerResponseAt | the developer's reply and its time, or null |
Game rows (type: "game"), one per game:
- store data:
name,appType,isFree,currency,priceInitial,priceFinal,discountPercent,priceFormatted,releaseDate,releaseDateText,comingSoon,genres,categories,developers,publishers,platforms,metacriticScore,requiredAge,shortDescription,headerImage,website,countryCode - review summary:
totalReviews,totalPositive,totalNegative,positivePercent,reviewScore,reviewScoreDesc(for exampleVery Positive)
The review summary counts reviews in all languages and from all purchase types (Steam purchases and keys activated on Steam), as Steam reports them.
Measured on 2026-10-05: reviews came newest first, 100 per request; a game with 93 reviews returned exactly 93 across its pages; price for the same game was 59.99 USD with country us and 9020 JPY with country jp.
Input
- Games: store URLs (
https://store.steampowered.com/app/1245620/ELDEN_RING/) or app IDs (1245620). - Store country: two-letter code (
us,gb,de,jp,br...). Price and currency depend on it. If left empty,usis used and every row says so incountryCode. - Review language: all languages, or one Steam language.
- Maximum reviews per game (default 100), Return reviews, Monitoring mode, Forget what was seen before.
{"games": ["1245620", "https://store.steampowered.com/app/413150/Stardew_Valley/"],"countryCode": "us","maxReviewsPerGame": 100,"monitoringMode": true}
Monitoring mode
- The first run returns the current state (game row and newest reviews) marked
change: "first-check"and remembers it. - Every later run with the same games, country and language returns only:
- reviews that were not returned before (
change: "new-review"), oldest first, - the game row when any of
priceFinal,priceInitial,discountPercent,isFree,currency,totalReviews,totalPositive,totalNegative,reviewScoreDescorstoreAvailablechanged, withchangedFieldsand the previous values (previousPriceFinal,previousDiscountPercent,previousTotalReviews,previousTotalPositive,previousTotalNegative,previousReviewScoreDesc).
- reviews that were not returned before (
- A game with nothing new returns no rows. The run status then says
no-new-since-last-run.
Only rows that were actually delivered are remembered, so if a run stops at your spending limit, or a game got more new reviews than Maximum reviews per game, the remaining new reviews arrive with the next run. Schedule it daily and send the dataset to Slack, email or a sheet with an Apify integration to catch a competitor's sale or a wave of negative reviews the day it starts.
Limits to know: on a busy game the review totals move every day, so its game row comes back on most runs. An edited review keeps its id and is not returned again. A review deleted by its author is not reported. One run looks back at most 5,000 reviews per game for new ones. If two runs with the same input finish at the same moment, one may not see what the other remembered.
When something cannot be returned
You are never charged for a row that explains a problem. These come back as free rows with type: "note":
app-not-found: Steam has no store entry for that app ID in that country and no reviews for it. The ID may not exist, the game may not be sold there, or the page may be age-gated behind sign-in.not-available-in-country: the game has reviews but no store entry in that country (or it is age-gated behind sign-in). Reviews and the review summary are still returned; store fields are empty andstoreAvailableisfalse.app-redirected: Steam answered with a different app's store entry.invalid-input,duplicate-input,no-input.blocked: Steam answered with a rate limit or a refusal twice in a row. The run stops and does not try to get around it.unreadable: the answer did not look as expected, so nothing is claimed about it.more-new-reviews,disallowed-by-robots,robots-unreadable.
What this Actor does not do
- No reviewer identity. The SteamID, display name, avatar and profile URL of the person who wrote a review are never returned, only the review and its numbers.
- No sign-in, no age-gate bypass, no proxy rotation and no CAPTCHA solving.
- No player counts and no Steam Web API: the robots.txt of api.steampowered.com disallows automated access. This Actor reads the robots.txt of store.steampowered.com on every run and requests only URLs it allows.
- An unknown two-letter country code is refused instead of silently returning US prices.
Pricing
Pay per result: you pay for each review row and each game row that is delivered. In monitoring mode a game with nothing new costs one small check fee instead. Note rows are free. There is no start fee.
Notes
This is an unofficial tool. It is not affiliated with, endorsed by or sponsored by Valve Corporation. Steam is a trademark of Valve Corporation. It reads only public store data. Review text is written by Steam users; check Steam's terms and the law that applies to you before republishing it.
Thanks for using this Actor
We build these tools for people who run them every day, and we improve them from what users tell us.
- Missing a field, or need another filter? Tell us in the Issues tab. If the data is there, we add it.
- Found a bug or a wrong value? Post the run ID in the Issues tab. Wrong data is the thing we fix first.
If this Actor saved you time, a short review helps other people find it.