Steam Reviews Scraper: Game Reviews, Playtime & Votes
Pricing
$0.30 / 1,000 review returneds
Steam Reviews Scraper: Game Reviews, Playtime & Votes
Steam reviews scraper for any game via Valve's public appreviews endpoint: review text, recommended or not, playtime at review, helpful/funny votes, language, Steam Deck and early access flags, and developer responses. Export to CSV or JSON for player sentiment analysis and game market research.
Pricing
$0.30 / 1,000 review returneds
Rating
0.0
(0)
Developer
Ryan Sofranko
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
21 days ago
Last modified
Features
Share
What does Steam Reviews Scraper do?
Steam reviews scraper for any game via Valve's public reviews Web API: review text, recommended or not, playtime at review, helpful/funny votes, language, Steam Deck and early access flags, and developer responses. Export to CSV or JSON for player sentiment analysis and game market research.
📖 Step-by-step tutorial: https://dev.to/scrape-smith/how-to-export-steam-game-reviews-with-playtime-for-player-sentiment-analysis-4fej
Popular searches this actor answers: Steam reviews scraper, Steam review API, Steam game reviews, player sentiment analysis, Steam playtime, game market research.
Try it free: the input is prefilled, so just click Start and you get real results in seconds for a fraction of a cent.
What data does it return?
Real rows from a test run with the example input (truncated):
| gameName | recommended | playtimeAtReviewMinutes | votesUp | language | createdAt |
|---|---|---|---|---|---|
| Team Fortress 2 | True | 1236 | 0 | spanish | 2026-10-22T15:37:07.000Z |
| Team Fortress 2 | True | 434 | 0 | english | 2026-10-22T15:14:04.000Z |
| Team Fortress 2 | True | 5227 | 0 | english | 2026-10-22T15:03:14.000Z |
| Team Fortress 2 | True | 8209 | 0 | spanish | 2026-10-22T14:33:36.000Z |
| Team Fortress 2 | True | 473 | 0 | english | 2026-10-22T14:12:17.000Z |
Full JSON for one row:
[{"appId": "440","gameName": "Team Fortress 2","reviewId": "238311195","url": "https://steamcommunity.com/profiles/76561198992652550/recommended/440/","recommended": true,"text": "mi juego favorito desde hace años, lo he jugado en otras cuentas pero quise empezar de cero otra vez, simplemente una obra maestra no te puedes aburrir de este …","language": "spanish","createdAt": "2026-10-22T15:37:07.000Z","updatedAt": "2026-10-22T15:37:07.000Z","votesUp": 0,"votesFunny": 0,"weightedVoteScore": 0.5,"commentCount": 0,"steamPurchase": true,"receivedForFree": false,"writtenDuringEarlyAccess": false,"primarilySteamDeck": false,"authorSteamId": "76561198992652550","authorNumGamesOwned": 14,"authorNumReviews": 2,"playtimeForeverMinutes": 1236,"playtimeAtReviewMinutes": 1236,"playtimeLastTwoWeeksMinutes": 176,"developerResponse": null,"reviewScoreDesc": "Very Positive"}]
Download results as JSON, CSV, Excel, XML or HTML, call it via the Apify API, or connect it to Zapier, Make, n8n, Google Sheets and AI agents (Apify MCP server).
Use cases
- Game studios: track player sentiment after patches
- Competitor and genre market research
- Sentiment analysis / NLP datasets
- Daily monitoring of negative reviews
How to use Steam Reviews Scraper
- Open the actor and keep the prefilled example, or replace it with your own input.
- Click Start and wait for the run to finish.
- Export the dataset or fetch it via API.
Input
| Field | Description |
|---|---|
appIds | Steam app IDs or store URLs, one per line, e.g. 440 or https://store.steampowered.com/app/1091500/Cyberpunk_2077/. |
maxReviewsPerApp | Maximum reviews per game (each review is one billed row). Example: 200. |
filter | Order: recent = newest created (full history), updated = recently updated, all = most helpful first. |
language | Steam language name (english, german, schinese, brazilian ...) or all. |
reviewType | all, positive (recommended) or negative (not recommended) reviews only. |
purchaseType | all, steam (bought on Steam) or non_steam_purchase (keys bought elsewhere). |
dayRange | Only with order all: limit to reviews from the last N days (1-365). |
includeAppName | Look up and add the game name to each row (one extra request per game). |
Example input:
{"appIds": ["440"],"maxReviewsPerApp": 20}
Source
Uses Valve's documented public IUserReviewsService/GetAppReviews Web API (the replacement for the old store appreviews endpoint Valve retired on Oct 22, 2026) with cursor pagination (throttled ~1 req/s). Not affiliated with or endorsed by Valve. Steam limits how far back some orderings go; use order=recent for full history.
Pricing
Pay per event: $0.0003 per review. 10,000 reviews = $3. Apify platform usage is included. Charged events: review (per review row). Error rows are free. Set a max charge per run to cap cost; the actor stops cleanly when the limit is reached.
| Example job | Approx. cost |
|---|---|
| 20 reviews | $0.006 |
| 10,000 reviews | $3.00 |
FAQ
Is this the official Steam API?
It uses Valve's documented public reviews Web API. Not affiliated with Valve.
How far back can I go?
With order recent you can page through the full review history.
Can I get only English negative reviews?
Yes: language=english, reviewType=negative.
Is it legal to use this data?
The actor only reads public, official endpoints. You are responsible for using the data in line with the source's terms and applicable laws (e.g. GDPR for personal data).
API example
curl -X POST "https://api.apify.com/v2/acts/scrape-smith~steam-reviews-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H 'Content-Type: application/json' -d '{"appIds": ["440"], "maxReviewsPerApp": 20}'