Steam account profile data
Steam name history API: previous aliases and current profile
Fetch the public persona names Steam Community still shows, then read the current name, avatar, account creation time, Steam level and visible game hours from separate WOK endpoints.
Updated September 26, 2026
WOK APIcurl --fail-with-body --max-time 35 --get \
-H "Authorization: Bearer $WOK_API_KEY" \
--data-urlencode "steam_id=$STEAM_ID" \
"https://woksteamapi.com/v1/aliases"A first request that keeps credentials separate
Store WOK_API_KEY and a 17-digit STEAM_ID on your server. Send the WOK key as a Bearer header to woksteamapi.com. Your application does not need a Valve Steam Web API key for this route.
WOK API{
"steam_id": "76561198000000001",
"aliases": [
{
"name": "Previous persona",
"time_changed": "Steam Community date text"
}
],
"count": 1
}aliases[] contains name and time_changed; count is the number of entries WOK returned. The date is the original Steam Community text, not a Unix timestamp or guaranteed timezone. The example name and date text above are placeholders, not a live player's data.
Steam Community can expose up to ten recent persona aliases and the account owner can clear that list. The current name may appear among the aliases. An empty array means no aliases were exposed at request time; it does not prove the account never used another name. Steam may change this public page because it is outside Valve's official Web API contract.
Current name, level and playtime use different endpoints
The official profile and player service methods answer different questions. Call only the fields your product needs.
| What you need | WOK request | Key response fields |
|---|---|---|
| Current persona, avatar and creation date | GET /v1/profile?steam_id=... | personaname, avatarfull, profileurl, visibility, timecreated |
| Current profile and level in one response | GET /v1/profile?steam_id=...&include_level=1 | level, steam_level, level_status in addition to profile fields |
| Account level only | GET /v1/steam-level?steam_id=... | steam_level |
| Visible games and hours | GET /v1/games?steam_id=... | games[].playtime_forever, games[].playtime_2weeks in minutes, plus decimal-hour fields |
| Public friend list | GET /v1/friends?steam_id=...&limit=50 | friends[], has_more, next_cursor |
WOK APIcurl --fail-with-body --max-time 35 --get \
-H "Authorization: Bearer $WOK_API_KEY" \
--data-urlencode "steam_id=$STEAM_ID" \
--data-urlencode "include_level=1" \
"https://woksteamapi.com/v1/profile"/v1/profile accepts a SteamID64, Steam profile URL or vanity name. Alias history, level, friends and game-library routes require a 17-digit SteamID64. For a vanity URL, resolve it with the profile endpoint first and pass its returned SteamID64 to the other routes.
Privacy and failure cases
Public Steam data is incomplete by design. Keep an unavailable value distinct from an empty value and from zero.
Steam's GetPlayerSummaries supplies the current persona name, not alias history. WOK reads aliases from Steam Community's publicly visible name history; it does not recover names the owner cleared.
timecreated is a Unix timestamp when Steam supplies it. level_status=unavailable means the level was not visible; upstream_error means the level lookup failed. The profile can still be returned.
A private friends list can return HTTP 403. An empty /v1/games result with visibility=unknown can mean private game details or an empty library. Alias lookup can return HTTP 502 when Steam Community fails; retry later with a bounded delay.
See Steam Support's profile names guidance for alias-list behavior and Valve's player service reference for game visibility, playtime and Steam level.
Profile fields and batch lookupProfile privacy and missing dataRust player statsAll developer guidesOpenAPI schema