Steam Reviews Scraper & Patch Impact Report
Pricing
from $0.50 / 1,000 reviews
Steam Reviews Scraper & Patch Impact Report
Steam reviews scraper: reviews of any Steam game at $0.50 per 1,000, a game report ($0.002): patch impact, update cadence, sentiment history, reply rate, genre benchmark. AI add-ons (why a patch hurt, reply drafts, translation) free until 2026-11-18 (beta), then $0.03 report, $0.003 draft.
Pricing
from $0.50 / 1,000 reviews
Rating
0.0
(0)
Developer
Steadywren
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
Steam reviews of any game (recommended or not, playtime, votes, text) plus a game report for studios, investors and market research: what each patch did to the reviews, update cadence and abandonment risk, a growing sentiment history, developer replies and a genre benchmark. $0.50 per 1,000 reviews.

What you get
- Reviews (main table): recommended or not, hours on record, posting day, helpful and funny votes, Early Access
review, product received for free, developer has responded, text, and a stable
reviewId. Filters: language (Steam's 29 languages or all), most recent or most helpful, reviews since a date, only new reviews since your last run. Reviewer names, avatars and profile links are never collected. - Patch Impact Scorecard: for every patch post in the game's official news feed (the newest 10) - positive share
N days before vs after, review volume change, a significance test, a verdict (
backlash,boost,neutral,too-few-reviews) and the complaint topics that grew after the patch. - Update cadence and abandonment risk: days since the last patch, median days between patches,
active/slowing/dormant, and a risk flag when a game goes quiet while players still review it, or stalls in Early Access. - Daily sentiment history that grows: Steam shows daily up/down counts only for the last 30 days. Every run saves
them in your account, so a scheduled run builds an exact daily curve (up to the last 730 days your runs have seen)
- and older patches keep their daily precision.
- Developer replies and genre benchmark: reply rate, reply rate on negative reviews and median reply hours; the game's positive-share percentile and review-count rank among the top 25 games of its most voted tag; optionally the update status of the top 10 peers.
- Store data and alerts in the game report (one per game, in its own Game reports table of the Output tab):
developers, publishers, release date, price, genres, top 10 tags, Metacritic score, Early Access, all-time and
last-30-days review totals and positive share,
topComplaintsandcomplaintSpikes(crash,bugs,performance,optimization,servers,content,value,billing,login,ads,ui,feature_request), andalertssuch asRecent reviews 78% positive vs 93% all time. - AI that reads the patch notes (optional): for each patch flagged
backlash, the AI names the likely cause, with quotes from the negative reviews written after it. Plus AI insight reports, reply drafts and English translation - see AI add-ons. - Robots.txt friendly: reads only public Steam pages that Steam's robots.txt allows - not
api.steampowered.com, which robots.txt closes to crawlers.
Sample output
Game report
Valheim, run on 2026-11-03 (trimmed):
{"type": "game","appId": "892970","gameName": "Valheim","developers": ["Iron Gate AB"],"releaseDate": "Sep 9, 2026","price": 29.99,"currency": "USD","tags": ["Open World Survival Craft", "Survival", "Online Co-Op", "Open World", "Multiplayer"],"totalReviews": 500225,"positiveShare": 0.9303,"recentReviews": 5627,"recentPositiveShare": 0.7773,"patchImpact": [{ "title": "Patch 1.0.21", "publishedAt": "2026-10-28T13:11:25.000Z", "precision": "daily", "reviewsBefore": 1060, "reviewsAfter": 661, "positiveShareChange": 3.3, "significant": false, "verdict": "neutral" },{ "title": "Patch 1.0.20", "publishedAt": "2026-10-15T08:58:17.000Z", "precision": "daily", "reviewsBefore": 1673, "reviewsAfter": 1325, "positiveShareChange": -2.2, "significant": false, "verdict": "neutral" }],"updateCadence": { "lastPatchTitle": "Patch 1.0.21", "daysSinceLastPatch": 5, "medianDaysBetweenPatches": 7, "patchesLast90Days": 8, "status": "active", "abandonmentRisk": false, "riskReasons": [] },"dailyHistory": { "days": 30, "from": "2026-10-05", "to": "2026-11-03", "series": [{ "date": "2026-10-05", "up": 217, "down": 61 }] },"replies": { "reviewsAnalyzed": 100, "replyRate": null, "negativeReplyRate": null, "medianReplyHours": null, "repliesTimed": 0, "noReplies": true },"peers": { "tag": "Open World Survival Craft", "gamesWithTag": 570, "peersCompared": 24, "positivePercentile": 8, "reviewCountRank": 3, "peerMedianPositivePercent": 94.5, "gameInTopPeers": true },"topComplaints": [{ "topic": "content", "share": 0.03 }, { "topic": "bugs", "share": 0.02 }, { "topic": "servers", "share": 0.02 }],"alerts": ["Recent reviews 78% positive vs 93% all time"]}
Other report fields: patchImpact[] also has url, positiveShareBefore / positiveShareAfter, volumeChange and
complaintsGrown; updateCadence has lastPatchAt and patchesKnown; peers has topPeers and peerCadence.
Review
{"type": "review","reviewId": "a1c0b30f7dc4685c","appId": "892970","gameName": "Valheim","url": "https://steamcommunity.com/app/892970/reviews/","recommended": true,"hoursOnRecord": 173.1,"postedAt": "2026-11-02","helpfulCount": 0,"funnyCount": 0,"earlyAccess": false,"receivedForFree": false,"developerReplied": false,"text": "I played only solo. I recommend this game","language": "all","scrapedAt": "2026-11-03T00:28:38.876Z"}
With Translate reviews to English on, every review also has textEnglish.
How much does it cost?
$0.50 per 1,000 reviews. Example: your game + 3 competitors with 100 reviews each and a game report each = 400 x $0.0005 + 4 x $0.002 = about $0.21 per run.
- $0.002 per game report (one per game, none when Game report is off).
- AI add-ons (off by default) are free until 2026-11-18 (beta); from 2026-11-18: $0.03 per AI insight report (one per game, patch causes included) and $0.003 per reply draft; translation is included. From 2026-11-18, the same 4 games with AI reports cost about $0.33 per run.
- No Actor start fee. Platform compute is included.
- Max reviews per game and Max reply drafts per run cap your cost.
How to use
- Enter Steam app ids or store / community URLs in Games (add competitors to compare them).
- Set Max reviews per game (0 = game reports only).
- Click Start, then download JSON, CSV or Excel from the Output tab (reviews and Game reports tables).
Main filters: review language, sort (most recent / most helpful), reviews since a date, only new reviews, patch window.
Use it for:
- Patch monitoring for studios: schedule daily with Only new reviews; read
patchImpactandalertsafter every update. - Investors and acquirers: is the game alive?
updateCadence,abandonmentRisk, the review trend and the genre benchmark in one row per game. - Community managers: complaint topics and spikes, reply rate and reply time vs competitors.
- Market research: compare a list of games in one run; filter reviews by language or date.
Use with AI assistants (MCP)
Connect this Actor to Claude, ChatGPT or any MCP client: https://mcp.apify.com?tools=steadywren/steam-reviews-scraper
Try:
- "Did the last Valheim patch hurt its Steam reviews? Show the positive share before and after."
- "Compare the update cadence and abandonment risk of Valheim, Vampire Survivors and Baldur's Gate 3."
How it compares
Checked against the Store descriptions of 21 Steam review Actors in Apify Store on 2026-11-03.
| This Actor | Other Steam review scrapers in Apify Store | |
|---|---|---|
| Patch Impact Scorecard per official patch post | yes | no |
| Update cadence and abandonment risk | yes | no |
| Daily sentiment history kept beyond Steam's 30 days | yes | no (monthly at most) |
| Developer reply analytics (rate, negative-reply rate, reply time) | yes | no (a reply field at most) |
| Genre peer benchmark (auto peers by top tag) | yes | no |
| Price per 1,000 reviews | $0.50, no start fee | $0.20 to $3, some with a start fee |
AI add-ons (optional)
All three are off by default. AI add-ons are free until 2026-11-18 (beta); from 2026-11-18: $0.03 per AI report,
$0.003 per reply draft. They are processed by OpenAI (gpt-5-mini for the insight reports and patch causes,
gpt-5-nano for reply drafts and translation); review texts are public data, no reviewer names or profiles are
collected or sent, and every AI add-on removes e-mail addresses and phone numbers from the text before sending it to
OpenAI.
- AI insight report (
aiInsights, free until 2026-11-18, then $0.03 per game), in its own AI insights table: what playerslovesandhatesin plain words, the top 5featureRequestsranked by mentions, acomparisonwith the other games of the same run, thechangessince your previous AI report of the game (null on the first one), and asummary. Every love, hate and request is backed by a quote found word for word in the reviews; points without such a quote are dropped. It reads up to 80 of the reviews the run read (the newest 100 plus the ones you get). - Why the patch hurt (included in the AI report; needs Game report on): for every patch the Patch Impact
Scorecard flags
backlash,patchCausesgives thelikelyCause, supportingquotesfrom negative reviews written in the patch window after it, and aconfidence(low,medium,high). At most the newest 3 backlash patches per game are explained. The patch notes come from the game's news feed, so only patches still in the feed (the latest ~10 posts) and with negative reviews among the reviews read can be explained; the others are skipped with a message inRUN_SUMMARY. - AI reply drafts (
replyDrafts, free until 2026-11-18, then $0.003 per draft, at mostmaxDraftsper run, 20 by default), in their own Reply drafts table (reviewId,excerpt,draft,language): for the negative reviews you get that have no developer response, newest first, a short, polite reply in the review's language. A draft never promises refunds, dates or fixes and contains no names, contacts or links; a draft that breaks a rule is written again once, then skipped (not charged). A review gets a draft only once: drafted reviews are remembered in yoursteam-review-historystore, so later runs never draft (or charge) the same review again, even with Only new reviews off. - Translation (
translate, included): addstextEnglishto every review: null for English texts or reviews without text, or when the AI work stopped (cost cap, AI service unavailable, no key).
From 2026-11-18 you pay only for AI items that are delivered. maxAiCostUsd (default $1, max $2) caps our AI
spending per run, shared by all add-ons. Translation runs first, during the scrape; when an AI report or reply drafts
are also on, it may use at most half of the cap, so the rest stays for them. When the cap is reached, or the AI
service is unavailable, the AI work stops with a message in RUN_SUMMARY and the scrape itself still succeeds. Your
spending limit is checked before every AI item.
Monitor daily
- Console -> Schedules -> create a schedule for this Actor (or for a saved task with your games) and let it run daily.
- Turn on Only new reviews: each run outputs only reviews earlier runs did not return; with Most recent sort it stops reading at the first one it has seen.
- Keep Game report on: every run adds Steam's last 30 days to the daily history, so
dailyHistoryand the patch scorecard get longer and more precise. - Actor -> Integrations: send every finished run to Slack, email, Google Sheets or your own webhook.
FAQ
Is it legal? The Actor collects publicly available data only, without login and without personal data of private individuals. Check the site's terms for your use case.
What if Steam changes or a run fails? The run fails with a clear error instead of returning empty results - when
no game is found, when requests failed and nothing was delivered, when games with many reviews return none, or when
key fields are empty in most results - and you are not charged for results it did not deliver. A game that does not
exist is skipped with a warning. No new reviews, or none matching the filters, is a successful run. Each run's
summary (results, retries, errors, and an ai block when an AI add-on is on) is in the Storage tab -> Key-value
store -> RUN_SUMMARY.
Do I need proxies? Are there limits? No proxy is needed in most cases: Steam answers Apify servers directly (off by default). Up to 20,000 reviews per game per run. Steam serves 10 reviews per request and the Actor pauses 1 second between pages to stay polite: about 350 reviews per minute on Apify (2,000 Valheim reviews took 342 seconds in our 2026-11-03 run), so 10,000 reviews take about 30 minutes.
How fresh is the data? Live at run time. Steam's own limits: its news feed shows only the latest ~10 posts, and daily review counts only for the last 30 days - scheduled runs keep both, so the history grows.
Where are the game reports? In their own table: run page -> Output tab -> Game reports (or Storage ->
Dataset -> reports). Reviews stay in the main dataset. Via API: GET /v2/actor-runs/<runId> ->
storageIds.datasets.reports, then /v2/datasets/<id>/items.
How is a patch found? Steam's news feed has no tags, so posts are classified by title: "patch", "hotfix", "fix",
a version number (1.0.21), or "update" unless it is a community / dev / news update. Announcements and community
posts are not patches.
Why do only some patches have numbers? Older patches (outside the 30 days of daily counts) are compared month
before vs month after (precision: "monthly"), unless several patches fall into the same month - then they get no
verdict, because the months cannot tell them apart. Scheduled runs keep the daily counts and the patch posts, so the
daily scorecard grows over time. Only daily verdicts create alerts.
What does significant mean? A two-proportion z-test at 95% confidence on the positive share before vs after;
both sides need at least 30 reviews, otherwise the verdict is too-few-reviews. The patch day itself is left out (it
mixes both sides).
Why noReplies and not a 0% reply rate? Most studios do not answer reviews: in our check none of the newest
reviews of 35 games had a developer response, and the top-rated reviews of Vampire Survivors had 1 in 50.
noReplies: true says exactly that. To measure a studio that does reply, run with Most helpful sort and more
reviews: the reply analytics use every review the run reads (the ones you get plus the newest-review sample).
What does the report analyze? The newest 100 reviews of each game (read separately when you ask for top-rated reviews, a date slice or only new reviews). They are not output and not charged.
Why not the official Steam API? api.steampowered.com closes its whole site to crawlers in robots.txt, and the
old appreviews JSON endpoint now redirects to the Steam home page. This Actor reads the public review pages, the
store's review histogram and the news feed instead.
What language are the peer scores in? The genre benchmark uses the score Steam's store search shows for English reviews; the game's own all-time share in the report counts every language. When the game is among the top peers, its percentile uses its row from the same search.
What is reviewId? A stable id of the review (the same review gets the same id in every run, so you can
deduplicate). It is a keyed hash: it cannot be turned back into the reviewer's Steam profile.
What is hoursOnRecord? The reviewer's total playtime now, as Steam shows it on the review list - not the
playtime at review time.
Why is postedAt a day without a time? The review list shows only the day (in UTC). Reply times use the exact
times of the single-review pages.
Where are the AI results? Run page -> Output tab -> AI insights and Reply drafts (or Storage -> Dataset ->
aiInsights / replyDrafts). RUN_SUMMARY has the AI counters (aiReports, patchCauses, replyDrafts,
reviewsTranslated, aiSkipped, aiCostUsd, aiStoppedReason) and a message for every skipped AI item.
Can the AI be wrong? Yes - it is a draft for a human. That is why every point needs a quote found word for word
in the reviews, patch causes carry a confidence, and reply drafts are checked for promises, personal data, links
and language before delivery.
How does changes work? The last delivered AI report of each game is kept in your steam-review-history store.
The next AI report marks the reviews written after it as NEW and lists what they show differently.
Is the history shared between my runs? Yes - all runs and tasks of your account use the key-value store
steam-review-history: one history record per game (with the reviews that already got an AI reply draft), plus the
last AI report of the game when AI insights are on. The store is used whenever the game report, Only new reviews,
AI insights or AI reply drafts is on. Delete the store to start over.
More from Steadywren
- Google Play Reviews Scraper & Release Health - Android app reviews with release health, reply analytics and change alerts.
- App Store Reviews Scraper & Release Health - iOS app reviews with rating by version, prices by country and chart ranks.
- Shopify App Store Scraper & App Intelligence - Shopify app reviews with churn signal, reply rate and category ranks.
- App Store & Google Play Reviews + Platform Gap - iOS and Android reviews of the same app, with the weaker platform and why.
- All Steadywren Actors - small tools, steady results. Custom builds: steadywren.com.
Input reference
| Field | Type | Default | Description |
|---|---|---|---|
games | array | ["892970"] (Valheim) | Steam app ids (892970) or store / community URLs (https://store.steampowered.com/app/892970/Valheim/). Add competitors to compare them. |
maxReviewsPerGame | integer | 100 | Reviews to output per game (you pay per review), 0 to 20,000. Steam serves 10 reviews per request, so 1,000 reviews take about 3 minutes. 0 = game reports only. |
sort | string | recent | Order in which Steam returns reviews: recent (most recent) or toprated (most helpful). |
language | string | all | Only reviews written in this language (all or a Steam language name: english, german, schinese, ...). Review texts are kept as written; turn on "Translate reviews to English" below to add an English translation. |
sinceDate | string | - | Only reviews posted on or after this day. With "Most recent" the scraper stops at the first older review; with "Most helpful" it filters the pages it reads and stops after 20 pages in a row without a newer review. |
onlyNew | boolean | false | For scheduled runs: skip reviews an earlier run of yours already delivered (you pay only for new ones). With "Most recent" the scraper stops reading at the first review it has seen. |
report | boolean | true | One report per game ($0.002): patch impact, update cadence and abandonment risk, daily sentiment history, developer replies, genre benchmark, complaint topics. Saved in the "Game reports" dataset. |
patchWindowDays | integer | 7 | Days before and after each patch post that are compared (1-14). |
peers | boolean | true | Compare the game with the top 25 games of its most voted Steam tag (one extra request). |
peerCadence | boolean | false | Also check how often the top 10 peers ship patches (10 extra requests per game). |
replyDetails | boolean | true | Open up to 20 reviews with a developer response to measure the reply time (one request each). |
aiInsights | boolean | false | One AI report per game (free until 2026-11-18 (beta); from 2026-11-18: $0.03 each): what players love and hate, top feature requests, a comparison with the other games of this run, what changed since your last report, and "why the patch hurt" for the newest 3 backlash patches per game (included). Saved in the "AI insights" dataset. Processed by OpenAI (gpt-5-mini). If the AI service is unavailable, the AI part is skipped with a message and the scrape still succeeds. |
replyDrafts | boolean | false | A short, polite developer reply draft (free until 2026-11-18 (beta); from 2026-11-18: $0.003 each) for delivered negative reviews without a developer response (newest first, up to Max reply drafts), in the review's language. No promises, names or links; a review gets a draft only once across runs. Saved in the "Reply drafts" dataset. Processed by OpenAI (gpt-5-nano). |
maxDrafts | integer | 20 | Caps the reply drafts of one run (and their cost), 0-200. |
translate | boolean | false | Adds textEnglish to the delivered reviews: the English translation of non-English texts. Null for English or no text, or when AI work stopped. Included in the review price, no extra event. Processed by OpenAI (gpt-5-nano). |
maxAiCostUsd | number | 1 | Our OpenAI spending cap for the AI add-ons of one run (0.05 to max $2), shared by all of them. When the cap is reached the AI work stops with a message; delivered AI items are kept and the scrape is not affected. You pay only for the AI items delivered. |
proxyConfiguration | object | off | Not needed in most cases: Steam answers Apify servers directly. Turn on a proxy only if runs get blocked. |
Search keywords: steam reviews, steam reviews scraper, steam game reviews, steam patch reviews