Steam Store & Reviews Scraper avatar

Steam Store & Reviews Scraper

Pricing

from $0.50 / 1,000 reviews

Go to Apify Store
Steam Store & Reviews Scraper

Steam Store & Reviews Scraper

Scrape Steam games and user reviews: search results, app details (price, discounts, tags, genres, release date, developer, platforms) and reviews with votes, playtime and language.

Pricing

from $0.50 / 1,000 reviews

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Scrape Steam games and user reviews: search results, app details (price, discounts, tags, genres, release date, developer, platforms) and reviews with votes, playtime and language.

Steam Store & Reviews Scraper reads the public JSON endpoints behind store.steampowered.com and turns them into a clean dataset. Three modes cover the whole funnel: search a keyword and get every result with price, discount and review score; pull details for any app ID (price in your region, user tags, genres, categories, release date, developers, Metacritic, achievements, DLC); or collect reviews with helpful/funny votes, playtime, purchase type and language, plus a per-app review summary (total positive/negative, "Very Positive"). No Steam account or API key is needed and mature (age-gated) games work. Download JSON, CSV or Excel, or use the API from Python, Node, n8n or Google Sheets. You pay only for the items you get.

What data does Steam Store & Reviews Scraper extract?

Every item has a type field: review, summary, app or search.

Review items (type: "review", mode reviews)

FieldDescription
appId, appNameSteam app ID and name
recommendationIdSteam's review ID
urlPublic review page on steamcommunity.com
languageSteam language code (english, schinese, russian, ...)
textReview text
votedUptrue = Recommended, false = Not recommended
votesUp, votesFunny, commentCountHelpful votes, funny votes and comments
weightedVoteScoreSteam's helpfulness score (0-1)
steamPurchase, receivedForFree, writtenDuringEarlyAccess, refunded, primarilySteamDeckPurchase and context flags
createdAt, updatedAtISO 8601 UTC timestamps
playtimeForeverMinutes, playtimeAtReviewMinutes, playtimeLastTwoWeeksMinutes, lastPlayedAtReviewer playtime in this game
numGamesOwned, numReviewsReviewer's public library size and review count
authorSteamIdPublic numeric Steam ID printed on every review (no profile is fetched)
reactions[{type, count}] award reactions on the review

Review summary items (type: "summary", one per app in mode reviews)

appId, appName, url, reviewScore (0-9), reviewScoreDesc (Very Positive), totalPositive, totalNegative, totalReviews, positivePercent. The totals respect your language/type/purchase filters.

App items (type: "app", mode details)

FieldDescription
appId, name, url, appTypeIdentity; appType is game, dlc, demo, music, ...
isFree, price, originalPrice, currency, discountPercent, priceFormattedPrice in the region given by Country code (price is a number, e.g. 59.99)
releaseDate, comingSoonRelease date text as shown on the store and the coming-soon flag
developers, publishersLists of names
genres, categoriesStore genres (Action) and categories (Multi-player, Steam Achievements)
tags, tagsDetailedTop 20 user tags in Steam's order; tagsDetailed adds id and count
platformsSubset of windows, mac, linux
metacriticScore, metacriticUrl, recommendationsTotalCritic score and total Steam recommendations
headerImage, capsuleImage, screenshots, moviesMedia URLs (trailers as HLS/DASH streams)
shortDescription, aboutTheGame, websitePlain-text descriptions
supportedLanguages, fullAudioLanguagesInterface languages and those with full audio
achievementsCount, dlcCount, dlcAppIds, packagesAchievements, DLC and purchasable package IDs
requiredAge, contentDescriptors, controllerSupportAge rating, mature-content notes and controller support

Search items (type: "search", mode search)

searchTerm, appId (or packageId/bundleId for bundles), name, url, price, originalPrice, currency, priceFormatted, isFree, discountPercent, releaseDate, reviewSummary (Overwhelmingly Positive), reviewPositivePercent, reviewCount, platforms, thumbnail, tagIds.

