Steam Game Reviews Scraper
Pricing
from $1.20 / 1,000 results
Steam Game Reviews Scraper
Fetch public Steam store game reviews via the official appreviews JSON API. Returns recommendationid, public author steamid, review text, voted_up, timestamp_created, and playtime. Lightweight HTTP — no browser required.
Pricing
from $1.20 / 1,000 results
Rating
0.0
(0)
Developer
jose olmedo soto aguirre
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Fetch public Steam store game reviews via the official Store API — no browser, no HTML scraping.
GET https://store.steampowered.com/appreviews/{appid}?json=1&num_per_page=20
Responsible use & Terms of Service: This actor reads only publicly available review text and public author Steam IDs. Use for legitimate research (sentiment, game intel, market analysis). Respect Steam Subscriber Agreement / Valve terms, rate limits, and applicable law. Do not harvest private profile data, bypass age gates abusively, or hammer the API.
What you get
| Field | Description |
|---|---|
recommendationid | Steam recommendation id |
steamid | Public author SteamID64 |
review | Public review text |
voted_up | true = recommended |
timestamp_created | Unix seconds |
timestamp_created_iso | ISO-8601 |
playtime_forever / _hours | Author lifetime playtime (minutes / hours) |
playtime_at_review / _hours | Playtime at review time |
language | Review language |
appId | Steam app id used for the run |
scrapedAt | ISO timestamp of the run |
Input
| Field | Required | Default | Notes |
|---|---|---|---|
appId | yes | — | Numeric id (730 CS2, 570 Dota 2) |
maxReviews | 20 | Max 100 reviews | |
language | english | Steam language filter (all allowed) | |
filter | recent | recent · updated · all |
Example input
{"appId": "730","maxReviews": 20,"language": "english","filter": "recent"}
Sample output (real run)
App 730 (Counter-Strike 2) · maxReviews: 20 — local apify run, 2026-07-29. Extracted 20 public reviews (query_summary.total_reviews ≈ 2.5M, score “Very Positive”).
{"recommendationid": "231560947","steamid": "76561198769876625","review": "very good","voted_up": true,"timestamp_created": 1785294375,"timestamp_created_iso": "2026-07-29T03:06:15.000Z","playtime_forever": 11350,"playtime_forever_hours": 189.2,"playtime_at_review": 11350,"playtime_at_review_hours": 189.2,"language": "english","appId": "730","scrapedAt": "2026-07-29T05:25:56.901Z"}
How it works
GET /appreviews/{appId}?json=1&num_per_page=…- Maps public fields; paginates with Steam
cursoruntilmaxReviews - Deduplicates by
recommendationid
Stack: Apify SDK + got, Docker image apify/actor-node:20.
Pricing (suggested)
| Plan | Price | Best for |
|---|---|---|
| Pay per result | $0.80–$2 / 1,000 reviews | Occasional sentiment / game checks |
| Rental | $15–$29 / month | Recurring game monitoring |
Cheap compute (HTTP JSON). No residential proxy required for the public API.
Local development
cd steam-game-reviewsexport APIFY_TOKEN=$(grep '^APIFY_TOKEN=' ../.env | cut -d= -f2-)npm install --registry https://registry.npmjs.org/apify run
On Apify Cloud:
apify push -fapify call joseolmedosotoaguirre/steam-game-reviews --input '{"appId":"730","maxReviews":20}'