Steam Insights Scraper — Games, Reviews, Players avatar

Steam Insights Scraper — Games, Reviews, Players

Pricing

from $0.005 / game scraped

Go to Apify Store
Steam Insights Scraper — Games, Reviews, Players

Steam Insights Scraper — Games, Reviews, Players

Steam games, paginated reviews, concurrent players & peaks, owner estimates, sentiment evolution, top reviewers by playtime, history deltas across runs. Multi-region pricing, multi-language reviews. Built for game studios, publishers, VCs hunting indie hits, and AI/RAG pipelines.

Pricing

from $0.005 / game scraped

Rating

0.0

(0)

Developer

Yuliia Kulakova

Yuliia Kulakova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Steam Insights Scraper

Games, reviews, concurrent players, owner estimates, sentiment trends and history deltas — turn Steam into a structured intelligence feed.

Steam Insights Scraper


Why this scraper

Steam is the world's largest PC gaming platform — but the storefront only shows you the current state of a game. There's no easy way to track how a launch is performing day over day, who the most engaged reviewers are, when a price dropped, or which genres are heating up. Generic scrapers dump every game and let you sort it out downstream — and they don't tell you anything about velocity, sentiment shift, or aggregate developer reputation.

This scraper turns Steam into a structured data feed you can pipe straight into your CRM, dashboard, LLM, or spreadsheet. Pull catalog details and paginated user reviews, see live concurrent players and peaks, get owner estimates, compare recent sentiment vs lifetime, surface top long-playtime reviewers, and track how a game grows between runs.


What you get

Game records with rich context

  • Name, type (game / DLC / hardware), short description, header image
  • Developers, publishers, release date, "coming soon" flag
  • Current price, original price, discount percent and tier (small / moderate / major / deep)
  • Genres, Steam categories, supported platforms (Windows / Mac / Linux)
  • Metacritic score (when available), total recommendations, age rating, content descriptors
  • Multi-region pricing — pick any country code and language

Paginated user reviews (opt-in)

  • Up to 5,000 reviews per game in a single run
  • Full review text (HTML / BBCode stripped), language, vote counts
  • Author profile per review: total games owned, lifetime playtime, playtime at the moment of the review, last-played timestamp
  • Sort by "recent" (newest), "updated" (recently edited), or "all" (most helpful first)
  • Filter reviews by language

Concurrent player counts (opt-in)

  • Current live player count
  • 24-hour peak
  • All-time peak

Owner estimates (opt-in)

  • Bucketed owners range (e.g. "20,000,000 .. 50,000,000")
  • Lifetime positive vs negative review tallies
  • Recent activity signal

Per-game analytics (computed for you)

  • pointsPerHour-equivalents: recommendations growth tracked across runs
  • Discount tier classification
  • Sentiment evolution: recent fetched window vs lifetime positive ratio + trend label (improving / stable / declining)
  • Top reviewers ranked by a "trusted reviewer score" — weighted by playtime, vote count, and whether they bought the game on Steam
  • Steam-purchase share (how many reviews are from verified Steam buyers vs external gifts)
  • Average playtime at the moment reviewers wrote their reviews
  • Early-access review share

Developer rollups

  • Per developer or publisher: total game count, aggregate Metacritic average, total recommendations across portfolio
  • Useful for tracking entire studios (e.g. all CD PROJEKT RED titles, or every game from a small indie team)

History delta tracking across runs

  • Persistent per-game snapshot store
  • On every subsequent run, each game record includes history.delta: playersDelta, peak24hDelta, recommendationsDelta, recommendationsPerHour, priceDeltaCents, priceDropDetected, discountChange, trend (up / down / flat / unknown)
  • See exactly how a release ramped overnight, when a sale started, or how player counts decayed over the long tail

Input-time filters (the headline differentiator)

  • Minimum positive review percent
  • Minimum total recommendations
  • Minimum owner estimate
  • Price range (in cents)
  • "On sale only" toggle
  • Genre whitelist
  • Filters apply before expensive review fetches and third-party enrichment — you only pay for records that pass

Use cases

WhoWhat they pull
Game studiosCompetitor monitoring — full review streams from rival launches, sentiment drift over time
PublishersVerified Steam-purchase review ratios, reviewer playtime distributions, multi-region pricing
PR & comms teamsWhen discount or rating shifts trigger media attention — track in real time
VC investorsHit indie discovery — small studio with breakout recommendations growth, sub-10M owners but climbing
Game journalistsSentiment shift signals; reviewer karma rankings; trending genres in featured lists
AI / RAG engineersMulti-language opinion-rich text corpus (English, Russian, Chinese, Japanese, Polish, Spanish, …) for training and retrieval
Resellers & key sitesDiscount tier tracking; deep-discount detection; price drop signals via history delta
Solo devs / indie studiosPortfolio analysis — see your aggregate review tone, owner estimates, time-on-front-page