How to use Steam Store & Reviews Scraper

  1. Pick a Mode: reviews, details or search.
  2. For reviews and details, paste App IDs or store URLs (570, https://store.steampowered.com/app/730/Counter-Strike_2/), one per line. For search, enter Search terms.
  3. Set Max items (and optionally Max reviews per app) to cap the run and the cost.
  4. Optionally filter reviews by Review language, Review type (positive/negative) and Purchase type, or set Country code for prices.
  5. Click Start. Results appear in the Dataset tab; export from there or use the API.

Input example

{
"mode": "reviews",
"appIds": ["570", "https://store.steampowered.com/app/730/Counter-Strike_2/"],
"maxItems": 2000,
"maxReviewsPerApp": 1000,
"reviewsFilter": "recent",
"reviewLanguage": "english",
"reviewType": "all",
"purchaseType": "all"
}
{ "mode": "details", "appIds": ["1091500", "367520"], "countryCode": "de" }
{ "mode": "search", "searchTerms": ["hollow knight", "roguelike deckbuilder"], "maxItems": 200 }

Output example

{
"type": "review",
"appId": 570,
"appName": "Dota 2",
"recommendationId": "234729359",
"url": "https://steamcommunity.com/profiles/76561199800017251/recommended/570/",
"language": "english",
"text": "Still the deepest MOBA there is. 2000 hours and counting.",
"votedUp": true,
"votesUp": 12,
"votesFunny": 1,
"weightedVoteScore": 0.61,
"commentCount": 0,
"steamPurchase": true,
"receivedForFree": false,
"writtenDuringEarlyAccess": false,
"refunded": false,
"primarilySteamDeck": false,
"createdAt": "2026-09-07T21:16:37Z",
"updatedAt": "2026-09-07T21:16:37Z",
"playtimeForeverMinutes": 121955,
"playtimeAtReviewMinutes": 121952,
"playtimeLastTwoWeeksMinutes": 88,
"lastPlayedAt": "2026-09-07T21:19:12Z",
"numGamesOwned": 41,
"numReviews": 3,
"authorSteamId": "76561199800017251",
"reactions": []
}
{
"type": "app",
"appId": 1091500,
"name": "Cyberpunk 2077",
"url": "https://store.steampowered.com/app/1091500/",
"appType": "game",
"isFree": false,
"price": 59.99,
"originalPrice": 59.99,
"currency": "USD",
"discountPercent": 0,
"releaseDate": "Dec 9, 2020",
"comingSoon": false,
"developers": ["CD PROJEKT RED"],
"publishers": ["CD PROJEKT RED"],
"genres": ["RPG"],
"categories": ["Single-player", "Steam Achievements", "Full controller support"],
"tags": ["Cyberpunk", "Open World", "Nudity", "RPG", "Futuristic"],
"platforms": ["windows", "mac"],
"metacriticScore": 86,
"recommendationsTotal": 800000,
"achievementsCount": 57,
"dlcCount": 2,
"requiredAge": 17,
"supportedLanguages": ["English", "French", "German"]
}

How to scrape Steam reviews for a game

Set Mode to reviews and paste the app ID (the number in the store URL, store.steampowered.com/app/570/...). Reviews are read newest first, 100 per page, until Max items, Max reviews per app or the end of the list is reached, so a full history export of a game with 50,000 reviews takes 500 requests. Use Review language english to keep only English text, Review type negative to mine complaints, and Reviews order all to get Steam's most-helpful reviews first. The summary item gives the global totals so you can compute the positive ratio without downloading everything.

Does it work without a Steam account or API key?

Yes. Everything comes from the public store endpoints that the Steam website itself calls when you browse logged out; no Steam Web API key, account, session or cookies from your browser are needed. Mature (age-gated) games are handled automatically.

How to get Steam game prices and discounts

Use Mode details with the app IDs and set Country code to the store region you care about (us, gb, de, br, jp, ...). Each app item carries price, originalPrice, discountPercent and currency for that region, plus isFree and comingSoon. Schedule the Actor to track sales over time. For a quick overview of many games, Mode search returns price, discount and review score for every result in one request per 100 games.

Can I get Steam user tags, genres and Metacritic scores?

Yes. details mode returns the top 20 user-applied tags (tags, with vote counts in tagsDetailed), store genres and categories, metacriticScore, recommendationsTotal, achievementsCount, DLC IDs, supported languages, screenshots and trailer links.

What does it cost?

Pay per item: a review costs a fraction of a cent (a summary item is charged as one review), an app-details item a little more because it needs two requests, and a search result sits in between. There is no start fee and no subscription; Apify's free plan is enough to collect tens of thousands of reviews.

Integrations and API

Use the run in Zapier, Make, n8n, Google Sheets, or call it from Python/Node with the Apify client. See the API tab for ready-made snippets, or schedule the Actor to keep a review feed or price history fresh.

This Actor collects only publicly available data that Steam shows to anyone without an account: store listings, prices and user reviews. It does not log in, does not open user profiles and does not collect names, avatars, emails or other personal details; the only per-reviewer field is the public numeric Steam ID that Steam prints on every review page. You are responsible for how you use the data and for complying with Steam's terms and applicable law.

Support

Found a bug or need a field added? Open an issue in the Issues tab; it is usually answered within a day.