Skip to content
API

WOK API

Steam player API: profiles, Rust stats and FACEIT | WOK

Steam profiles, friends, aliases, game statistics and FACEIT

Required access

Players / All-purpose

Choose a plan
  1. 1. Create a key

    Sign in to your account and choose the appropriate plan.

  2. 2. Set your server environment

    WOK_API_KEY is your WOK key, not a Steam key. Keep it out of browser code, URLs, logs and agent prompts.

  3. 3. Check access and make a request

    GET /v1/key returns allowed endpoints and quota limits without spending units.

Account →

First request

Replace the demo SteamID or inspect placeholder with your intended input.

cURL
curl --fail-with-body --max-time 60 "https://woksteamapi.com/v1/rust/summary?steam_id=76561198000000001" \
  -H "Authorization: Bearer $WOK_API_KEY"
Node.js
const key = process.env.WOK_API_KEY;
if (!key) throw new Error('Set WOK_API_KEY on the server');
const response = await fetch("https://woksteamapi.com/v1/rust/summary?steam_id=76561198000000001", {
  method: 'GET',
  headers: { Authorization: `Bearer ${key}`, 'Content-Type': 'application/json' },
  signal: AbortSignal.timeout(60000),
});
if (!response.ok) throw new Error(`WOK HTTP ${response.status}; inspect Retry-After for 429`);
const result = await response.json();
// Validate the documented status and fields before using result.
Python
import json, os, urllib.request, urllib.error
url = 'https://woksteamapi.com/v1/rust/summary?steam_id=76561198000000001'
headers = {'Authorization': 'Bearer ' + os.environ['WOK_API_KEY'], 'Content-Type': 'application/json'}
data = None
request = urllib.request.Request(url, data=data, headers=headers, method='GET')
with urllib.request.urlopen(request, timeout=60) as response:
    result = json.load(response)
# Handle HTTPError and validate the documented response status in your application.

Handle the response

kills, resources, combat, stats_by_name. Missing counters remain missing. Use /v1/rust/playtime for hours and /v1/rust/achievements for achievements.

Rust counters are lifetime Steam account observations, not statistics for each server. Friends, level, aliases and owned games have separate routes. Private profiles may not expose these fields.

Parameters and response format →

Agent setup guide

Copy the task into your coding tool. Set the key separately on your server. The instructions contain no API key.

MarkdownOpenAPI
Read the instructions
# Connect to WOK API

WOK_API_KEY is your WOK key, not a Steam key. Keep it out of browser code, URLs, logs and agent prompts.

https://woksteamapi.com

Authorization: Bearer $WOK_API_KEY

- https://woksteamapi.com/api/openapi.json
- https://woksteamapi.com/mcp.json
- https://woksteamapi.com/api/integration-guide.md
- https://woksteamapi.com/api/specialist-plans.md

1. Inspect the project stack and implement a server-side adapter using its existing conventions.

2. Call GET /v1/key once to check access.endpoints, capabilities and quotas. This costs no units. Specialist plans exclude other workloads.

3. Use documented parameters and validate HTTP and application status. Keep unavailable, private and empty distinct. Missing data remains null or unavailable, never invented zero data.

4. Set a total deadline of 60 seconds and bound concurrency. Retry temporary 429/502/503/504 at most twice with jitter, respecting Retry-After and the deadline. Stop on exhausted quota until reset. Never loop on 400/401/403 or unsupported features.

5. Cache by source timestamps and deduplicate identical in-flight reads. Do not poll per animation frame or force-refresh automatically.

6. Keep currency, price source, statistic and observed time together. Do not compare different currencies or source snapshots as the same price.

7. Use SteamID64 strings, not JavaScript numbers. Encode item names in URL parameters, preserving spaces, ★, pipes and non-Latin characters. Follow cursor pagination. Batch units may be charged per item or player.

8. Create examples and checks with mocks first. Ask before live paid or bulk requests. This prompt does not authorize purchases, plan changes, real charges or sending emails.

9. Report changed files, setup commands, checks and unsupported capabilities. Do not claim data or rendering parity beyond the response evidence.

## Players

Steam profiles, friends, aliases, game statistics and FACEIT

Required access: Players / All-purpose

GET /v1/rust/summary

kills, resources, combat, stats_by_name. Missing counters remain missing. Use /v1/rust/playtime for hours and /v1/rust/achievements for achievements.

Rust counters are lifetime Steam account observations, not statistics for each server. Friends, level, aliases and owned games have separate routes. Private profiles may not expose these fields.

Included data endpoints:

- /steam/api/profile
- /steam/api/profile/games
- /v1/aliases
- /v1/friends
- /v1/games
- /v1/games/achievements
- /v1/player-security
- /v1/profile
- /v1/profiles
- /v1/rust/achievements
- /v1/rust/playtime
- /v1/rust/stats
- /v1/rust/summary
- /v1/steam-level
- /faceit/data/v4/players
- /faceit/data/v4/players/{id}/stats/{game}
- /faceit/data/v4/players/{id}/history

https://woksteamapi.com/rust-player-stats-api

```sh
curl --fail-with-body --max-time 60 "https://woksteamapi.com/v1/rust/summary?steam_id=76561198000000001" \
  -H "Authorization: Bearer $WOK_API_KEY"
```

Replace the demo SteamID or inspect placeholder with your intended input.

← Other workloads