Discover games (deals, new releases, Steam Deck, rating)
discover_gamesFind games across Steam by combining filters: discount, release date, platform, compatibility, review score, and tags. Each result includes price, reviews, compatibility statuses, and store link.
Instructions
Find games across the whole Steam catalog (keyless), filtered by ANY combination of: discount (min_discount — for 'what's on sale'), release recency (released_after / released_within_days — for 'new games'), hardware compatibility (steam_deck/steam_os/steam_machine/steam_frame — see each field's own description), native OS build (platform — windows/mac/linux), review quality (min_review / min_reviews), and user tags (tags — e.g. ['Roguelike', 'Deckbuilding'] for 'games like X'). Each result returns price/discount, review %, all four compat statuses, a vr_support flag (none/supported/required), popular tags, a clickable store_url, discount_end (when a deal expires) and release date in one call. Examples: '>80% off with 90%+ reviews' → set min_discount + min_review; 'recent well-reviewed games that run on Steam Deck' → set released_within_days + steam_deck + min_review; 'roguelike deckbuilders on sale' → tags:['Roguelike','Deckbuilding'] + min_discount. No appids needed — unlike get_items, which prices a list you already have. For 'games like X' from a SINGLE named title, get its tags via get_items and pass them here; for taste inferred from the player's WHOLE library instead, use get_recommended_games (key-gated). Note: min_discount is filtered server-side and re-checked client-side (so it holds at any value); setting released_after/released_within_days excludes not-yet-released games server-side, but the exact date cutoff — plus compat, platform, review and tag filtering — has no server-side support in the Steam catalog API, so those are scanned popularity-first and applied afterward over that same window — great for popular titles; a niche match may fall outside the top count (raise count for stricter filters). At most 60 results come back per call, best discount first: compare returned against matched to see whether the list was capped, and narrow the filters or page with start for the rest.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Keep only games carrying ALL of these user tags (case-insensitive), e.g. ['Roguelike','Deckbuilding']. Use exact Steam tag names — a misspelled/unrecognized one isn't an error, it just matches nothing. Applied over the scanned popularity window, so raise `count` when combining niche tags. | |
| count | No | How many catalog entries to SCAN (1-200). Default 50. Not a result count — the filters below are applied over this window, so a strict combination can return far fewer than this; raise it for stricter filters. (Tools that cap what they RETURN call that `limit`.) | |
| start | No | Pagination offset into the catalog (default 0). | |
| country | No | Country (cc) for prices/currency; overrides STEAM_COUNTRY for this call. | |
| language | No | Store language (e.g. english, russian); overrides STEAM_LANGUAGE for this call. | |
| platform | No | NATIVE-build filter: keep only games shipping a native build for this OS (windows/mac/linux). 'linux' = a native Linux/SteamOS port. This is NOT Proton — for games that run via Proton compatibility use steam_os / steam_deck instead. Each result's `platforms` field lists its native builds, while steam_os/steam_deck report Proton compatibility, so native vs Proton stay distinct. | |
| steam_os | No | SteamOS compatibility — how well it runs on SteamOS in general (via Proton): 'verified' = SteamOS-Verified only; 'playable' = Playable or Verified. For a NATIVE Linux build instead, use platform:'linux'; for the Steam Machine console specifically, use steam_machine. | |
| min_review | No | Minimum positive-review %, e.g. 85. Applied over the returned page. | |
| steam_deck | No | Steam Deck compatibility (runs via Proton): 'verified' = Deck-Verified only; 'playable' = Playable or Verified. Not a native Linux build — see `platform` for that. | |
| min_reviews | No | Minimum review count (filters out games with too few reviews). | |
| steam_frame | No | Steam Frame (VR headset) compatibility: 'verified' = Frame-Verified only; 'playable' = Playable or Verified. | |
| min_discount | No | Minimum discount %, e.g. 80 for '80%+ off' — this is the 'deals' filter. Omit to include full-price games. | |
| steam_machine | No | Steam Machine (Valve's console) compatibility (via Proton): 'verified' = Steam-Machine-Verified only; 'playable' = Playable or Verified. Its own rating, distinct from the general steam_os one. | |
| released_after | No | Keep only games released on/after this date (YYYY-MM-DD). | |
| released_within_days | No | Alternative to released_after: released within the last N days. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| deals | Yes | ||
| matched | Yes | How many results survived every filter, out of the scanned window (see `count`). | |
| returned | Yes | How many of `matched` are in `deals` below. Lower than `matched` when the result was capped for response size — narrow the filters (or page with `start`) to see the rest. | |
| total_matching | Yes | Count from whichever filters Steam actually applies server-side — min_discount, and (if released_after/released_within_days was set) excluding not-yet-released games — or the whole catalog's size if neither was given. NOT the number of games matching tags/platform/compat/review/the exact release-date cutoff, which have no server-side filter and this tool applies only over the scanned `count`-sized window below. Don't read this as 'N games match all my filters' — use `returned` for that instead. |