Steam Price & Market Monitor
Pricing
from $6.00 / 1,000 results
Steam Price & Market Monitor
Track Steam game prices and discounts — including exactly when each sale ends — plus live player counts, and Community Market item prices with listing counts and 24h volume. Monitor mode alerts you to price drops and sales starting or ending between runs.
Pricing
from $6.00 / 1,000 results
Rating
0.0
(0)
Developer
Sasha Ebashu
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Tracks Steam game prices and discounts — including exactly when each sale ends — and Community Market item prices with listing counts and 24-hour volume. In monitor mode it tells you what moved since the last run.
Uses Steam's own public APIs. No key, no login, no browser, no CAPTCHA solving.
Two modes
Store — games
Price, original price, discount % and discountEndsAt: the exact moment the sale expires.
That last one turns a price list into a deadline — «$17.99 instead of $59.99, until 10 August».
Optional extras, each one request per game:
fullDetails— developers, publishers, genres, platforms, release date, Metacritic, plus Steam's own review verdict (reviewScoreDesc, e.g. "Overwhelmingly Positive", with the total review count).withPlayerCount—playersOnline, how many people are in the game right now. Counter-Strike 2 reads 672,128 as this is written. It is the demand signal a price-only scraper cannot give you.
Games come from any mix of: search by name, exact app IDs, or Steam's own collections
(specials, top_sellers, new_releases, coming_soon).
Market — Community Market items
CS2 skins, TF2 hats, Dota sets, trading cards. Per item: cheapest listing price, how many are listed, median price, 24-hour sales volume, item type, rarity colour, tradability and icon. Price plus liquidity is what a trader actually reads.
Pick the game with marketAppId: 730 = CS2 (~34,700 items), 440 = Team Fortress 2 (~41,600),
570 = Dota 2 (~33,700), 252490 = Rust.
Monitor mode
Compares against the previous run for the same search and country:
changeType | Means |
|---|---|
new | First time seen in this scope |
discount_start | A sale just began |
discount_end | The sale is over |
price_down / price_up | The price moved with no change in sale status |
unchanged | Nothing moved |
Sale start and end are checked before the plain price comparison, because a drop caused by a
sale is a different event from a permanent price change — only the former reverts. Rows also carry
previousPrice, priceLow30 and priceHigh30.
Turn on Output only changed items so each run returns just what moved.
Input
| Field | What it does |
|---|---|
| What to track | store (games) or market (Community Market items). Everything below is tagged with the mode it applies to. |
| Search | Game names in store mode, item keywords in market mode. |
| App IDs (store) | Exact games, e.g. 730. Skips search entirely. |
| Collections (store) | Steam's own lists: specials, top_sellers, new_releases, coming_soon. Default specials — this is also the only source of discountEndsAt. |
| Full game details (store) | Developers, publishers, genres, platforms, release date, Metacritic, review verdict. One request per game. |
| Add live player count (store) | playersOnline — how many people are in the game right now. One request per game. |
| Market app (market) | Which game's items: 730 CS2, 440 TF2, 570 Dota 2, 252490 Rust. |
| Add median price & 24h volume (market) | Liquidity data per item. On by default. |
| Country / currency | Pricing region, e.g. us, de, ru. Some titles have no price in some regions. |
| Max pages (market) | The Market returns 10 items per page whatever you ask for, so pagination moves in tens. |
| Max results / Max concurrency | Overall row cap (0 = no cap) and parallel requests (default 4). |
| Monitor mode / Output only changed items | The alert behaviour above. |
Notes & limits
Properties of Steam's API, measured rather than assumed:
- Prices come 50 games per request, full details one at a time.
appdetailsaccepts a batch of app IDs only withfilters=price_overview; asking for full data on two IDs returns nothing. That is whyfullDetailsis opt-in and flagged as costing one request per game. - The Market returns 10 items per request whatever
countsays (verified up to 200), so market pagination moves in tens and a whole-game dump is expensive — narrow it with a keyword. - No rate limiting at a sane pace — twelve rapid price lookups in a row all returned 200 — but the Actor still backs off and retries on HTTP 429.
- Some titles have no price in some regions.
cc=ruin particular returns no price for many games; those rows come back withprice: nullrather than a guess. - Sale end times come from Steam's featured collections, which is the only place
discount_expirationis published — a game found purely by search may therefore have a discount but nodiscountEndsAt. - Cost measured at $0.06 per 1,000 rows.