Steam Charts Scraper: Concurrent Players & History
Pricing
Pay per event
Steam Charts Scraper: Concurrent Players & History
Scrape Steam Charts: top games ranked by live concurrent players with 30-day peaks and hours played, per-game stats (now playing, 24h peak, all-time peak) and monthly history back to 2012. Export CSV, Excel, JSON. No login or API key. 25 games per page.
Pricing
Pay per event
Rating
0.0
(0)
Developer
RecordsData
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
๐ Steam Charts Scraper: Concurrent Players, Peaks & Monthly History
Steam Charts Scraper is an Apify actor that exports Steam player data as structured rows: the most played games ranked by concurrent players (25 per page, up to 400 pages), the 24-hour gainers, Steam store charts (top sellers, new releases, discounts, coming soon) for 44 countries, per-game stats (playing now, 24-hour peak, all-time peak) and one row per month of average and peak players back to 2012. Optional store details add header image, genres, release date and description. An only-new mode returns just what changed. No login or API key. Export CSV, Excel, JSON or XML. Pay per row, nothing for errors or empty results.
Steam Charts Scraper, built by RecordsData, turns steamcharts.com and the Steam store into datasets. In a test run on 2026-10-04, Counter-Strike 2 was rank 1 with a 30-day peak of 1,450,705 players and an all-time peak of 1,818,368.
๐ฎ What does Steam Charts Scraper do?
It reads steamcharts.com and the Steam store and writes one dataset row per record:
- Top games (
top-game): rank, name, app ID, current players, 30-day peak and hours played. Walk up to 400 pages (the top 10,000 games) and useminCurrentPlayersto stop at a threshold. - 24-hour gainers (
gainer): the Trending block withchange24hPercent. It lists 5 games. - Store charts: top sellers, new releases, discounts or coming soon for one of 44 countries, with price, discount, release date and review score. Up to 500 positions.
- Per-game stats (
game-stats): players right now, 24-hour peak and all-time peak for any Steam app ID. - Monthly history (
monthly): one row per month with average players, gain and monthly peak, back to 2012 for old titles. - Store details (optional): header image, free-to-play flag, release date, genres and description.
- Only-new monitor (optional): schedule the run and receive only records not seen before.
Every row carries the Steam store link, the Steam Charts link and a scrapedAt timestamp.
๐ What data can I get from Steam Charts?
| Field | Record type | Meaning |
|---|---|---|
recordType | all | Kind of row: top game, gainer, store chart, game stats or monthly |
rank, chart | top-game, gainer, store chart | Position and store chart name |
appId, name | all | Steam app ID and game name |
currentPlayers | top-game, gainer | Concurrent players now |
change24hPercent | gainer | 24-hour change in players |
peakPlayers30d, hoursPlayed30d | top-game | 30-day peak and hours played |
playingNow, peak24h, allTimePeak | game-stats | Live, 24-hour and record peaks |
month, avgPlayers, gain, gainPercent, peakPlayers | monthly | One month of history |
price, priceText, discountPercent | store chart | Numeric price, price as the store shows it, discount |
releaseDate, region | store chart | Release date (ISO or Steam text) and store country |
isFree, genres, shortDescription, headerImage | with store details | Steam store metadata (optional) |
steamUrl, url, scrapedAt | all | Store page, tracker page, timestamp |
That is 32 data fields plus error. Fields that do not apply to a row are left out.
๐งช Steam Charts Scraper output sample (real run)
These rows come from a real run on 2026-10-04 (input: top list page 1, app ID 730), before the newer columns existed.
{"recordType": "game-stats","appId": "730","name": "Counter-Strike 2","playingNow": 530797,"peak24h": 1182939,"allTimePeak": 1818368,"steamUrl": "https://store.steampowered.com/app/730/","url": "https://steamcharts.com/app/730","scrapedAt": "2026-10-04T05:04:56.555Z"}
A monthly row from the same run:
{"recordType": "monthly","appId": "730","name": "Counter-Strike 2","month": "Last 30 Days","avgPlayers": 806812.49,"gain": 1174.7,"gainPercent": "+0.15%","peakPlayers": 1450705,"scrapedAt": "2026-10-04T05:04:56.575Z"}
๐ฐ How much does Steam Charts Scraper cost?
Pay per event, charged only for rows that are saved to the dataset. Prices on the Free plan tier (higher Apify plans pay less on game stats):
| Event | Price | You get |
|---|---|---|
top-game-record | $0.010 per row ($10 per 1,000) | One ranked game, one gainer or one store chart row |
game-stats-record | $0.012 per row ($0.010 on Gold and above) | One game with live, 24h and all-time peak |
monthly-record | $0.010 per row ($10 per 1,000) | One month of history |
Store details are included in the row price. Error rows, "app not tracked" rows, rows skipped by the only-new monitor and empty results are never charged. The actor stops cleanly when your maxTotalChargeUsd or maxItems is reached. Free Apify users get a 10-row preview per run.
Example: top 100 games is 100 rows, about $1.00. The top 1,000 games is 1,000 x $0.010 = $10.00. The 25 top sellers in Japan plus the 5 gainers is 30 rows, about $0.30. Five years of monthly history for one game is the stats row plus 60 monthly rows, about $0.61. A scheduled only-new run that finds nothing new costs $0.00.
๐ How do I use Steam Charts Scraper?
- Open the actor on Apify and click Try for free.
- Choose how many top pages to walk, a store chart and country, and/or paste Steam app IDs such as
730or570. - Click Start, then download the dataset as CSV, Excel, JSON or XML.
โ๏ธ Steam Charts Scraper input
| Field | Default | Description |
|---|---|---|
includeTopGames | true | Scrape the top games list ranked by concurrent players |
maxTopPages | 4 | Pages of the top list (25 games each, 1 to 400) |
minCurrentPlayers | 0 | Keep only games with at least this many players now |
includeGainers | false | Add the 24-hour gainers (usually 5 games) |
storeChart | none | topsellers, newreleases, specials or comingsoon |
region | us | Store country for the chart (44 countries) |
maxChartItems | 25 | Store chart positions, up to 500 |
appIds | none | Steam app IDs or steamcharts.com / store URLs for per-game stats and history |
includeMonthlyHistory | true | Add one row per month for each app ID |
maxMonthsPerGame | 60 | Cap on monthly rows per game (60 is five years, up to 200) |
includeStoreDetails | false | Add image, free flag, release date, genres, description |
onlyNew, stateKey, resetSeen | false, empty, false | Monitor mode: deliver only unseen records, name the monitor, reset it |
maxItems | unlimited (10 on Free) | Hard cap on total rows delivered and charged |
Example input:
{"includeTopGames": true,"maxTopPages": 2,"includeGainers": true,"storeChart": "topsellers","region": "jp","maxChartItems": 25,"appIds": ["730", "570"],"includeStoreDetails": true,"includeMonthlyHistory": true,"maxMonthsPerGame": 24,"maxItems": 200}
๐ฆ Steam Charts Scraper output
Rows land in the default dataset, which lists 32 data fields plus error in six views. Rows are de-duplicated before they are charged. The monthly gain of a game's oldest month is omitted, and numbers that cannot be parsed are omitted instead of written as 0. Unreadable app IDs and a run with nothing selected end as SUCCEEDED with a free error row.
โ๏ธ How does it compare with other Steam Charts scrapers?
Read from the public Apify Store pages on 2026-10-10:
| This actor | jungle_synthesizer | maydit | |
|---|---|---|---|
| Player history | Monthly rows back to 2012 | Not shown on page | Not shown on page |
| Store charts and region | 4 charts, 44 countries | 5 chart types, region code | Pricing country only |
| Gainers, only-new mode | Both | Not shown on page | Change detection, no gainers |
| Store details | Image, genres, date, description | Release date and genres | Plus reviews, SteamSpy owners, tags |
| Price per 1,000 | $10 to $12 | From $0.50 | From $1.80 |
bakos_bence/steamcharts-players (from $1.00) returns ranked games with peaks and a gainers mode, with no history on its page. ninhothedev/steam-charts-scraper (from $0.50) returns live counts and peaks for chosen app IDs. We cost 5x to 20x more per row. Pick us for monthly history, one run mixing rankings, store charts and per-game stats, and the scheduled only-new monitor. Pick maydit for reviews, owner estimates and tags, which we do not return. Pick a cheaper actor for a plain snapshot of current counts.
๐ผ What can I use Steam Charts data for?
- Benchmarking and investor research: monthly player curves against rivals.
- Live-ops measurement: player lift after each patch or event.
- Content and media: "most played games right now" with citable numbers.
- Market monitoring: new releases and discounts by country, delivered only when new.
๐ How do I run Steam Charts Scraper from the API?
curl -X POST "https://api.apify.com/v2/acts/RecordsData~steam-charts-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"includeTopGames": true, "maxTopPages": 1, "appIds": ["730"], "maxItems": 50}'
With the apify-client package for Node.js or Python, call client.actor("RecordsData/steam-charts-scraper").call(runInput) and read the dataset items. The actor also plugs into Make, Zapier, n8n, Google Sheets and Slack through Apify integrations.
๐ค Steam Charts Scraper MCP server for AI agents
AI agents can call this Actor through the Apify MCP server at https://mcp.apify.com?tools=RecordsData/steam-charts-scraper. Add this to your MCP client configuration (Claude Desktop, Cursor, VS Code or any remote MCP client):
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=RecordsData/steam-charts-scraper"}}}
Example agent prompt:
Use the Steam Charts Scraper to get the top 25 Steam games by concurrent players and the current gainers, then pull 24 months of player history for Counter-Strike 2 (app ID 730) and tell me whether its average players are rising or falling.
Tool description: choose this Actor when an agent needs Steam concurrent-player data from steamcharts.com: the ranked top list, 24-hour gainers, a Steam store chart for a country, a game's live, 24-hour and all-time peaks, or its monthly average and peak history.
๐ก๏ธ Is it legal to scrape Steam Charts?
The actor reads public pages on steamcharts.com and the Steam store at a polite rate (about one request per 1.2 seconds) and collects factual player counts, prices and metadata. It does not log in or bypass any access control. Check the sites' terms for your use,.
โ Steam Charts Scraper FAQ
Where do I find a game's Steam app ID for Steam Charts Scraper?
The Steam app ID is the number in the game's store URL, for example 730 in store.steampowered.com/app/730 for Counter-Strike 2. Top list rows already include appId, so copy it into the appIds input. Full steamcharts.com or store URLs are also accepted.
How far back does the monthly Steam Charts history go?
Steam Charts Scraper returns monthly history back to the first month steamcharts.com tracks for that game, as early as 2012. Each month is one row with average players, gain and peak players. Cap it with maxMonthsPerGame: the default of 60 gives five years, up to 200, and every monthly row is billed as one monthly-record event.
What is the difference between the three player peaks in Steam Charts Scraper?
In Steam Charts Scraper, playingNow is the live concurrent player count, peak24h is the highest count in the last 24 hours, and allTimePeak is the record since steamcharts.com started tracking the game. The top list adds a 30-day peak.
Why did my Steam Charts Scraper run return 0 results?
Either no input was selected, so turn on includeTopGames or add appIds, or the app ID is not tracked on steamcharts.com. In both cases Steam Charts Scraper succeeds with a status message or a free error row and costs nothing. With onlyNew on, a run can be empty because every record was already seen. If steamcharts.com blocks the request or changes its layout, the run fails and charges nothing.
Am I charged for failed or empty rows in Steam Charts Scraper?
No. Steam Charts Scraper charges only for rows saved to the dataset, and error rows, app-not-tracked rows, rows skipped by the only-new monitor and empty results are written without a charge event. Set maxTotalChargeUsd or maxItems and the run stops cleanly when either is reached.
Can I try Steam Charts Scraper for free?
Yes. Free Apify users get a 10-row preview per run of Steam Charts Scraper, enough to check the ranking, per-game stats and monthly history columns on your own app IDs. Paid Apify plans unlock full runs and lower prices on the game stats event.
How many games can the Steam Charts top list return?
Steam Charts Scraper returns 25 games per page and can walk up to 400 pages, which is the top 10,000 games ranked by concurrent players on steamcharts.com. Set maxTopPages between 1 and 400 (default 4). Each ranked game is billed as one top-game-record event at $0.010 on the Free tier.
Is the Steam Charts Scraper data real time?
Steam Charts Scraper returns what steamcharts.com shows at the moment the run reads the page, and every row carries a scrapedAt timestamp in UTC. It is a snapshot, not a live stream, so schedule the actor daily or hourly and compare the exports, or use the only-new monitor.
What are the 24-hour gainers in Steam Charts Scraper?
The gainers are the Trending block on the steamcharts.com home page, with the 24-hour change in players. Steam Charts Scraper writes them as gainer rows with rank and change24hPercent when you turn on includeGainers. The page lists only 5 games, so expect 5 rows, billed like top game rows at $0.010 each on the Free tier.
How does the only-new monitor in Steam Charts Scraper work?
Turn on onlyNew and schedule the run. Steam Charts Scraper keeps a list of seen records in a named store in your account: a month of history once, a game when it first enters a list, gainers and game stats once per day. Seen records are skipped and not charged. Use stateKey for separate monitors and resetSeen to start over.
Which Steam store charts and countries does Steam Charts Scraper support?
Set storeChart to topsellers, newreleases, specials or comingsoon and pick a region from 44 countries. Each row has price, priceText, discountPercent, releaseDate and region, plus review fields when the game has reviews. Charts go up to 500 positions, billed as top-game-record. Review text and owner estimates are not returned.
๐ Want more Steam and game data?
๐ Support
Found a bug or missing field? Open the Issues tab on this actor's page, or write to contact.punkrecordsdata@gmail.com. Custom solutions are available on request.
Last updated: 2026-10-11