Authenticate the player via ISteamUserAuth/AuthenticateUserTicket to obtain a verified SteamID
GET https://api.steampowered.com/IPlayerService/GetOwnedGames/v1/?key=YOUR_KEY&steamid={steamid}&include_appinfo=1&include_played_free_games=1 to retrieve the player's game library with playtime_forever (minutes) per game
Filter the games array for your appid to confirm ownership and read playtime_forever for engagement analytics
Use ISteamUser/GetPlayerSummaries to fetch public profile data (persona name, avatar, profile URL) alongside ownership checks
Respect the player's Steam privacy settings; GetOwnedGames returns an empty games array (not an error) when the player's game details are set to private
Known gotchas
An empty games array from GetOwnedGames can mean either the player owns no games or their library is set to private — these cases are indistinguishable from the API response; do not treat absence as non-ownership without additional signals
playtime_forever counts all recorded playtime across all machines and may include time in offline mode; it is not a precise real-time counter
GetOwnedGames only returns games with recorded playtime or explicit ownership records; free-to-play games only appear when include_played_free_games=1 and the player has launched them
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp