Skip to content
API

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 October 21, 2026

Read public previous names
curl --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.

Illustrative aliases response
{
  "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 or null, 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.

Read name history from a Steam profile link

A vanity name is not a SteamID64. Resolve it with /v1/profile, keep the returned ID as a string, then pass that ID to /v1/aliases. This example also accepts a numeric SteamID64 or a Steam Community profile link.

Download the Node.js alias lookup. Node.js 18 or newer is sufficient; no package installation is needed. Save the file on your server and set these environment variables:

Run the downloaded example
export WOK_API_KEY="your-wok-key"
export WOK_STEAM_PROFILE="https://steamcommunity.com/id/your-profile/"
node steam-aliases.mjs

Replace the placeholder with the public profile you want to read. The client makes at most two authenticated GET requests: one profile lookup, then one alias lookup. Normal endpoint access and quota apply to both calls. It uses only the fixed WOK HTTPS origin, refuses redirects and does not retry automatically. Its 35-second deadline covers both requests and their response bodies; each body is limited to 256 KiB.

The output combines steam_id, nullable current_name, aliases and count. An empty alias list is a successful observation that no names were exposed at that time; the owner may have cleared the list. A failed or malformed response stops the client without returning a fabricated empty history.

Keep time_changed as the original source text or null. The example does not parse a timestamp, assume a timezone, sort the entries or reconstruct deleted names. Escape persona names before inserting them into HTML, and keep the WOK key on your server.

Public player integration workflowProfile inputs and fieldsOpenAPI response 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 needWOK requestKey response fields
Current persona, avatar and creation dateGET /v1/profile?steam_id=...personaname, avatarfull, profileurl, visibility, timecreated
Current profile and level in one responseGET /v1/profile?steam_id=...&include_level=1level, steam_level, level_status in addition to profile fields
Account level onlyGET /v1/steam-level?steam_id=...steam_level
Visible games and hoursGET /v1/games?steam_id=...games[].playtime_forever, games[].playtime_2weeks in minutes, plus decimal-hour fields
Public friend listGET /v1/friends?steam_id=...&limit=50friends[], has_more, next_cursor
Read current profile and level
curl --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