Steam Reviews Scraper — Game Reviews, Prices & Tags avatar

Steam Reviews Scraper — Game Reviews, Prices & Tags

Pricing

from $0.50 / 1,000 reviews

Go to Apify Store
Steam Reviews Scraper — Game Reviews, Prices & Tags

Steam Reviews Scraper — Game Reviews, Prices & Tags

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

4 days ago

Last modified

Categories

Features

Limited permissions

Share

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.

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)
authorNameReviewer's Steam display (persona) name as shown on the review
authorUsernameReviewer's custom profile URL handle (steamcommunity.com/id/<handle>/) when they set one, otherwise null
authorUrlReviewer's public Steam Community profile URL
authorIdReviewer's SteamID64 as a string (same value as authorSteamId)
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",
"authorName": "_kinix",
"authorUsername": null,
"authorUrl": "https://steamcommunity.com/profiles/76561199800017251/",
"authorId": "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.

Monitor changes on a schedule

Turn on Only new or changed items and save the input as a task with a Schedule (Apify Console: Saved tasks -> Schedule, for example daily). Each run then remembers what earlier runs of the same input returned and outputs only what is new: new reviews in reviews mode, and apps whose price, discount or release date changed in details and search mode. Unchanged items are skipped before they are saved, so they are not charged; the per-app review summary is output on the first run only. Add Only reviews newer than (2 days, 24 hours or a date like 2026-10-01) to bound how far back the first run reads; reviews are then read newest first and paging stops as soon as a page reaches older or already-seen reviews. Monitored items carry changeType (new or changed) and, for changed apps, previousValues with the old values of the fields that changed (e.g. {"price": 19.99}). Use Monitoring key to keep several schedules on the same input apart.

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. For each review it exports the reviewer identity Steam shows next to the review: display (persona) name, public profile link, custom profile handle when set, and Steam ID, plus the playtime and library/review counts Steam prints on the review. It does not log in, does not open user profiles and does not collect avatars, online status, emails or other contact details. Reviewer names, handles, profile links and Steam IDs are personal data under GDPR and similar laws: make sure you have a lawful basis for processing them, and do not use them to contact or profile individuals. 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.

Found it useful?

A ★ review on this Actor's Apify Store page helps other users find it and tells us what to improve. Issues and feature requests are welcome in the Actor's Issues tab.

⌂ 换网址