Steam Scraper: game prices, details and Steam reviews
Pricing
Pay per event
Steam Scraper: game prices, details and Steam reviews
Feed spreadsheets or AI agents with store pages of games: tags, critic scores, regions and written feedback from owners, found by search term or app number.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BEPO Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Features
Share
🎮 What is Steam Scraper?
Know what sells on Steam: this Actor turns the store entries of any games into tidy records. Compare Metacritic and the platform's own rating totals, then read the verdicts in the reviews. Hand it ids, links or title fragments.
- Game market research: compare prices, discounts, genres and review scores across a genre or a publisher
- Player feedback analysis: pull thousands of negative reviews and find what players complain about, with AI or in a sheet
- Price and sale tracking: schedule daily runs and catch discounts in any store country
- Studio and publisher reports: follow your own titles and rival ones, scores compared every seven days
- AI agents: let Claude or ChatGPT read Steam reviews and details through MCP

✨ Why use this Actor?
- ✅ Details and reviews in one run: one record per title plus one per review, each billed on its own
- ✅ Search by name: type "stardew valley" and the Actor finds the app id for you
- ✅ Sharp review filters: positive or negative only, any Steam language, newest, recently updated or most helpful first, since a date
- ✅ Game-wide review totals: Steam's rating label and positive share across all languages sit on every game row
- ✅ Any store country: currency and availability exactly as shoppers in that region see them
- ✅ Gentle on Steam: one title at a time with a pause and retries; an unknown id never stops the run
📦 What data can you get with Steam Scraper?
| 🎮 Name, app id and store URL | 💲 Price, currency and discount | 📅 Release date |
| 🏢 Developers and publishers | 🏷️ Genres and categories | 🖥️ Platforms |
| ⭐ Metacritic score | 👍 Review score and positive share | 💬 Review text |
| ⏱️ Playtime at review | 🗳️ Helpful and funny votes | 🌐 Review language and date |
🚀 How to use Steam Scraper
Steam Scraper works in a few clicks, no coding needed:
- Create a free Apify account (the free plan includes 5 USD of monthly credit).
- Open Steam Scraper and click Try for free.
- Enter ids, links or titles, then choose game details, opinions or both.
- Click Start and wait for the run to finish (most runs take seconds).
- Download your data as JSON, CSV, Excel, XML or HTML, or send it straight to Google Sheets, Make, Zapier or your AI agent.

