Get owned games
get_owned_gamesRetrieve a player's owned games with playtime, sorted by most-played first. Check ownership of specific appids across the full library, even beyond the default 50-game cap.
Instructions
List the games a player owns with playtime (hours), ordered by playtime — most-played first by default, least-played first with sort='playtime_asc' (the games list is capped to 50 entries by default, so the far end of that ordering may not appear there; raise limit to widen the cap, or flip sort to keep the never-played end instead, which is what a 'what have I never got round to playing' question needs). To reliably check whether the player owns one or more SPECIFIC appids regardless of that cap — 'do I own game X' — pass check_appids; the owns field then checks the FULL, uncapped library, with each result's own playtime_hours (null if not owned). For the last two weeks of play instead of the all-time library, use get_recently_played. For checking a FRIEND's ownership instead of the player's own, use find_friends_who_own. Requires STEAM_API_KEY and a public profile + game-details visibility. Get the SteamID64 from resolve_vanity_url.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Which end of the library the cap keeps: 'playtime_desc' (default) the most-played, 'playtime_asc' the least-played and never-played first. | |
| limit | No | How many games to return (1-300, default 50). Raise it only when a wider slice of the library is genuinely needed — the ceiling is a response-size budget, so even a 4000-game account never comes back whole. To check specific appids past the cap, use check_appids rather than a bigger limit. | |
| steamid | No | 17-digit SteamID64. Omit to use the STEAM_ID configured on the server. Convert a vanity/custom URL name with resolve_vanity_url first. | |
| check_appids | No | Steam appids to check ownership of (1-50), regardless of the 50-entry cap on `games` (or of whichever end `sort` keeps). Prefer this over raising `limit`: it reads the FULL library, and its own cost is bounded by this list's length. Adds an `owns` field: [{appid, owned, playtime_hours}]. One upstream gap to know about: Steam omits free-to-play titles the player owns but has NEVER launched, so those report owned:false — as does an appid that doesn't exist, so this field can't tell 'no such game' from 'doesn't own it'. A private profile reports no `owns` at all (ownership unknown) rather than a false owned:false. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||