WARDOGS Tracker
Sign in
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 are GET, 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 (429 with Retry-After when exceeded).
  • Privacy: private profiles and players hidden from leaderboards are never returned. cash/gold are null for 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", …
}