Quick start

Drop this into the Input panel and run:

{
"lists": ["top_sellers"],
"maxGamesPerList": 30,
"includeSteamSpy": true
}

You'll get the current Steam top sellers with owner estimates and discount classification — typically under 15 seconds.


Common input examples

One specific game with the full enrichment stack

{
"appIds": ["413150"],
"includeReviews": true,
"maxReviewsPerGame": 100,
"reviewFilter": "recent",
"includeSteamSpy": true,
"includeConcurrentPlayers": true
}

Pulls Stardew Valley plus the 100 newest reviews, live player count, owners range, and full analytics block (sentiment trend, top reviewers, average playtime at review).

A studio's complete portfolio

{
"appIds": ["1091500", "292030", "20920"],
"includeReviews": true,
"maxReviewsPerGame": 20,
"includeSteamSpy": true,
"includeConcurrentPlayers": true
}

Three CD PROJEKT RED titles — you get individual game records plus an aggregated developer record with average score and total recommendations across the portfolio.

Discover by genre with quality gate

{
"lists": ["specials", "new_releases"],
"maxGamesPerList": 20,
"onSaleOnly": true,
"genres": ["Indie", "RPG"],
"includeSteamSpy": true
}

Filters out anything that isn't on sale AND tagged Indie or RPG before any review fetches — cost-efficient discovery.

Hit-indie hunting (canonical / proven titles only)

{
"queries": ["roguelike", "souls"],
"minOwners": 500000,
"includeSteamSpy": true,
"maxGamesPerQuery": 15
}

Search Steam for "roguelike" and "souls", keep only games with at least 500,000 estimated owners.

Daily monitor with history tracking

{
"lists": ["top_sellers"],
"maxGamesPerList": 50,
"includeSteamSpy": true,
"includeConcurrentPlayers": true,
"enableHistory": true,
"historyStoreName": "steam-daily-watch"
}

Run on a schedule. Every run after the first includes history.delta showing how each game has moved.

Localized pricing and reviews

{
"appIds": ["1091500", "413150"],
"countryCode": "ru",
"language": "russian",
"includeReviews": true,
"reviewLanguage": "russian",
"maxReviewsPerGame": 30
}

Pull two games with Russian-language store descriptions, ruble pricing, and reviews filtered to Russian only.


Output overview

Three record types in the dataset:

Game

FieldDescription
type"game"
appIdSteam app ID
name, type_steamTitle and Steam type (game / dlc / hardware)
shortDescription, headerImage, websiteMarketing assets
developers, publishersArrays (multi-dev co-productions supported)
releaseDate, comingSoon, isFreeRelease status
currency, price, priceCents, priceInitialCentsLocalized pricing
discountPercent, isOnSaleDiscount status
genres, categoriesSteam-side classification
platforms{ windows, mac, linux }
metacriticScore, metacriticUrlIf indexed by Metacritic
totalRecommendationsLifetime tally
ageRequired, contentDescriptorsAge rating and content notes
screenshotsCount, moviesCountAsset counts
supportEmail, supportUrlCustomer support contacts (when public)
url, permalinkPublic Steam store URL
steamSpyowners range, lifetime positive / negative tallies (when included)
playerCountscurrentPlayers, peak24h, allTimePeak (when included)
reviewSummaryLifetime + fetched-window positive % (when reviews fetched)
analyticsdiscountTier, sentimentTrend, topReviewers[], average playtime, Steam-purchase share, etc.
historyisNew, snapshotCount, previous, delta, series (when tracking on)

Review

FieldDescription
type"review"
id, appIdReview ID + parent game
language, textBody (HTML / BBCode stripped)
votedUp, votesUp, votesFunny, weightedVoteScoreVote tallies
steamPurchase, receivedForFree, earlyAccessSource flags
createdAt, updatedAtISO timestamps
authorsteamId, numGamesOwned, numReviews, playtimeAtReviewMinutes, playtimeForeverMinutes, playtimeLastTwoWeeksMinutes, lastPlayedAt

Developer