⬇️ Input
Give app ids, store URLs or search terms (up to 200 together). Game details and reviews are on by default.
App id, URL or name?
An app id (620) or a store URL (https://store.steampowered.com/app/1145360/Hades/) reads that game. A search term (stardew valley) takes the top store matches, up to maxGamesPerSearch.
Reviews
Cap them with maxReviewsPerGame (up to 10,000). Pick the order with reviewFilter, positive or negative with reviewType, a Steam language such as english or schinese with reviewLanguage, and a start date with since.
Country and language
country sets the store country for prices and availability (us, de, gb ...); language the language of descriptions and genres.
| Field | Type | What it does | Default |
|---|---|---|---|
App ids or store URLs (appIds) | array | Steam app ids or store page URLs (e.g. | ["620"] |
Search terms (searchTerms) | array | Game names to look up in the Steam store search (e.g. | |
Games per search term (maxGamesPerSearch) | integer | How many store search matches to take per term. | 5 |
Game details (includeDetails) | boolean | One row per game: price, discount, release date, developers, genres, platforms, Metacritic, review score and totals. | true |
Player reviews (includeReviews) | boolean | One row per player review: text, recommended or not, playtime, helpful votes, language, date. | true |
Maximum reviews per game (maxReviewsPerGame) | integer | Cap per game. | 100 |
Review order (reviewFilter) | string | Newest written, newest updated, or most helpful first (Steam's own order). | "recent" |
Positive or negative (reviewType) | string | All reviews, only recommending ones, or only not recommending ones. | "all" |
Review language (reviewLanguage) | string | Steam language name (english, german, schinese, ...) or all. | "all" |
Reviews since (since) | string | Keep reviews written (or, with Recently updated, updated) on or after this date, e.g. | |
Store country (country) | string | Two-letter country code for prices and availability (us, de, gb, ...). | "us" |
Store language (language) | string | Language of descriptions and genre names (english, german, ...). | "english" |
Maximum text length (maxTextLength) | integer | Long reviews and descriptions are cut to this many characters. | 5000 |
Retries per request (maxRetries) | integer | Retries with exponential backoff on network errors, 429 and 5xx. | 3 |

Input example
{"appIds": ["620","https://store.steampowered.com/app/1145360/Hades/"],"maxReviewsPerGame": 20}
⬆️ Output
Each game gets a type: "game" entry, each review a type: "review" one. The Console shows two views, Games and Reviews. The run summary in the key-value store (OUTPUT) lists every app with its reviews and any error.

Output example
One game row (Portal 2, long text shortened):
{"name": "Portal 2","price": 9.99,"reviewScore": "Overwhelmingly Positive","positiveShare": 98.7,"reviewsTotal": 468494,"metacriticScore": 95,"releaseDate": "Apr 18, 2011","type": "game","query": "620","appId": 620,"url": "https://store.steampowered.com/app/620/","appType": "game","isFree": false,"initialPrice": 9.99,"currency": "USD","discountPercent": 0,"comingSoon": false,"developers": ["Valve"],"publishers": ["Valve"],"genres": ["Action","Adventure"],"categories": ["Single-player","Multi-player","Co-op","Online Co-op"],"platforms": ["windows","linux"],"recommendations": 391982,"reviewsPositive": 462425,"reviewsNegative": 6069,"requiredAge": 0,"controllerSupport": "full","dlcCount": 1,"achievements": 51,"shortDescription": "The \"Perpetual Testing Initiative\" has been expanded to allow you to design co-op puzzles for you and your friends!","website": "http://www.thinkwithportals.com/","headerImage": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/620/faffc0f560786e2f05104a8d2fac837c6969bf13/header.jpg?t=1790187113"}
Review row example
One player review of Stardew Valley (negative reviews in English, newest first):
{"type": "review","query": "stardew valley","appId": 413150,"name": "Stardew Valley","reviewId": "237522395","url": "https://steamcommunity.com/profiles/76561198871833476/recommended/413150/","recommended": false,"review": "One of the most painfully boring and overhyped games I have ever tried to play.","language": "english","createdAt": "2026-10-12T04:32:30.000Z","updatedAt": "2026-10-12T04:32:30.000Z","votesUp": 22,"votesFunny": 4,"helpfulScore": 0.5074126720428467,"comments": 0,"playtimeAtReviewHours": 7.6,"playtimeTotalHours": 7.6,"authorSteamId": "76561198871833476","authorGamesOwned": 0,"authorReviews": 153,"steamPurchase": true,"receivedForFree": false,"earlyAccess": false,"steamDeck": true}
⚠️ Unknown apps and failed searches
An id Steam does not know, or one not sold in your store country, yields no row and is free; OUTPUT names it with the reason (in a real run: no such app on the Steam store (or not sold in this country) for id 1). A search term without matches is noted likewise. The run fails only when nothing at all answered.
View the results as a table or JSON in the Output tab and download them as JSON, CSV, Excel, XML, HTML or RSS, all fields or only those you pick.
💰 How much does Steam Scraper cost?
Steam Scraper is priced per event: 1.16 USD per 1,000 games (0.00116 USD each), with no monthly rental. Failed apps and searches cost nothing.
| You get | You pay |
|---|---|
| 100 games | 0.12 USD |
| 1,000 games | 1.16 USD |
| 10,000 games | 11.6 USD |
| 100,000 games | 116 USD |
Player reviews (on by default, switch off includeReviews for game rows only) are charged per review:
- Review: 0.29 USD per 1,000
💡 Apify's free plan gives you 5 USD of credit every month, enough for about 4,310 games at no cost. Set a spending limit per run and the Actor stops there.
⚖️ Steam Scraper vs. the alternatives
| Steam Scraper | Copying from Steam by hand | Typical Steam scrapers | |
|---|---|---|---|
| Game details and reviews in one run | ✅ | ❌ | often one or the other |
| Search by game name | ✅ | ✅ | often ids only |
| Positive or negative, language and date filters | ✅ | partly | varies |
| Prices in any store country | ✅ | one country | varies |
| Export, schedule, API and MCP | ✅ | ❌ | ✅ |
🔌 Integrations, API and MCP
Connect Steam Scraper to your AI agent (MCP)
Give Claude, ChatGPT, Cursor or any MCP client direct access to Steam Scraper through the Apify MCP server. Add this URL to its settings:
https://mcp.apify.com/?actors=bepolabs/steam
For Claude Desktop, add it under mcpServers in claude_desktop_config.json:
{"mcpServers": {"steam": {"command": "npx","args": ["-y","@apify/actors-mcp-server","--actors","bepolabs/steam"],"env": {"APIFY_TOKEN": "<your Apify API token>"}}}}
Then ask: "Get the 100 newest negative English reviews of Stardew Valley and summarise the top complaints."
Run it from your code
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("bepolabs/steam").call(run_input={"appIds":["620","https://store.steampowered.com/app/1145360/Hades/"],"maxReviewsPerGame":20})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('bepolabs/steam').call({"appIds":["620","https://store.steampowered.com/app/1145360/Hades/"],"maxReviewsPerGame":20});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
No-code integrations
Send results to Google Sheets, Slack, Airtable, HubSpot, Make, Zapier, n8n and more from the Integrations tab, start runs on a schedule, or trigger your own endpoint with a webhook when a run finishes. The Apify API gives you full control over runs and datasets.
❓ FAQ
Why does reviewsTotal differ from the number of reviews I got?
The totals on the game row are Steam's game-wide figures in all languages. The review rows follow your filters and cap.
Why is a game missing?
Some apps are not sold in the chosen store country or are age-gated. Try another country; OUTPUT names the app and why.
Can I get only reviews, without game rows?
Yes: skip details for reviews alone, or drop reviews to keep only games.
How many reviews can I get?
Up to 10,000 per game per run (maxReviewsPerGame), up to 200 games per run.
Do I need a Steam API key?
No. The Actor uses the public JSON endpoints the Steam store page itself uses.
Is it legal to use Steam Scraper?
The Actor reads store and community data from the JSON endpoints the Steam store page itself calls, one title at a time and far below the rate limits. It collects no personal profile data beyond the Steam id shown on each review. Not affiliated with or endorsed by its owner; Steam is a trademark of Valve Corporation. Opinions are written by players: you are responsible for how you use and republish them.
What if something is missing or does not work?
Open an issue on the Issues tab; we read each one and reply. Feature requests are welcome too.
💬 Your feedback
Tell us what Steam Scraper should add on the Issues tab or leave a review; your notes decide what we work on next.
🔗 Related Actors
| Actor | What it does |
|---|---|
| ⭐ App Store Reviews | iOS App Store reviews with stars, text, app version and date, plus the app's rating and details, for any store country. |
| 🧩 Chrome Web Store Scraper | Users, rating, version, last update, developer, category and permissions of any Chrome extension. |
| 🛍️ Shopify Products | Any Shopify store URL to every product, with variants, prices, sale prices, SKUs, stock and images. |
| 📦 npm and PyPI Package Data | Versions, downloads, licences, maintainers and release history of npm and PyPI packages in one table. |
| 📢 Google Ads Transparency Scraper | Every ad a company runs on Google, by domain, advertiser ID or name, from the Ads Transparency Center. |
| 📊 Google Sheets Import and Export | Send any Apify dataset or JSON to a Google Sheet (append, replace or upsert by key), or read a sheet back as clean rows. |
| 📈 Google Trends Scraper | Interest over time for up to five keywords on one 0 to 100 scale, any country or worldwide, plus top and rising related queries. |
| 📈 Wikipedia Pageviews | Daily or monthly views of any Wikipedia article in any language, with totals and averages, from the official Wikimedia API. |