Steam Store Game Reviews Full History Scraper
Pricing
Pay per event
Steam Store Game Reviews Full History Scraper
Scrape the full review history for any Steam game. Extracts ratings, review text, playtime, and purchase context via Steam cursor-paginated JSON API. Supports language filters and exhausts all pages for titles with 100k+ reviews. Ideal for studios, sentiment analysis, and review-bomb detection.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape the complete review history for any Steam game using Steam's official cursor-paginated JSON API. Unlike competitors that return a single page, this actor exhausts the full cursor chain — retrieving every review for titles with hundreds of thousands of entries.
What you get
Each output record includes the full review body plus reviewer-quality signals ideal for brigade detection:
- Review content — full text, recommended/not, language, timestamps
- Reviewer signals — total games owned, prior review count, playtime at time of review (key for detecting low-effort reviews from new accounts)
- Engagement metrics — helpful votes, funny votes, comment count, Steam-weighted helpfulness score
- Purchase context — Steam purchase vs. external key, received for free, Early Access flag
- Per-game aggregate — review score, score description (e.g. "Overwhelmingly Positive"), total positive, negative, and total reviews (joined onto every row for easy analysis)
Input
| Field | Type | Default | Description |
|---|---|---|---|
appIds | string[] | ["440"] | Steam app IDs. Find the ID in the store URL: store.steampowered.com/app/440/ → 440 |
maxItems | integer | 10 | Max reviews per game. Set to 0 to exhaust all reviews (may be slow for popular titles with 1M+ reviews) |
language | string | all | Language filter: all, english, schinese, russian, etc. |
reviewType | string | all | all, positive, or negative |
purchaseType | string | all | all, steam, or non_steam_purchase |
dateRangeStart | string | — | Optional ISO date YYYY-MM-DD — only include reviews created on or after |
dateRangeEnd | string | — | Optional ISO date YYYY-MM-DD — only include reviews created on or before |
Output
{"steam_appid": 440,"recommendation_id": "226055761","author_steamid": "76561198775042737","author_num_games_owned": 42,"author_num_reviews": 4,"author_playtime_forever_min": 1240,"author_playtime_at_review_min": 92,"review_text": "Best game ever.","voted_up": true,"votes_up": 15,"votes_funny": 2,"weighted_vote_score": 0.812,"comment_count": 0,"steam_purchase": true,"received_for_free": false,"written_during_early_access": false,"language": "english","timestamp_created": "2026-05-21T10:05:11.000Z","timestamp_updated": "2026-05-21T10:05:11.000Z","game_review_score": 8,"game_review_score_desc": "Very Positive","game_total_positive": 1119661,"game_total_negative": 111784,"game_total_reviews": 1231445,"source_url": ""}
Use cases
- Review-bomb detection — filter by date range +
author_num_games_owned/author_playtime_at_review_minto identify coordinated low-quality reviews - Sentiment tracking over time — combine date range filters with full history to build time-series sentiment charts
- Competitive research — compare
game_review_score_descand positive/negative ratios across competing titles - QA & community signals — extract the most-voted reviews by
votes_upfor customer feedback analysis
Rate limits & performance
Steam's review API is unauthenticated and generous. The actor uses a 350ms inter-request delay and fetches 100 reviews per page. For a title with 100,000 reviews expect approximately 1,000 API calls; with maxItems set the run completes in seconds.
Multiple games
Pass multiple app IDs to process them in a single run:
{"appIds": ["440", "570", "730"],"maxItems": 500,"language": "english"}
Each app is processed sequentially; maxItems is applied per game.