Steam Reviews & Games Scraper – Prices, Players & Top Sellers avatar

Steam Reviews & Games Scraper – Prices, Players & Top Sellers

Pricing

from $2.00 / 1,000 games

Go to Apify Store
Steam Reviews & Games Scraper – Prices, Players & Top Sellers

Steam Reviews & Games Scraper – Prices, Players & Top Sellers

Steam reviews and games scraper without login: user reviews via the new GetAppReviews API, review scores, prices and discounts by country, developers, genres, Metacritic, current player counts, top sellers, specials, new releases and store search. Pay per result.

Pricing

from $2.00 / 1,000 games

Rating

0.0

(0)

Developer

Enes Bulanık

Enes Bulanık

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Steam reviews and games scraper without login: user reviews via the new GetAppReviews API, review scores, prices and discounts by country, developers, genres, Metacritic, current player counts, top sellers, specials, new releases and store search. Pay per result.

Uses Steam's new GetAppReviews API. Valve retires the old appreviews endpoint on 22 Oct 2026. Steam reviews keep working after Valve switches off store.steampowered.com/appreviews. No API key needed.

Price: $2 per 1,000 games (full store record, review score and live player count included) and $0.30 per 1,000 reviews. Invalid ids and empty results are free.

What does Steam Scraper do?

It uses Steam's own public endpoints: the store appdetails API, store search and the official Steam Web API (IUserReviewsService/GetAppReviews for reviews and review scores, ISteamUserStats/GetNumberOfCurrentPlayers for live players). It turns them into one consistent game record:

  • Game info: appId, name, url, appType (game, dlc, demo...), developers, publishers, genres, categories (Single-player, Steam Achievements, Controller support...), platforms
  • Prices by country: regular price, current price, discountPercent, currency and formatted price for any store region (us, de, gb, tr, br, jp...)
  • Ratings: reviewScoreDesc (e.g. Very Positive), positive %, total, positive and negative review counts, Metacritic score, recommendations
  • Current players: players in game right now
  • Release: release date as shown and as ISO date, coming-soon flag
  • Extras: achievements count, DLC count, required age, controller support, supported and full-audio languages, short description, header and capsule images, website, screenshot and video counts, Steam tag ids
  • Reviews: text, recommended or not, playtime at review, language, date, helpful and funny votes, Steam purchase / free key / Early Access flags, developer response

Modes

ModeWhat you get
topSellers (default)Steam's global top sellers chart for your country
specialsDiscounted games, biggest sales first
newReleasesPopular new releases
comingSoonPopular upcoming games
searchStore search by keyword, with sorting and a max-price filter
appDetailsFull records for the app ids, store URLs or game names you enter
reviewsSteam user reviews of those apps via GetAppReviews, filtered by language(s), positive/negative, purchase type, newest, updated, most helpful or funniest
currentPlayersLive player counts for those apps (compact record)

Details

  • One Actor for four data types. Store data, review scores, user reviews and live player counts.
  • Real prices per country. Set country and get local prices and currency.
  • No browser. It makes plain HTTP calls to Steam endpoints. The default run (top 10 sellers with full details) takes about 15 seconds.
  • Steam API change. Valve retires the old appreviews JSON endpoint on 22 Oct 2026. This Actor already reads reviews from the official replacement, IUserReviewsService/GetAppReviews. The old endpoint is kept only as an automatic fallback until it is switched off.
  • No reviewer identities. Reviews include only the reviewer's playtime and review/game counts. Steam IDs, names, avatars and profile links are never output.
  • Errors are free. Unknown app ids, delisted games and empty searches produce a free error row.

Use cases

  • Game market research: track top sellers, new releases and discounts by country, genre and price.
  • Price tracking and deal alerts: run specials daily and alert on discounts above 50%.
  • Player sentiment analysis: pull thousands of reviews, filter negative ones, and feed them to an LLM to find common complaints.
  • Live game health dashboards: schedule currentPlayers for your game and competitors every hour.
  • Publisher and investor scouting: compare review scores, recommendations and player counts of indie hits.
  • Datasets for ML/AI: labeled review text (votedUp) in 25+ languages.