FieldDescription
type"developer"
nameDeveloper or publisher name
gameCountNumber of titles in this run from this entity
gamesArray of { appId, name }
averageScoreAverage Metacritic across portfolio (when scores available)
totalRecommendationsSum of recommendations across portfolio

Pricing

ChargeCost
Actor start$0.01 per run
Game scraped$0.005 per game (or job listing / DLC)
Review scraped$0.001 per review
Developer profile scraped$0.005 per developer

Records are only counted after filters pass — you don't pay for games dropped by minOwners, genres, onSaleOnly, or priceMax. Reviews and developer rollups are opt-in.

Worked examples:

ScenarioGamesReviewsDevsCost
30 top sellers, no reviews300~25$0.29
100 search results (no reviews)1000~80$0.91
1 viral game + 500 reviews + author profile15001$0.52
Top 20 sellers + 50 reviews each20100015$1.18
Daily watchlist of 50 popular games50030$0.41
Deep weekly review: 200 games + 50 reviews each20010,000100$11.51

Reviews are intentionally priced low so that comment-stream analytics and AI/RAG workloads stay affordable.


Proxies

Proxies are included and configured automatically. No setup required.


FAQ

Do I need a Steam developer key or account? No. Everything this scraper reads is public data accessible without login. Pass an input, get a dataset.

Does it work for all regions? Yes. Pass countryCode (two-letter ISO, e.g. us, gb, de, jp, ru) and language to get localized pricing and store descriptions. Reviews can be language-filtered independently with reviewLanguage.

How many reviews can I pull per game? Up to 5,000 per game per run, capped by maxReviewsPerGame. The Steam reviews stream is paginated server-side and we walk the cursor for you.

Are concurrent player counts live? Yes — currentPlayers reflects the live count at the moment of the run, and peak24h is the rolling 24-hour peak. Note that not every game on Steam has a tracked player-count history (small titles are sometimes missing); when that's the case the playerCounts field is simply absent.

Why is the owners field showing 0 .. 20,000 for a new release? Owner estimates come from a daily-refreshed third-party index that lags by 1–7 days behind Steam launches. Games released this week often show the default 0 .. 20,000 bucket until the index catches up. For freshly-launched games, use minRecommendations instead of minOwners as your quality gate.

Does this do sentiment analysis with AI? No — and that's deliberate. We return raw review text, lifetime/recent positive ratios, and per-reviewer playtime weighting. Sentiment NLP is a downstream concern; bring your own model and feed it the corpus we provide. This keeps pricing flat and the data unopinionated.

How does history tracking work? Turn on enableHistory: true and pick a historyStoreName. On every run, each game's current state (review score, recommendations, price, current player count, 24h peak) is snapshotted under that name. From the second run onward, every game record includes a history.delta block with the change since the previous run, expressed as raw deltas and per-hour rates.

Can I track price drops automatically? Yes — when history tracking is enabled, every game record carries history.delta.priceDeltaCents and history.delta.priceDropDetected: true whenever the current price is lower than the previous snapshot. Schedule the actor every few hours and pipe to a webhook for instant alerts.

Can I get Workshop mods or community pages? No — those are out of scope here. This actor focuses on store content, reviews, and player metrics.

Can I export to CSV / XML / RSS? Apify supports all of those formats out of the box — pick your format in the "Export results" panel after a run finishes.

Will this work on a free Apify plan? Yes. Typical runs cost cents, well within the free tier's monthly compute budget.


Limits (the honest list)

  • Owner estimates are bucketed ranges (e.g. "5,000,000 .. 10,000,000"), not exact counts. The data source publishes them this way on purpose — Steam itself doesn't expose precise owner numbers.
  • Owner estimates lag 1–7 days behind fresh releases (see FAQ).
  • Concurrent player history is not available for every game. Most popular titles are tracked; obscure small releases sometimes aren't. When unavailable, the playerCounts field is simply absent.
  • Sentiment analysis is not included. You get raw review text and aggregate positive/negative ratios — bring your own NLP if you need topic / emotion classification.
  • Review trees / replies are not supported because Steam reviews are flat (no nested reply threads, unlike Reddit or YouTube).
  • No Workshop / mod scraping. Out of scope.
  • No real-time push / streaming. This is a batch scraper. Schedule it on Apify's cron and pipe to a webhook for near-real-time workflows.
  • No login-required content. Everything we return is public — Steam doesn't gate most game data behind auth, so this is rarely a constraint.

Maintained by brilliant_gum on the Apify platform. Open an issue on the actor page for bugs, feature requests, or pricing questions.