Steam Scraper: game prices, details and Steam reviews avatar

Steam Scraper: game prices, details and Steam reviews

Pricing

Pay per event

Go to Apify Store
Steam Scraper: game prices, details and Steam reviews

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

BEPO Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Features

Limited permissions

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

Steam Scraper: Game prices, details and player reviews from the Steam store, by app id, store URL or game name.

✨ 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:

  1. Create a free Apify account (the free plan includes 5 USD of monthly credit).
  2. Open Steam Scraper and click Try for free.
  3. Enter ids, links or titles, then choose game details, opinions or both.
  4. Click Start and wait for the run to finish (most runs take seconds).
  5. Download your data as JSON, CSV, Excel, XML or HTML, or send it straight to Google Sheets, Make, Zapier or your AI agent.

How Steam Scraper works

⬇️ 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.

FieldTypeWhat it doesDefault
App ids or store URLs (appIds)arraySteam app ids or store page URLs (e.g.["620"]
Search terms (searchTerms)arrayGame names to look up in the Steam store search (e.g.
Games per search term (maxGamesPerSearch)integerHow many store search matches to take per term.5
Game details (includeDetails)booleanOne row per game: price, discount, release date, developers, genres, platforms, Metacritic, review score and totals.true
Player reviews (includeReviews)booleanOne row per player review: text, recommended or not, playtime, helpful votes, language, date.true
Maximum reviews per game (maxReviewsPerGame)integerCap per game.100
Review order (reviewFilter)stringNewest written, newest updated, or most helpful first (Steam's own order)."recent"
Positive or negative (reviewType)stringAll reviews, only recommending ones, or only not recommending ones."all"
Review language (reviewLanguage)stringSteam language name (english, german, schinese, ...) or all."all"
Reviews since (since)stringKeep reviews written (or, with Recently updated, updated) on or after this date, e.g.
Store country (country)stringTwo-letter country code for prices and availability (us, de, gb, ...)."us"
Store language (language)stringLanguage of descriptions and genre names (english, german, ...)."english"
Maximum text length (maxTextLength)integerLong reviews and descriptions are cut to this many characters.5000
Retries per request (maxRetries)integerRetries with exponential backoff on network errors, 429 and 5xx.3

Steam Scraper input form

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.

Steam Scraper output table

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 getYou pay
100 games0.12 USD
1,000 games1.16 USD
10,000 games11.6 USD
100,000 games116 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 ScraperCopying from Steam by handTypical 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✅partlyvaries
Prices in any store country✅one countryvaries
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 ApifyClient
client = 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.

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.

ActorWhat it does
⭐ App Store ReviewsiOS App Store reviews with stars, text, app version and date, plus the app's rating and details, for any store country.
🧩 Chrome Web Store ScraperUsers, rating, version, last update, developer, category and permissions of any Chrome extension.
🛍️ Shopify ProductsAny Shopify store URL to every product, with variants, prices, sale prices, SKUs, stock and images.
📦 npm and PyPI Package DataVersions, downloads, licences, maintainers and release history of npm and PyPI packages in one table.
📢 Google Ads Transparency ScraperEvery ad a company runs on Google, by domain, advertiser ID or name, from the Ads Transparency Center.
📊 Google Sheets Import and ExportSend 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 ScraperInterest over time for up to five keywords on one 0 to 100 scale, any country or worldwide, plus top and rising related queries.
📈 Wikipedia PageviewsDaily or monthly views of any Wikipedia article in any language, with totals and averages, from the official Wikimedia API.