Skip to content
API

Steam friend lists

Steam friends API: public friend lists by SteamID

Read the friend list an account publishes: each friend's SteamID64, the relationship and Steam's friend_since value, one page at a time.

Updated

GET /v1/friends
curl --fail-with-body \
  -H "Authorization: Bearer $WOK_API_KEY" \
  "https://woksteamapi.com/v1/friends?steam_id=76561198000000001&limit=100"

Endpoints

A WOK key with all-purpose or Players access. Free Developer keeps its own quota, day and minute limits and the WOK Discord membership rule. Each single read uses one quota unit.

GET /v1/friendsPublic Steam friend list

Request

Parameters of GET /v1/friends, as published in the OpenAPI description.

ParameterRequiredAccepted valuesNotes
steam_idRequiredstringA 17-digit SteamID64. Profile URLs and vanity names are not accepted here.
limitOptionalinteger (1 to 100, default 50)Friends per page.
cursorOptionalstringnext_cursor from the previous page.

Response fields

Fields of a 200 response. A type that includes null means Steam may not publish that value.

FieldTypeMeaning
steam_idstringThe SteamID64 the response describes.
friendsarray of objectOne entry per friend on this page.
friends.steam_idstringThe friend's SteamID64.
friends.relationshipstringSteam's relationship value for that entry.
friends.friend_sinceinteger or nullSteam's friend_since value for that friend; null when Steam did not publish it.
totalintegerNumber of friends in the whole list.
has_morebooleanTrue when another page exists.
next_cursorstring or nullPass it as cursor to read the next page; null on the last page.

What your code should handle

The cases that most often turn into wrong numbers in a product.

Page with the cursor. limit accepts 1 to 100 and defaults to 50. While has_more is true, send next_cursor back as cursor.

Private is an error. A friend list that Steam does not publish returns 403. It is never returned as an account with zero friends.

IDs first, profiles second. The list carries SteamID64s. Read names and avatars for them with POST /v1/profiles, up to 64 accounts per request.

Steam profile APIFree SteamID finderPublic and private Steam data

Status codes

Errors carry a typed code and, where it applies, Retry-After. Respect it on 429 and 503.

StatusMeaning
200OK
400Invalid request
401Missing or invalid API key
402Quota exhausted or required add-on is not active
403Resource is private or restricted; discord_required means free access requires current WOK Discord membership
422Query or JSON body validation failed
429Rate limit exceeded
502Upstream service failed
503Required upstream capability is unavailable; discord_unavailable means free membership verification should be retried

Questions

Do I need a Valve Steam Web API key?

No. WOK holds the Steam Web API key on its servers and makes the Steam call for you. Your server sends a WOK key in the Authorization header.

Can I get friends' names and avatars in the same call?

No. The friend list returns SteamID64, relationship and friend_since. Send those IDs to POST /v1/profiles, up to 64 per request, for names, avatars and visibility.

What happens when the friend list is private?

The request returns 403. Treat it as unavailable data, not as an account with no friends.

Do vanity names or profile links work?

Not on this endpoint. It accepts a 17-digit SteamID64. Resolve a profile link or vanity name with the profile endpoint first.

Steam account bansSteam libraries and hoursSteam achievementsSteam level and badges