Discover games (deals, new releases, Steam Deck, rating)
discover_gamesFind games from the Steam catalog filtered by discount, release date, platform, review quality, user tags, and hardware compatibility including Steam Deck, SteamOS, Steam Machine, and Steam Frame.
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 for Steam Deck, steam_os for SteamOS in general, steam_machine for the Steam Machine console specifically, steam_frame for the Steam Frame VR headset), 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; 'games that run on the Steam Machine' → steam_machine; 'games that run on SteamOS' → steam_os. 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 setting released_after/released_within_days also excludes not-yet-released games server-side — but the actual date cutoff, plus compat, platform, review and tag filtering, have 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).
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. Raise for stricter filters. | |
| 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 | ||
| returned | Yes | How many results survived every filter, out of the scanned window (see `count`). | |
| 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. |