Developers
WARDOGS Stats API
A free, read-only JSON API for WARDOGS player stats and leaderboards — use it for Discord bots, stream overlays, clan sites or anything else. No API key needed.
Good to know
- Base URL:
https://wardogstracker.gg/api/v1. All endpoints areGET, return JSON and allow cross-origin (CORS) requests. - Data covers players who have signed in on WARDOGS Tracker and synced their stats — it isn't an official list of every WARDOGS player.
- Responses are cached for about 60 seconds. Please cache on your side too.
- Rate limit: 120 requests per minute per IP (
429withRetry-Afterwhen exceeded). - Privacy: private profiles and players hidden from leaderboards are never returned.
cash/goldarenullfor players who hide them. Discord lookups only work for players who allow it. - Please credit “WARDOGS Tracker” with a link to wardogstracker.gg where the data is shown.
GET/api/v1/players/{steamId}
A player's current stats by SteamID64.
stats is null if they haven't synced yet; leaderboardRank is their rank by Wardog level (null if they're hidden from leaderboards). Returns 404 for unknown or private profiles.Example
curl https://wardogstracker.gg/api/v1/players/76561198000000000
Response
{
"player": {
"steamId": "76561198000000000",
"name": "Operator",
"avatarUrl": "https://avatars.steamstatic.com/…_full.jpg",
"profileUrl": "https://wardogstracker.gg/profile/76561198000000000",
"twitch": "https://twitch.tv/operator",
"stats": {
"wardogLevel": 142,
"careerXp": 1830450,
"cash": 220531,
"gold": 4,
"unlocks": 57,
"roles": {
"assault": { "level": 41, "xp": 612000 },
"medic": { "level": 22, "xp": 180400 },
"recon": { "level": 30, "xp": 350200 },
"support": { "level": 19, "xp": 140800 },
"driver": { "level": 12, "xp": 90050 },
"pilot": { "level": 18, "xp": 457000 }
},
"syncedAt": "2026-09-28T18:12:00.000Z"
},
"achievements": 6,
"leaderboardRank": 12
},
"source": "WARDOGS Tracker", "url": "https://wardogstracker.gg", "docs": "https://wardogstracker.gg/developers"
}GET/api/v1/players/by-discord/{discordId}
The same, looked up by the Discord user id the player linked on WARDOGS Tracker. Handy for Discord bots:
/stats @user → this endpoint.Example
curl https://wardogstracker.gg/api/v1/players/by-discord/123456789012345678
Response
{ "player": { …same shape as above… }, "source": "WARDOGS Tracker", … }GET/api/v1/leaderboard?sort=level&limit=50&offset=0
The global leaderboard.
sort: level (default), xp, cash, gold, unlocks. limit 1–100 (default 50), offset for paging.Example
curl "https://wardogstracker.gg/api/v1/leaderboard?sort=xp&limit=10"
Response
{
"sort": "xp", "total": 1834, "offset": 0, "limit": 10,
"players": [
{ "rank": 1, "steamId": "7656119…", "name": "Operator", "avatarUrl": "…",
"wardogLevel": 311, "careerXp": 9120450, "cash": 1520400, "gold": 12,
"unlocks": 140, "syncedAt": "2026-09-28T18:12:00.000Z" }
],
"source": "WARDOGS Tracker", …
}GET/api/v1/servers/{slug|serverId}/leaderboard?range=7d&limit=25
Kill leaderboard for a claimed community server with its kill feed connected.
range: 24h, 7d (default), 30d, all. Use the server's custom URL slug (wardogstracker.gg/servers/slug), its server id or its join code.Example
curl "https://wardogstracker.gg/api/v1/servers/my-server/leaderboard?range=24h"
Response
{
"server": { "name": "My Server", "slug": "my-server", "url": "https://wardogstracker.gg/servers/my-server", "killFeed": true },
"range": "24h",
"summary": { "kills": 2435, "players": 188, "headshots": 611, "lastKillAt": "…",
"longestKill": { "distanceM": 704.87, "killerName": "Operator", "weapon": "AK74M" } },
"players": [
{ "rank": 1, "steamId": "7656119…", "name": "Operator", "kills": 88, "deaths": 31,
"kd": 2.84, "headshots": 24, "longestKillM": 412.5, "topWeapon": "AK74M" }
],
"source": "WARDOGS Tracker", …
}