Obtain a Steam Web API key and the target user's steamid64 as described for game ownership.
Call GET https://api.steampowered.com/ISteamUserStats/GetPlayerAchievements/v1/?key=<API_KEY>&steamid=<STEAMID64>&appid=<APPID>&l=en to retrieve achievement unlock status.
Each object in the achievements array contains apiname, achieved (0 or 1), and unlocktime (Unix timestamp when achieved > 0).
To get numeric stats (e.g., kills, hours in a specific mode), call ISteamUserStats/GetUserStatsForGame/v2 with the same key, steamid, and appid.
To retrieve the schema of all achievements and stats defined for a game (including localized display names), call ISteamUserStats/GetSchemaForGame/v2 with key and appid — no steamid required.
Cross-reference apiname values between the schema and player data to display human-readable achievement names alongside unlock status.
Known gotchas
GetPlayerAchievements returns HTTP 400 or an error field in the JSON if the game has no achievements defined or if the user's stats are private — always check the success field in the response.
Achievement and stat schemas are defined per-game by the developer; field names and stat types are not standardized across games, so you must fetch the schema dynamically rather than hard-coding field names.
Global achievement percentages (ISteamUserStats/GetGlobalAchievementPercentagesForApp) are cached and may lag behind actual unlock rates by hours or days.
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