How to use it

  1. Click Try for free or Start.
  2. Pick a Mode. For appDetails, reviews and currentPlayers, enter Steam apps as ids (730), store URLs or names (Baldur's Gate 3).
  3. Optionally set Country (prices), Store language, Max games and review filters.
  4. Click Start and download the results, or connect them to Google Sheets, Make, Zapier, n8n, webhooks or the API.

Input

FieldTypeDescription
modeenumtopSellers (default), specials, newReleases, comingSoon, search, appDetails, reviews, currentPlayers
searchTermstringKeyword for search, e.g. roguelike
appIdsarrayApp ids, store URLs or names for appDetails, reviews and currentPlayers
maxItemsintegerMax games. Default 10
countrystringStore region / currency, e.g. us (default), de, gb, tr
languagestringStore language, e.g. english (default), german, schinese
sortByenumrelevance (default), released, reviews, name, priceAsc, priceDesc
onlyGamesbooleanSkip DLC, soundtracks and software in search and lists. Default true
maxPriceintegerMax price in whole currency units for search and lists. 0 = any
fetchDetailsbooleanFull store record per game in search and lists. Default true
includeReviewSummarybooleanAdd the all-languages review score. Default true
includeCurrentPlayersbooleanAdd live player counts. Default true
maxReviewsPerAppintegerReviews per app. Default 50
reviewFilterenumrecent (default), updated, all (most helpful, last 365 days), funny
reviewLanguagestringall (default), a Steam language such as english, or several: german,french
reviewTypeenumall, positive, negative
purchaseTypeenumall, steam, non_steam_purchase
proxyConfigurationobjectOptional, for very large runs

Example: German specials under €20

{
"mode": "specials",
"country": "de",
"language": "german",
"maxPrice": 20,
"maxItems": 100
}

Example: 500 newest negative English reviews of two games

{
"mode": "reviews",
"appIds": ["1091500", "Baldur's Gate 3"],
"maxReviewsPerApp": 250,
"reviewLanguage": "english",
"reviewType": "negative"
}

Output

Real output from test runs (shortened).

Game

{
"type": "game",
"mode": "appDetails",
"appId": 1086940,
"name": "Baldur's Gate 3",
"url": "https://store.steampowered.com/app/1086940/",
"appType": "game",
"rankInList": null,
"isFree": false,
"priceInitial": 59.99,
"priceFinal": 41.99,
"discountPercent": 30,
"currency": "USD",
"priceFormatted": "$41.99",
"platforms": ["windows", "mac"],
"releaseDate": "Aug 3, 2023",
"releaseDateIso": "2023-08-03",
"comingSoon": false,
"developers": ["Larian Studios"],
"publishers": ["Larian Studios"],
"genres": ["Adventure", "RPG", "Strategy"],
"categories": ["Single-player", "Multi-player", "Co-op", "Online Co-op", "Steam Achievements", "Full controller support", "Steam Cloud"],
"reviewScoreDesc": "Overwhelmingly Positive",
"reviewPositivePercent": 96.8,
"reviewCount": 861050,
"reviewsPositive": 833357,
"reviewsNegative": 27693,
"currentPlayers": 43391,
"metacriticScore": 96,
"metacriticUrl": "https://www.metacritic.com/game/pc/baldurs-gate-3?ftag=MCD-06-10aaa1f",
"recommendations": 757845,
"achievementsCount": 54,
"requiredAge": 17,
"controllerSupport": "full",
"dlcCount": 2,
"shortDescription": "Baldur’s Gate 3 is a story-rich, party-based RPG set in the universe of Dungeons & Dragons...",
"headerImage": "https://shared.akamai.steamstatic.com/store_item_assets/steam/apps/1086940/48a2fcbda8565bb45025e98fd8ebde8a7203f6a0/header.jpg?t=1777363040",
"website": "https://baldursgate3.game",
"supportedLanguages": ["English", "French", "German", "Spanish - Spain", "Polish", "Russian", "Simplified Chinese", "Turkish"],
"fullAudioLanguages": ["English"],
"screenshotsCount": 19,
"moviesCount": 6,
"tagIds": [],
"scrapedAt": "2026-10-07T21:12:24.990Z"
}

In list modes rankInList is the position in the chart, and tagIds holds the Steam tag ids from the search page.

Review

{
"type": "review",
"appId": 620,
"recommendationId": "237009238",
"language": "english",
"votedUp": false,
"text": "Portal 2 is honestly not that good. I REALLY wanted to like this game...",
"playtimeHours": 19.5,
"playtimeForeverHours": 19.5,
"playtimeLastTwoWeeksHours": 0.8,
"authorNumReviews": 9,
"authorNumGamesOwned": null,
"createdAt": "2026-10-05T23:32:25.000Z",
"updatedAt": "2026-10-05T23:33:27.000Z",
"votesUp": 0,
"votesFunny": 0,
"weightedVoteScore": 0.4317,
"commentCount": 0,
"steamPurchase": true,
"receivedForFree": false,
"writtenDuringEarlyAccess": false,
"primarilySteamDeck": false,
"developerResponse": null,
"url": "https://store.steampowered.com/app/620/"
}

Current players (currentPlayers mode)

{ "type": "game", "mode": "currentPlayers", "appId": 730, "name": "Counter-Strike 2", "url": "https://store.steampowered.com/app/730/", "appType": "game", "currentPlayers": 854705 }

Error (free)

{ "type": "error", "appId": 99999999, "url": "https://store.steampowered.com/app/99999999/", "errorCode": "NOT_FOUND", "error": "Steam has no store page data for app 99999999 in country \"us\" (wrong id, delisted or region-locked)." }

Possible errorCode values: NOT_FOUND, NO_RESULTS, NO_PLAYER_DATA, INVALID_INPUT, RATE_LIMITED, FETCH_FAILED.

Field notes

  • Prices are in major units (41.99, not cents). Free games have isFree: true, price 0 and currency: null.
  • reviewScoreDesc and the review counts cover all languages when Include review score is on. Without it, list modes show Steam's search-page score, which is based on your store language.
  • authorNumGamesOwned is kept for compatibility but is null for reviews from GetAppReviews, because Steam's new API no longer returns the reviewer's game count. All other review fields are unchanged.
  • releaseDateIso is filled for English store dates. Other languages keep the localized releaseDate.
  • With fetchDetails: false, list and search records contain only the search-page fields: name, prices, discount, platforms, release date, review score and capsule image.

The dataset has ready-made views: Games overview, Game details, Reviews and Errors & status.

Pricing

Pay per event: you only pay for data you receive. Platform usage is included.

EventPriceWhen it is charged
game$0.002 per game ($2 / 1,000)Each game record saved, in any mode (review score and player count included)
review$0.0003 per review ($0.30 / 1,000)Each user review saved
ErrorsFreeUnknown ids, delisted apps, empty searches
JobCost
Default run (top 10 sellers, full details)$0.02
100 specials in Germany$0.20
5,000 reviews of one game$1.50
Hourly player counts for 10 games for a day24 × 10 × $0.002 = $0.48

Set Max cost per run in the run options and the Actor stops cleanly at your budget.

Use with AI agents (MCP)

This Actor works as a tool for AI agents through the Apify MCP server. Add it with https://mcp.apify.com?tools=openharvest/steam-scraper, or let the agent find it with search-actors ("steam reviews").

Example call-actor input an agent can use to answer "What do players complain about in Cyberpunk 2077 lately?":

{
"mode": "reviews",
"appIds": ["Cyberpunk 2077"],
"reviewType": "negative",
"reviewLanguage": "english",
"maxReviewsPerApp": 100
}

The agent reads text, playtimeHours and createdAt. This run takes a few seconds and costs $0.03.

FAQ

Does it still work after Steam retires the appreviews endpoint on 22 Oct 2026? Yes. Reviews and review scores already come from Steam's new Web API method IUserReviewsService/GetAppReviews. The old store.steampowered.com/appreviews/<appid>?json=1 endpoint is used only as a fallback while it still answers. The output fields are the same as before.

Do I need a Steam account or Web API key? No. Every endpoint used is public and keyless.

How many games or reviews can I get? Search and lists go through every result Steam shows (often thousands). For reviews, Steam returns everything that matches your filters via cursor pagination. Popular games have hundreds of thousands of reviews.

Why are some prices missing? Unreleased games, free games and apps not sold in your country have no price. A different country can also change availability.

Is there a rate limit? Steam allows about 200 store-detail requests per 5 minutes per IP. Keyless GetAppReviews calls share a lower limit. The Actor paces each endpoint separately and honors Retry-After. After an HTTP 429 it doubles the gap between requests, then speeds up again slowly. In tests it fetched 1,200 reviews of one game in about 17 seconds without being throttled. For runs with thousands of games, enable Apify Proxy or set fetchDetails: false, which needs one request per 50 games.

Can I get the full Steam app list? Steam removed the keyless GetAppList endpoint. Use search (for example sorted by released) or the list modes to discover apps, then appDetails.

Do you scrape user profiles? No. Reviews contain no Steam IDs, names, avatars or profile URLs, only playtime and the reviewer's review and game counts.

This Actor only reads publicly available store data that Steam shows to every visitor without login, through Valve's own public endpoints. It does not log in or collect personal data: reviewer identities are dropped. Review texts are user content and may be copyrighted, so use them for analysis rather than republishing. Make sure your use complies with the Steam Subscriber Agreement and applicable laws such as GDPR. If you are unsure, consult a lawyer.

  • Google Play Scraper (coming soon)
  • App Store Scraper (coming soon)
  • Crypto Market Data – Prices, DEX Pairs, New Tokens & OHLCV
  • Telegram Channel Scraper – Public Posts, Views & Media

Support & feedback

Found a bug or a missing field? Open an issue in the Issues tab with the app id and input you used.