Steam Review Scraper - Edits, Flips & Replies
Pricing
from $50.00 / 1,000 game-language checks
Steam Review Scraper - Edits, Flips & Replies
Monitor Steam player feedback with the current GetAppReviews API. Detect new reviews, recommendation flips, edited text and developer replies. Export playtime and review context; persistent history and flat pricing per game-language check.
Pricing
from $50.00 / 1,000 game-language checks
Rating
0.0
(0)
Developer
Victor Diaz
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Monitor new and edited Steam reviews with Valve's current IUserReviewsService/GetAppReviews API. Catch recommendation flips, text edits, developer replies and refund-flag changes without replaying unchanged reviews. Use the structured output for a game studio's feedback database, competitor research or an n8n/Make workflow.
Who this is for
Steam review monitoring for game studios. Use the Steam review scraper to maintain a feedback database after releases and patches. Capture newly observed reviews, recommendation flips, text edits and developer replies from the recently updated review window. The window is capped and anonymous responses may be cached by Valve.
Quick start
Export an immediate sample:
{"appIds":["413150"],"language":"all","maxReviewsPerGame":100,"outputMode":"all"}
Monitor negative feedback on a schedule:
{"appIds":["413150"],"language":"english","maxReviewsPerGame":500,"recommendationFilter":"negative","watchId":"game-feedback","outputMode":"changes"}
Changes mode establishes a silent baseline on the first successful run. Reuse the same Watch ID for later runs. Recommendations and minimum-playtime filters affect output only: a positive review excluded from output is still remembered, so its later negative recommendation can trigger an alert.
Steam store URLs such as https://store.steampowered.com/app/413150/ also work. IDs are deduplicated. Up to 20 games per run; one explicit Steam language code per run. all requests every language together. Use separate runs and Watch IDs for distinct language monitoring projects.
What is returned
recordType=review includes the review ID, game ID/name/type, game URL, review language and text, Steam's recommended boolean, created/updated timestamps, developer response, response time, refund/purchase/free-copy/early-access/Steam-Deck flags, playtime at review and current playtime (minutes), helpful/funny votes and comment count. reviewUrl links to the public source when Steam provides the author's ID. No player profiles are fetched, and no author-ID column is exported.
Change records add changeType (baseline, new, changed, unchanged), changedFields, previousRecommended and observedAt. Recommendation is Steam's explicit thumbs-up/down choice, not generated sentiment. Text, recommendation, language, developer response and context flags are compared. Vote counts, current playtime and timestamps alone do not produce change alerts.
A check_summary is always included per successful check. It reports coverage, duplicates, baseline/new/changed/unchanged counts, query rating totals and the positive share of this run's review sample. Query totals describe Steam's selected query; the sample share is not the game's store-wide rating. App metadata is read from the public US store; names are in English.
source_error records explain failed checks. SUMMARY in the default key-value store gives the whole run's status and spending-limit flag. A failure on any requested review page rejects the entire game check before history is updated or its custom event is charged.
Pricing
$0.05 per successful game-language check, including app lookup and up to 500 most recently updated reviews, plus $0.00005 per run start at fixed 512 MB memory. Platform usage is included. There is no per-review or per-summary charge.
Empty or unchanged valid feeds still count. Failed source checks do not generate the game-language event; the standard start fee still applies. Five games cost $0.25005 per run, or $7.5015 for daily runs over 30 days. These are buyer costs, not creator earnings. Set Maximum cost per run to stop before starting checks beyond your budget.
Scope and limits
- Uses the replacement GetAppReviews service, not the deprecated
/appreviewsendpoint. No Steam key, account, cookies or proxy required. Anonymous responses can be cached by Valve for up to ten minutes and have a lower rate limit; persistent 429/403 responses are reported as failures. - Fixed sort: most recently updated reviews, all purchase types, all recommendations before output filters. Maximum 1–500 per game; default 100. This is a rolling window, not a complete archive. Newly observed IDs can be older reviews entering the window; missing IDs are not reported as deleted.
includeOffTopicReviews=truerequests off-topic activity too; false uses Valve's activity filter. This setting and the review cap affect the observed window.- The store lookup must be publicly available in the US region. Unavailable IDs or malformed source data are errors, not paid empty successes. Game-name search, private discussions and review-comment bodies are not included.
- Cursor pages may change during a scan. Duplicates are removed; a missing or repeated cursor rejects an incomplete check. A bounded page budget prevents endless pagination.
- History stores IDs and comparison hashes for 90 days since last observation, up to 20,000 IDs per game-language. Full historical review bodies are not stored in the watch store. Snapshots stay in the caller's Apify account. Use non-overlapping schedules with the same Watch ID.
- This independent Actor is not affiliated with Valve or Steam. Public review text remains third-party content; follow the source's terms when reusing it.
Source: Valve's current review API documentation and the public Steam store app-details endpoint.
Related tools: App Store Review Watch, Sitemap Growth Watch, Shopify Price & Restock Watch.
Try one source before scheduling
- Open the Input tab and use one supported source with
outputMode: "all"for an immediate export. - Check the returned records and the check summary. Confirm the source, coverage and price suit your workflow.
- To monitor, set a stable Watch ID and
outputMode: "changes". The first successful run establishes a silent baseline. - Reuse that Watch ID on later runs. A summary without change records means the check completed without matching changes.
- Add an Apify schedule after the manual checks work. Avoid overlapping runs with the same Watch ID. Use Maximum cost per run to cap event charges.
Public-data monitors by the same developer: browse the catalog.