Steam Game Reviews Scraper
Pricing
Pay per event
Steam Game Reviews Scraper
Extract Steam game reviews — text, rating, playtime, language, helpfulness votes, and reviewer info. Supports multiple games with pagination. No login needed.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
8
Total users
3
Monthly active users
6 hours ago
Last modified
Categories
Share
What does Steam Game Reviews Scraper do?
Steam Game Reviews Scraper extracts user reviews from any game on the Steam store. It uses Steam's official API to collect review text, ratings, playtime data, and author metadata for any of the 50,000+ games on Steam — in all 29 languages.
Unlike other Steam review scrapers, this Actor supports batch processing (multiple games per run), date range filtering, game name search, and optional game metadata enrichment.
Use cases
- Sentiment analysis — Analyze player sentiment for game studios, publishers, or market research firms. Filter by language, date range, or review type.
- Competitor intelligence — Compare review sentiment, volume, and player playtime across competing titles in a genre.
- Game market research — Track review trends over time for investment decisions, journalism, or academic research.
- Player feedback mining — Extract structured feedback data for game developers to identify common complaints and praise.
- Content creation — Aggregate review highlights for gaming content creators, reviewers, and community managers.
Why use Steam Game Reviews Scraper?
- All languages — Scrape reviews in any of Steam's 29 supported languages, or all at once. Competitors only support English.
- Batch processing — Scrape multiple games in a single run. No need to start separate runs for each game.
- Game name search — Type "Elden Ring" instead of looking up app ID 1245620. Auto-resolves game names via Steam search.
- Date range filtering — Scrape reviews from a specific time period (e.g., launch week, after a major update).
- Game metadata — Optionally attach game info (name, genres, developers, Metacritic score) to each review.
- 50% cheaper — $0.50 per 1,000 reviews vs $0.75–$1.00 from alternatives.
- Normalized output — ISO 8601 timestamps, consistent number types, clean JSON. Not raw API dumps.
- No proxy needed — Steam's review API is public with no anti-bot protection, keeping costs minimal.
What data can you extract?
Each review includes 22 fields:
| Category | Fields |
|---|---|
| Review | Review text, positive/negative, helpfulness score, helpful votes, funny votes, comment count |
| Timing | Created date, updated date (ISO 8601) |
| Author | Steam ID, games owned, total reviews written |
| Playtime | Total playtime, playtime at review, last 2 weeks playtime (minutes) |
| Metadata | Language, Steam purchase, received for free, early access, Steam Deck |
| Game (optional) | Name, genres, developers, publishers, Metacritic score, release date, total reviews, review score |
How much does it cost to scrape Steam reviews?
This Actor uses pay-per-event pricing — you pay only for what you scrape. No monthly subscription. All platform costs are included.
| Free plan | Starter ($49/mo) | Scale ($499/mo) | |
|---|---|---|---|
| Start fee | $0.003 | $0.0025 | $0.002 |
| Per review | $0.0005 | $0.0004 | $0.0003 |
| 1,000 reviews | $0.503 | $0.402 | $0.302 |
| 10,000 reviews | $5.003 | $4.003 | $3.002 |
Real-world cost examples:
| Scenario | Reviews | Cost (Free tier) |
|---|---|---|
| CS2 — latest 100 English reviews | 100 | ~$0.05 |
| Elden Ring — all English reviews | ~200,000 | ~$100 |
| 10 indie games × 1,000 reviews each | 10,000 | ~$5.00 |
| CS2 — January 2026 reviews (all languages) | ~90,000 | ~$45 |
How to scrape Steam game reviews
- Create a free Apify account
- Go to Steam Game Reviews Scraper
- Enter one or more game identifiers:
- App IDs — e.g.,
730for CS2,570for Dota 2 - Store URLs — e.g.,
https://store.steampowered.com/app/730/CounterStrike_2/ - Game names — e.g.,
Elden Ring(auto-resolves via Steam search)
- App IDs — e.g.,
- Set your filters (language, sentiment, date range)
- Click Start and download results in JSON, CSV, or Excel
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| App IDs | array | — | Steam app IDs (e.g., 730 for CS2) |
| Steam Store URLs | array | — | Full Steam store URLs |
| Search by game name | array | — | Game names to search and auto-resolve |
| Language | string | all | Review language filter (all, english, schinese, etc.) |
| Review type | string | all | all, positive, or negative |
| Purchase type | string | all | all, steam, or non_steam_purchase |
| Sort order | string | recent | recent (newest), updated (recently edited), all (most helpful) |
| Max reviews per game | integer | 100 | Cap per game. 0 for unlimited. |
| Start date | string | — | YYYY-MM-DD. Requires sort = all. |
| End date | string | — | YYYY-MM-DD. Requires sort = all. |
| Include game metadata | boolean | false | Attach game info to each review |
Output example
{"appId": 730,"gameName": "Counter-Strike 2","reviewId": "217664472","steamId": "76561199803659169","language": "english","review": "Great game with friends, competitive and fun.","positive": true,"score": 0.52,"votesUp": 1,"votesFunny": 0,"commentCount": 0,"createdAt": "2026-02-06T12:30:35.000Z","updatedAt": "2026-02-06T12:30:35.000Z","playtimeForeverMinutes": 1632,"playtimeAtReviewMinutes": 1632,"playtimeLastTwoWeeksMinutes": 33,"gamesOwned": 7,"totalReviewsByAuthor": 1,"steamPurchase": true,"receivedForFree": false,"earlyAccess": false,"steamDeck": false,"gameInfo": {"name": "Counter-Strike 2","type": "game","isFree": true,"genres": ["Action", "Free To Play"],"developers": ["Valve"],"publishers": ["Valve"],"metacriticScore": null,"releaseDate": "21 Aug, 2012","totalReviews": 9362009,"reviewScore": "Very Positive"}}
Tips for best results
- Start small — Test with 100 reviews before scraping thousands. Verify the output matches your needs.
- Use date filtering for updates — Track new reviews since your last scrape using
startDate. - Batch similar games — Scrape all titles in a genre in one run to minimize start fees.
- Skip game metadata if not needed —
includeGameInfo: false(default) skips an extra API call per game. - Date filtering requires sort "all" — The Steam API only supports date ranges with the "most helpful" sort order. The scraper auto-switches if you set a date range.
- Language "all" returns 3-5x more reviews — Most games have significantly more non-English reviews than English ones.
Integrations
Connect Steam Game Reviews Scraper with other tools:
- Make — Automate review monitoring workflows
- Zapier — Connect to 5,000+ apps
- Google Sheets — Export reviews directly to spreadsheets
- Slack — Get notified about new reviews
- API — Full programmatic access
Using the Apify API
Node.js:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/steam-game-reviews-scraper').call({appIds: ['730'],maxReviewsPerGame: 1000,language: 'english',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python:
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('automation-lab/steam-game-reviews-scraper').call(run_input={'appIds': ['730'],'maxReviewsPerGame': 1000,'language': 'english',})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Use with AI agents via MCP
Steam Game Reviews Scraper is available as a tool for AI assistants via the Model Context Protocol (MCP).
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
Example prompts
- "Get recent reviews for Elden Ring on Steam"
- "Scrape negative reviews for this Steam game"
- "Analyze the latest 100 English reviews for Counter-Strike 2 on Steam"
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~steam-game-reviews-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"appIds": ["1245620"],"maxReviewsPerGame": 100,"language": "english"}'
Is it legal to scrape Steam reviews?
Scraping publicly available Steam game reviews is generally considered legal. Steam reviews are publicly visible to anyone browsing the Steam store, and court rulings such as hiQ Labs v. LinkedIn have affirmed that collecting publicly accessible data does not violate the Computer Fraud and Abuse Act.
Key points:
- Only publicly visible review data is collected (text, ratings, playtime, recommendations)
- No login credentials or private accounts are accessed
- The scraper uses Steam's public API endpoints
- Extracted data should be used responsibly and in compliance with applicable laws
Always review Steam's Terms of Service and consult legal counsel for commercial use cases. For more details, see Apify's guide on web scraping legality.
Legality
Scraping publicly available data is generally legal according to the US Court of Appeals ruling (HiQ Labs v. LinkedIn). This actor only accesses publicly available information and does not require authentication. Always review and comply with the target website's Terms of Service before scraping. For personal data, ensure compliance with GDPR, CCPA, and other applicable privacy regulations.
FAQ
How fast is Steam Game Reviews Scraper?
Very fast. Steam's review API has no rate limits and returns 100 reviews per request (~300ms). That's approximately 7,500 reviews per minute. A typical 1,000-review scrape completes in under 10 seconds.
Can I scrape reviews in languages other than English?
Yes. Set the language parameter to any Steam-supported language code (e.g., schinese, japanese, german, russian) or all for every language. Steam supports 29 languages.
Does this scraper need proxies?
No. Steam's review API is completely public with no anti-bot protection, authentication, or rate limits. This keeps the per-review cost extremely low.
Can I filter reviews by date?
Yes. Set startDate and endDate in YYYY-MM-DD format. Note: date filtering requires sort set to all (most helpful). The scraper auto-switches if you forget.
How do I find a game's app ID?
You don't need to. Just use the Search by game name input — type the game name and the scraper finds the app ID automatically. Or copy the number from any Steam store URL: store.steampowered.com/app/730/... → app ID is 730.
What's the maximum number of reviews I can scrape?
No hard limit. Set maxReviewsPerGame: 0 for unlimited. CS2 has over 9 million reviews. The Actor can scrape all of them, but consider costs — 9M reviews at $0.50/1K = ~$4,500.
Why does date filtering return no results?
Date filtering only works when the sort parameter is set to all (most helpful). If you set startDate or endDate with sort: "recent", the Steam API ignores the date filter. The scraper auto-switches to all sort when dates are provided, but double-check your input if results are unexpected.
Game name search found the wrong game.
The search-by-name feature uses Steam's search API, which returns the best match. For games with common names, use the exact app ID instead. Find the app ID from the Steam store URL (the number after /app/).
Other gaming and review scrapers
- Steam Scraper — Search and extract Steam Store game data, prices, and discounts
- Metacritic Scraper — Scrape Metacritic scores and reviews for games, movies, and TV
- IMDB Scraper — Extract movie and TV show data from IMDB