Example requests use this host. Change it and they all update.

Basics

Formats

Responses are JSON unless a route renders art. Art routes return SVG by default, and some take ?format=png.

Game versions

Game data comes from the current patch. Metadata and map routes take ?manifest= to read an older patch from /game/history/all.

Pagination

Esports lists use page and perPage. Store sections use cursor and limit and return nextCursor.

Regions and modes

Esports routes take a region code, and gameMode=1 for 1v1 or 2 for 2v2.

NAEUSASEAAUSMENAALL

Errors

Errors use the HTTP status code and a JSON body whose message names what was wrong.

400 · Bad Request
{
  "statusCode": 400,
  "message": "gameMode must be 1 or 2",
  "error": "Bad Request"
}

Status codes

400A parameter is missing or invalid 404Nothing with that ID 409A provider ID matches more than one player

Esports & power rankings

/v2/esports

Tournaments, events, sets and players collected from start.gg and Challengermode, and the power rankings built from them.

How points work

event points = (placement + wins + losses) × tournament multiplier × recency

A ranking adds up a player's official events from the last 370 days. Recency starts at 1.0 and falls to about 0.5 after six months.

Rankings

GET/v2/esports/rankings

Power rankings

The ranked players for one region and game mode. Without asOf or eventIds this is the live ranking, which includes tournaments still in progress.

Query parameters

NameTypeDescription
regionrequiredstringRegion code, such as NA or ALL.
gameMode1 | 21v1 or 2v2. Defaults to 1.
page, perPageintegerperPage defaults to 32 and is capped at 100.
searchstringOnly players whose name contains this text. Ranks stay overall ranks.
asOfISO dateRank as of this moment. Take it from a preset's asOf.
eventIdsid listRank only these events (comma-separated, up to 250). none means an empty selection.
decaytrue | false | event-countHow older events lose value. event-count halves an event for every 8 newer ones; it's meant for LANs.
providerstringall (default), startgg or challengermode.
Request

            
Response · 200
{
  "region": "NA",
  "gameMode": 1,
  "provider": "all",
  "regionAssignment": "most",
  "generatedAt": "2026-10-20T10:02:49.290Z",
  "dataThrough": "2026-10-02T22:24:11.687Z",
  "provisional": false,
  "stale": true,
  "algorithmCurrent": true,
  "expectedAlgorithmVersion": 12,
  "activeEvents": [],
  "algorithmVersion": 12,
  "detailBackfill": {
    "totalEvents": 7830,
    "detailedEvents": 7830,
    "remainingEvents": 0,
    "percentComplete": 100
  },
  "rankingCoverage": {
    "totalEvents": 7830,
    "detailedEvents": 7830,
    "remainingEvents": 0,
    "percentComplete": 100,
    "pendingPublicationEvents": 0
  },
  "contributingProviders": [
    "challengermode"
  ],
  "pagination": {
    "page": 1,
    "perPage": 2,
    "total": 980,
    "totalPages": 490
  },
  "players": [
    {
      "playerId": "71971",
      "name": "BalloonBoy",
      "rank": 1,
      "previousRank": 1,
      "points": 530.435557,
      "eventCount": 6,
      "providers": [
        "challengermode"
      ],
      "image": "https://image1.challengermode.com/028c61bc-e0dc-4a90-5ea0-08dd9ef1575c_64_64",
      "careerMedals": {
        "gold": 36,
        "silver": 30,
        "bronze": 30,
        "recordedEarnings": 68808.75,
        "officialEarnings": 62981.666666666664,
        "prizeRecords": 103
      },
      "socials": {
        "twitter": null,
        "twitch": null
      },
      "provisional": false,
      "contributions": [
        {
          "eventId": "string",
          "provider": "string",
          "eventName": "string",
          "tournamentName": "string",
          "startsAt": "string",
          "tournamentImage": "string",
          "provisional": "boolean",
          "placementPoints": "number",
          "winPoints": "number",
          "lossPoints": "number",
          "recencyMultiplier": "number",
          "tournamentMultiplier": "number",
          "totalPoints": "number",
          "details": "object"
        },
        "… 5 more"
      ]
    },
    "… 1 more"
  ]
}
GET/v2/esports/ranking-presets

Ranking presets

Past rankings you can show. An official preset runs from one tournament back through the 370 days before it. LAN presets run back to the first LAN, and each Royale is its own preset.

Query parameters

NameTypeDescription
regionrequiredstringRegion code. LANs and Royales use ALL.
gameMode1 | 2Defaults to 1.
categoryregular | lan | royaleDefaults to regular.
Request

            
Response · 200
{
  "region": "NA",
  "gameMode": 1,
  "provider": "all",
  "category": "regular",
  "windowDays": 370,
  "challengermodeStartsAt": "2025-05-11T16:16:22.890Z",
  "presets": [
    {
      "id": "current",
      "label": "Autumn Championship - North America 2026 - 1v1 – Brawlhalla World Championship Expo 2025 -…",
      "latest": "Autumn Championship - North America 2026 - 1v1",
      "oldest": "Brawlhalla World Championship Expo 2025 - 1v1",
      "image": "https://image1.challengermode.com/f06d68b6-bdf0-4241-26a4-08deeae5d04e_1280_720",
      "asOf": "2026-10-25T19:11:17.509Z",
      "startsAt": "2025-10-20T19:11:17.509Z",
      "current": true,
      "tournamentCount": 6
    },
    "… 113 more"
  ]
}
GET/v2/esports/ranking-events

Ranking events

Every event that can count toward a region's ranking, with its category, multiplier and whether it's in the current window.

Request

            
Response · 200
{
  "region": "NA",
  "gameMode": 1,
  "provider": "all",
  "windowDays": 370,
  "exclusions": [
    "Royales"
  ],
  "events": [
    {
      "eventId": "70",
      "provider": "challengermode",
      "eventName": "Autumn Championship - North America 2026 - 1v1",
      "tournamentId": "70",
      "tournamentName": "Autumn Championship - North America 2026 - 1v1",
      "region": "NA",
      "startsAt": "2026-09-20T16:16:28.493Z",
      "state": "complete",
      "tournamentState": "complete",
      "multiplier": 1,
      "entrantCount": 284,
      "image": "https://image1.challengermode.com/f06d68b6-bdf0-4241-26a4-08deeae5d04e_1280_720",
      "inWindow": true,
      "official": true,
      "classification": "official",
      "communitySeries": null,
      "communitySeriesLabel": null,
      "baseEligible": true,
      "rankingEligible": true,
      "category": "regular"
    },
    "… 5 more"
  ],
  "catalog": [
    {
      "eventId": "175825",
      "provider": "challengermode",
      "eventName": "(NA) Legend wars: Koji",
      "tournamentId": "307382",
      "tournamentName": "(NA) Legend wars: Koji",
      "region": "NA",
      "startsAt": "2026-11-29T08:00:00.000Z",
      "state": "upcoming",
      "tournamentState": "upcoming",
      "multiplier": 1,
      "entrantCount": 0,
      "image": null,
      "inWindow": false,
      "official": false,
      "classification": "community",
      "communitySeries": null,
      "communitySeriesLabel": null,
      "baseEligible": false,
      "rankingEligible": false,
      "category": "regular"
    },
    "… 740 more"
  ]
}
GET/v2/esports/ranking-breakdown

Ranking breakdown

The individual wins and losses behind ranking contributions. Takes entrantIds from a contribution.

Request

            
Response · 200
{
  "breakdowns": [
    {
      "entrantId": "240693",
      "seed": 1,
      "placement": 1,
      "wins": [
        {
          "setId": "string",
          "roundName": "string",
          "name": "string",
          "playerId": "string",
          "image": "null",
          "seed": "number",
          "points": "number",
          "counted": "boolean"
        },
        "… 13 more"
      ],
      "losses": [
        {
          "setId": "string",
          "roundName": "string",
          "name": "string",
          "playerId": "string",
          "image": "string",
          "placement": "number",
          "multiplier": "number",
          "counted": "boolean"
        }
      ]
    }
  ]
}
GET/v2/esports/circuit

Circuit standings

Brawlhalla Circuit standings for a split and region.

Request

            
Response · 200
{
  "splits": [
    {
      "key": "2024-1",
      "name": "2024 Circuit · Split 1"
    },
    "… 1 more"
  ],
  "split": {
    "key": "2024-2",
    "name": "2024 Circuit · Split 2"
  },
  "regions": [
    "EU",
    "… 3 more"
  ],
  "region": "NA",
  "countedTrials": 3,
  "royaleSpots": 4,
  "trials": [
    {
      "name": "Trial of Heimdall",
      "startsAt": "2024-07-13",
      "eventId": "1741",
      "entrants": 864
    },
    "… 3 more"
  ],
  "standings": [
    {
      "playerId": "117699",
      "name": "Raydish",
      "image": "https://images.start.gg/images/user/1069224/image-8ea6d07d52a03c985ab5db45bcd26381.jpg?ehk…",
      "country": "United States",
      "results": [
        {
          "trial": "string",
          "placement": "number",
          "points": "number",
          "counted": "boolean"
        },
        "… 3 more"
      ],
      "rank": 1,
      "royale": "qualified",
      "points": 275
    },
    "… 119 more"
  ]
}
GET/v2/esports/leaders

All-time leaders

Leaders for tournament appearances and gold, silver and bronze finishes. Takes limit (up to 25).

Request

            
Response · 200
{
  "categories": {
    "earnings": [
      {
        "player_id": "3639",
        "name": "Sandstorm",
        "country": "United States",
        "value": 256720,
        "prize_records": 133
      },
      "… 2 more"
    ],
    "tournaments": [
      {
        "player_id": "117628",
        "name": "animefan1266",
        "country": null,
        "events": 663,
        "tournaments": 557,
        "official": 52,
        "community": 505,
        "gold": 111,
        "silver": 62,
        "bronze": 43,
        "value": 557
      },
      "… 2 more"
    ],
    "official": [
      {
        "player_id": "132",
        "name": "Cosolix",
        "country": "Canada",
        "events": 467,
        "tournaments": 345,
        "official": 98,
        "community": 247,
        "gold": 47,
        "silver": 33,
        "bronze": 34,
        "value": 98
      },
      "… 2 more"
    ],
    "community": [
      {
        "player_id": "117628",
        "name": "animefan1266",
        "country": null,
        "events": 663,
        "tournaments": 557,
        "official": 52,
        "community": 505,
        "gold": 111,
        "silver": 62,
        "bronze": 43,
        "value": 505
      },
      "… 2 more"
    ],
    "gold": [
      {
        "player_id": "119335",
        "name": "Wess",
        "country": null,
        "events": 506,
        "tournaments": 434,
        "official": 85,
        "community": 349,
        "gold": 135,
        "silver": 119,
        "bronze": 65,
        "value": 135
      },
      "… 2 more"
    ],
    "silver": [
      {
        "player_id": "119335",
        "name": "Wess",
        "country": null,
        "events": 506,
        "tournaments": 434,
        "official": 85,
        "community": 349,
        "gold": 135,
        "silver": 119,
        "bronze": 65,
        "value": 119
      },
      "… 2 more"
    ],
    "bronze": [
      {
        "player_id": "119335",
        "name": "Wess",
        "country": null,
        "events": 506,
        "tournaments": 434,
        "official": 85,
        "community": 349,
        "gold": 135,
        "silver": 119,
        "bronze": 65,
        "value": 65
      },
      "… 2 more"
    ]
  },
  "earningsAvailable": true,
  "earningsNote": "Recorded prizes from start.gg prize tables and prize lines in event descriptions or rules,…"
}
GET/v2/esports/world-champions

World champions

Every World Championship winner.

Request

            
Response · 200
[
  {
    "eventId": "26237",
    "eventName": "Brawlhalla World Championship Expo 2025 - 1v1",
    "tournamentName": "Brawlhalla World Championship Expo 2025 - 1v1",
    "year": 2025,
    "gameMode": 1,
    "region": "ALL",
    "startsAt": "2025-11-22T03:10:32.650Z",
    "entrantId": "623914",
    "entrantName": "Marckiem00's party",
    "players": [
      {
        "name": "Marckiem00",
        "playerId": 117666,
        "provider": "challengermode",
        "providerPlayerId": "bf544dc0-9e67-4b27-b453-80099bf450cd"
      }
    ]
  },
  "… 33 more"
]

Tournaments, events and sets

GET/v2/esports/tournaments

Tournaments

Tournaments from both providers. Filter by provider, state, official and search; page with page and perPage.

Request

            
Response · 200
{
  "page": 1,
  "perPage": 2,
  "total": 630,
  "totalPages": 315,
  "items": [
    {
      "id": "6",
      "provider": "challengermode",
      "provider_id": "1387cdba-8a88-475c-7286-08dec44a907c",
      "name": "Brawlhalla World Championship Expo 2026 - 1v1",
      "slug": null,
      "url": "https://www.challengermode.com/tournaments/1387cdba-8a88-475c-7286-08dec44a907c",
      "state": "upcoming",
      "visibility": "invite_only",
      "game_slug": "brawlhalla",
      "image": "https://image1.challengermode.com/3c8dc7c4-c1f1-4d46-8a1f-08dec44abcf2_1280_720",
      "is_official": true,
      "provider_is_official": true,
      "official_override": null,
      "official_override_set": false,
      "official_inferred_from_legacy": false,
      "ranking_excluded": false,
      "ranking_exclusion_reason": null,
      "is_online": null,
      "host_name": "Brawlhalla Esports",
      "starts_at": "2026-11-13T15:00:00.000Z",
      "ends_at": null,
      "date_outlier": false,
      "source_updated_at": null,
      "observed_at": "2026-10-04T10:07:29.037Z",
      "classification": "official",
      "community_series": null
    },
    "… 1 more"
  ]
}
GET/v2/esports/tournaments/:tournamentId

One tournament

One tournament and its events.

Request

            
Response · 200
{
  "tournament": {
    "id": "44",
    "provider": "challengermode",
    "provider_id": "774eaef2-3f11-4c7b-f9ab-08ded4cb1c05",
    "name": "Autumn Championship - North America 2026 - 2v2",
    "slug": null,
    "url": "https://www.challengermode.com/tournaments/774eaef2-3f11-4c7b-f9ab-08ded4cb1c05",
    "image": "https://image1.challengermode.com/f263fd4b-c368-464e-26b2-08deeae5d04e_1280_720",
    "state": "complete",
    "visibility": "unknown",
    "game_slug": "brawlhalla",
    "is_official": true,
    "provider_is_official": true,
    "official_override": null,
    "official_override_set": false,
    "official_inferred_from_legacy": false,
    "ranking_excluded": false,
    "ranking_exclusion_reason": null,
    "is_online": null,
    "host_provider_id": "30e5b4f0-81e6-4ea6-2075-08dd65444c87",
    "host_name": "Brawlhalla Esports",
    "starts_at": "2026-09-27T16:18:25.777Z",
    "ends_at": "2026-09-28T00:58:12.547Z",
    "source_updated_at": null,
    "observed_at": "2026-10-04T08:06:30.380Z",
    "finalized_at": "2026-09-30T08:25:47.137Z",
    "event_count": "1",
    "classification": "official",
    "community_series": null
  },
  "events": [
    {
      "id": "44",
      "provider_id": "774eaef2-3f11-4c7b-f9ab-08ded4cb1c05",
      "name": "Autumn Championship - North America 2026 - 2v2",
      "state": "complete",
      "game_mode": 2,
      "region": "NA",
      "entrant_count": 185,
      "multiplier": "0.7500",
      "provider_game_mode": 2,
      "provider_region": "NA",
      "provider_multiplier": "0.7500",
      "game_mode_override": null,
      "region_override": null,
      "multiplier_override": null,
      "observed_at": "2026-10-04T08:06:30.380Z",
      "last_detail_sync_at": "2026-10-02T21:22:05.851Z",
      "next_detail_sync_at": "2026-10-03T21:22:05.851Z",
      "detail_failure_count": 0,
      "last_detail_failure_at": null,
      "last_detail_error": null,
      "stable_observations": 1,
      "identity_conflicts": [],
      "ranking_eligible_override": null,
      "ranking_eligibility_reason": null,
      "currently_active": false,
      "provider_state_stale": false,
      "ranking_eligible": true,
      "ranking_policy_exclusion_reason": null,
      "completed_without_sets": false,
      "stored_entrants": "186",
      "stored_sets": "510"
    }
  ]
}
GET/v2/esports/events

Events

Events (brackets) across all tournaments. Takes the same filters as tournaments, plus quality to find data problems.

Request

            
Response · 200
{
  "page": 1,
  "perPage": 2,
  "total": 7830,
  "totalPages": 3915,
  "items": [
    {
      "id": "135",
      "provider": "startgg",
      "provider_id": "1614260",
      "name": "Ranked Hell",
      "state": "upcoming",
      "game_mode": 1,
      "region": null,
      "entrant_count": 2,
      "multiplier": "1.0000",
      "provider_game_mode": 1,
      "provider_region": null,
      "provider_multiplier": "1.0000",
      "game_mode_override": null,
      "region_override": null,
      "multiplier_override": null,
      "observed_at": "2026-10-04T07:39:58.007Z",
      "last_detail_sync_at": "2026-10-04T05:07:54.975Z",
      "next_detail_sync_at": "2026-10-04T05:37:54.975Z",
      "detail_failure_count": 0,
      "last_detail_failure_at": null,
      "last_detail_error": null,
      "stable_observations": 4,
      "identity_conflicts": [],
      "ranking_eligible_override": null,
      "ranking_eligibility_reason": null,
      "completed_without_sets": false,
      "currently_active": false,
      "provider_state_stale": false,
      "tournament_id": "269",
      "tournament_name": "DIAMOND 1 TOURNEY",
      "visibility": "unknown",
      "image": "https://images.start.gg/images/tournament/906531/image-93ee4039d69d0d4c90e8a6a79cab270d.jp…",
      "is_official": false,
      "official_override_set": false,
      "ranking_excluded": false,
      "ranking_exclusion_reason": null,
      "date_outlier": true,
      "ranking_eligible": false,
      "ranking_policy_exclusion_reason": "Community tournaments do not contribute to power rankings.",
      "starts_at": "2036-04-21T04:59:00.000Z",
      "classification": "community",
      "community_series": null
    },
    "… 1 more"
  ]
}
GET/v2/esports/events/:eventId

One event

One event with its standings.

Request

            
Response · 200
{
  "event": {
    "id": "44",
    "provider": "challengermode",
    "provider_id": "774eaef2-3f11-4c7b-f9ab-08ded4cb1c05",
    "name": "Autumn Championship - North America 2026 - 2v2",
    "state": "complete",
    "game_mode": 2,
    "region": "NA",
    "entrant_count": 185,
    "multiplier": "0.7500",
    "provider_game_mode": 2,
    "provider_region": "NA",
    "provider_multiplier": "0.7500",
    "game_mode_override": null,
    "region_override": null,
    "multiplier_override": null,
    "observed_at": "2026-10-04T08:06:30.380Z",
    "last_detail_sync_at": "2026-10-02T21:22:05.851Z",
    "next_detail_sync_at": "2026-10-03T21:22:05.851Z",
    "detail_failure_count": 0,
    "last_detail_failure_at": null,
    "last_detail_error": null,
    "stable_observations": 1,
    "identity_conflicts": [],
    "ranking_eligible_override": null,
    "ranking_eligibility_reason": null,
    "completed_without_sets": false,
    "currently_active": false,
    "provider_state_stale": false,
    "tournament_id": "44",
    "tournament_name": "Autumn Championship - North America 2026 - 2v2",
    "tournament_url": "https://www.challengermode.com/tournaments/774eaef2-3f11-4c7b-f9ab-08ded4cb1c05",
    "visibility": "unknown",
    "tournament_image": "https://image1.challengermode.com/f263fd4b-c368-464e-26b2-08deeae5d04e_1280_720",
    "is_official": true,
    "ranking_excluded": false,
    "ranking_exclusion_reason": null,
    "date_outlier": false,
    "ranking_eligible": true,
    "ranking_policy_exclusion_reason": null,
    "starts_at": "2026-09-27T16:18:25.777Z",
    "ends_at": "2026-09-28T00:58:12.547Z"
  },
  "entrants": [
    {
      "id": "234843",
      "provider_entrant_id": "b6ff222f-5048-47af-1ee2-08df10190158",
      "name": "Zen/Hideaway",
      "seed": 1,
      "placement": 1,
      "placement_confirmed": true,
      "eliminated": true,
      "disqualified": false,
      "identity_ambiguous": false,
      "members": [
        {
          "name": "string",
          "image": "string",
          "playerId": "number",
          "provider": "string",
          "gameAccountId": "string",
          "providerPlayerId": "string"
        },
        "… 1 more"
      ]
    },
    "… 185 more"
  ],
  "sets": [
    {
      "id": "852584",
      "provider_set_id": "542a9e8d-50b0-485a-90a7-08df15925649",
      "state": "complete",
      "round_name": "Upper bracket - Upper Round 1",
      "set_order": 1,
      "completed_at": null,
      "observed_at": "2026-10-02T20:42:00.202Z",
      "history_at": "2026-09-27T16:18:25.777Z",
      "completed_at_reliable": false,
      "score_source": "series_results",
      "games": [],
      "slots": [
        {
          "score": "number",
          "winner": "boolean",
          "entrantId": "number",
          "entrantName": "string"
        }
      ]
    },
    "… 509 more"
  ],
  "contributions": [
    {
      "player_id": "117679",
      "display_name": "Hideaway",
      "region": "NA",
      "game_mode": 2,
      "algorithm_version": 12,
      "snapshot_provisional": false,
      "generated_at": "2026-10-20T10:00:50.531Z",
      "provisional": false,
      "placement_points": "110.000000",
      "win_points": "21.507000",
      "loss_points": "20.000000",
      "recency_multiplier": "1.0000000000",
      "tournament_multiplier": "0.7500000000",
      "total_points": "113.630000",
      "details": {
        "provider": "challengermode",
        "placement": 1,
        "entrantIds": [
          "string",
          "… 1 items"
        ]
      }
    },
    "… 370 more"
  ]
}
GET/v2/esports/events/:eventId/bracket

Event bracket

The event's phases, pools and bracket, laid out as on start.gg.

Request

            
Response · 200
{
  "eventId": "44",
  "provider": "challengermode",
  "metadataComplete": true,
  "phases": [
    {
      "key": "stage:0",
      "name": "Bracket",
      "order": 0,
      "groups": [
        {
          "key": "string",
          "name": "null",
          "type": "string",
          "sections": "array",
          "rounds": "array",
          "standings": "array",
          "results": "object"
        }
      ]
    }
  ],
  "entrants": {
    "234782": {
      "id": "string",
      "name": "string",
      "seed": "number",
      "placement": "number",
      "members": "array"
    },
    "234783": {
      "id": "string",
      "name": "string",
      "seed": "number",
      "placement": "number",
      "members": "array"
    },
    "234784": {
      "id": "string",
      "name": "string",
      "seed": "number",
      "placement": "number",
      "members": "array"
    },
    "234785": {
      "id": "string",
      "name": "string",
      "seed": "number",
      "placement": "number",
      "members": "array"
    },
    "234786": {
      "id": "string",
      "name": "string",
      "seed": "number",
      "placement": "number",
      "members": "array"
    },
    "234787": {
      "id": "string",
      "name": "string",
      "seed": "number",
      "placement": "number",
      "members": "array"
    },
    "234788": {
      "id": "string",
      "name": "string",
      "seed": "number",
      "placement": "number",
      "members": "array"
    },
    "234789": {
      "id": "string",
      "name": "string",
      "seed": "number",
      "placement": "number",
      "members": "array"
    },
    "234790": {
      "id": "string",
      "name": "string",
      "seed": "number",
      "placement": "number",
      "members": "array"
    },
    "234791": {
      "id": "string",
      "name": "string",
      "seed": "number",
      "placement": "number",
      "members": "array"
    },
    "…": "176 more entries"
  }
}
GET/v2/esports/events/:eventId/entrants

Event entrants

Everyone who entered the event.

Request

            
Response · 200
{
  "page": 1,
  "perPage": 50,
  "total": 186,
  "totalPages": 4,
  "items": [
    {
      "id": "234843",
      "provider_entrant_id": "b6ff222f-5048-47af-1ee2-08df10190158",
      "name": "Zen/Hideaway",
      "seed": 1,
      "placement": 1,
      "placement_confirmed": true,
      "eliminated": true,
      "disqualified": false,
      "identity_ambiguous": false,
      "members": [
        {
          "name": "string",
          "image": "string",
          "playerId": "number",
          "provider": "string",
          "gameAccountId": "string",
          "providerPlayerId": "string"
        },
        "… 1 more"
      ]
    },
    "… 49 more"
  ]
}
GET/v2/esports/events/:eventId/contributions

Event ranking points

The ranking points each entrant earned from this event.

Request

            
Response · 200
{
  "page": 1,
  "perPage": 50,
  "total": 371,
  "totalPages": 8,
  "items": [
    {
      "player_id": "117679",
      "display_name": "Hideaway",
      "region": "NA",
      "game_mode": 2,
      "algorithm_version": 12,
      "snapshot_provisional": false,
      "generated_at": "2026-10-20T10:00:50.531Z",
      "provisional": false,
      "placement_points": "110.000000",
      "win_points": "21.507000",
      "loss_points": "20.000000",
      "recency_multiplier": "1.0000000000",
      "tournament_multiplier": "0.7500000000",
      "total_points": "113.630000",
      "details": {
        "provider": "challengermode",
        "placement": 1,
        "entrantIds": [
          "string",
          "… 1 items"
        ]
      }
    },
    "… 49 more"
  ]
}
GET/v2/esports/sets

Sets

Sets, filterable by eventId or playerId.

Request

            
Response · 200
{
  "page": 1,
  "perPage": 2,
  "total": 1944,
  "totalPages": 972,
  "items": [
    {
      "id": "2184777",
      "provider_set_id": "109043810",
      "state": "complete",
      "round_name": "Grand Final",
      "set_order": 2,
      "completed_at": "2026-10-17T22:49:02.000Z",
      "observed_at": "2026-10-18T12:47:08.844Z",
      "history_at": "2026-10-17T22:49:02.000Z",
      "completed_at_reliable": true,
      "event_id": "140",
      "provider": "startgg",
      "provider_event_id": "1661603",
      "event_name": "($500 POT BONUS) Brawlhalla Singles",
      "game_mode": 1,
      "recorded_game_count": 0,
      "tournament_id": "274",
      "tournament_name": "Platfight Gaming Championships 2026",
      "starts_at": "2026-10-16T16:00:00.000Z",
      "visibility": "unknown",
      "is_official": false,
      "official_override_set": false,
      "slots": [
        {
          "score": "number",
          "winner": "boolean",
          "entrantId": "number",
          "thisPlayer": "boolean",
          "entrantName": "string"
        },
        "… 1 more"
      ]
    },
    "… 1 more"
  ]
}
GET/v2/esports/sets/:setId

One set

One set with its games.

Request

            
Response · 200
{
  "set": {
    "id": "2184777",
    "provider_set_id": "109043810",
    "state": "complete",
    "round_name": "Grand Final",
    "set_order": 2,
    "completed_at": "2026-10-17T22:49:02.000Z",
    "observed_at": "2026-10-18T12:47:08.844Z",
    "history_at": "2026-10-17T22:49:02.000Z",
    "completed_at_reliable": true,
    "score_source": null,
    "games": [],
    "event_id": "140",
    "provider": "startgg",
    "provider_event_id": "1661603",
    "event_name": "($500 POT BONUS) Brawlhalla Singles",
    "game_mode": 1,
    "region": null,
    "tournament_id": "274",
    "provider_tournament_id": "919405",
    "tournament_name": "Platfight Gaming Championships 2026",
    "slug": "tournament/platfight-gaming-championships-2026",
    "tournament_image": "https://images.start.gg/images/tournament/919405/image-c8f43b694e8373a858498da88c9fdd9a.pn…",
    "url": "https://www.start.gg/tournament/platfight-gaming-championships-2026",
    "starts_at": "2026-10-16T16:00:00.000Z",
    "visibility": "unknown",
    "is_official": false,
    "winner_entrant_id": "242506",
    "winner_entrant_name": "LGN | BalloonBoy"
  },
  "slots": [
    {
      "entrant_id": "242503",
      "provider_entrant_id": "24722838",
      "entrant_name": "Sandstorm",
      "seed": 2,
      "placement": 2,
      "placement_confirmed": true,
      "eliminated": true,
      "disqualified": false,
      "identity_ambiguous": false,
      "score": 2,
      "members": [
        {
          "image": "string",
          "gamerTag": "string",
          "playerId": "number",
          "provider": "string",
          "verified": "boolean",
          "identityId": "number",
          "providerName": "string",
          "gameAccountId": "string",
          "providerPlayerId": "string",
          "resolutionSource": "string"
        }
      ]
    },
    "… 1 more"
  ]
}
GET/v2/esports/organizers

Organizers

Tournament organizers.

Request

            
Response · 200
{
  "page": 1,
  "perPage": 2,
  "total": 1764,
  "totalPages": 882,
  "items": [
    {
      "id": "startgg:1609278",
      "provider": "startgg",
      "host_provider_id": "1609278",
      "host_name": "user/9cb0f70b",
      "is_official": false,
      "has_official_override": false,
      "reviewed_tournaments": "0",
      "tournaments": "1",
      "events": "1",
      "active_tournaments": "0",
      "upcoming_tournaments": "1",
      "completed_tournaments": "0",
      "active_events": "0",
      "recorded_entrants": "2",
      "first_tournament_at": "2036-04-21T04:59:00.000Z",
      "latest_tournament_at": "2036-04-21T04:59:00.000Z"
    },
    "… 1 more"
  ]
}
GET/v2/esports/organizers/:provider/:hostProviderId

One organizer

One organizer and the tournaments they ran.

Request

            
Response · 200
{
  "organizer": {
    "provider": "startgg",
    "host_provider_id": "1609278",
    "host_name": "user/9cb0f70b",
    "is_official": false,
    "has_official_override": false,
    "reviewed_tournaments": "0",
    "tournaments": "1",
    "events": "1",
    "active_tournaments": "0",
    "upcoming_tournaments": "1",
    "completed_tournaments": "0",
    "cancelled_tournaments": "0",
    "recorded_entrants": "2",
    "first_tournament_at": "2036-04-21T04:59:00.000Z",
    "latest_tournament_at": "2036-04-21T04:59:00.000Z"
  },
  "tournaments": [
    {
      "id": "269",
      "provider_id": "906531",
      "name": "DIAMOND 1 TOURNEY",
      "slug": "tournament/diamond-1-tourney",
      "url": "https://www.start.gg/tournament/diamond-1-tourney",
      "state": "upcoming",
      "visibility": "unknown",
      "is_official": false,
      "provider_is_official": false,
      "official_override": null,
      "official_override_set": false,
      "ranking_excluded": false,
      "ranking_exclusion_reason": null,
      "starts_at": "2036-04-21T04:59:00.000Z",
      "ends_at": "2037-04-20T17:56:00.000Z",
      "observed_at": "2026-10-04T07:39:58.007Z",
      "events": "1",
      "recorded_entrants": "2",
      "classification": "community",
      "community_series": null
    }
  ]
}

Players and teams

GET/v2/esports/players

Search players

Players across both providers, with every account linked to them. Takes search, provider, page and perPage.

Request

            
Response · 200
{
  "page": 1,
  "perPage": 2,
  "total": 1,
  "totalPages": 1,
  "items": [
    {
      "id": "71971",
      "display_name": "BalloonBoy",
      "brawlhalla_id": "95906862",
      "country": "United States",
      "created_at": "2026-09-30T08:52:06.211Z",
      "updated_at": "2026-10-18T12:47:13.308Z",
      "image": "https://image1.challengermode.com/028c61bc-e0dc-4a90-5ea0-08dd9ef1575c_64_64",
      "identities": [
        {
          "name": "string",
          "provider": "string",
          "verified": "boolean",
          "providerPlayerId": "string"
        },
        "… 1 more"
      ],
      "entrant_appearances": "307",
      "event_appearances": "307",
      "latest_event_at": "2026-10-16T16:00:00.000Z"
    }
  ]
}
GET/v2/esports/players/by-provider/:provider/:providerPlayerId

Player by provider ID

Find a player from a start.gg or Challengermode ID.

Request

            
Response · 200
{
  "identity_id": "71952",
  "provider": "startgg",
  "provider_player_id": "user:1196672",
  "provider_name": "BalloonBoy",
  "provider_brawlhalla_id": "95906862",
  "verified": true,
  "lookup_status": "resolved",
  "player_id": "71971",
  "display_name": "BalloonBoy",
  "brawlhalla_id": "95906862",
  "country": "United States"
}
GET/v2/esports/players/:playerId/history

Player results

A player's results, newest first.

Request

            
Response · 200
{
  "player": {
    "id": "71971",
    "display_name": "BalloonBoy",
    "brawlhalla_id": "95906862",
    "bmg_esports_id": "149305",
    "country": "United States",
    "banner_url": null,
    "bio": null,
    "prefix": "LGN",
    "twitter": "https://twitter.com/BBBalloonBoy",
    "twitch": "https://twitch.tv/BBBALLOONB0Y",
    "image": "https://image1.challengermode.com/028c61bc-e0dc-4a90-5ea0-08dd9ef1575c_64_64",
    "identities": [
      {
        "name": "BBBalloonBoy",
        "provider": "challengermode",
        "verified": true,
        "lookupStatus": "resolved",
        "providerPlayerId": "c8c51371-274b-48f4-9700-cfc28f5add06",
        "resolutionSource": "bmg_identity_lookup",
        "providerBrawlhallaId": "1d2e7dca-6bd0-44ed-922b-ab5e53b263ba"
      },
      "… 1 more"
    ]
  },
  "pastNames": [
    {
      "name": "BBBalloonBoy",
      "lastUsed": "2026-09-27T16:18:25.777Z",
      "events": 49
    },
    "… 1 more"
  ],
  "earnings": {
    "total": 68808.75,
    "byMode": {
      "1v1": 48955,
      "2v2": 19537.5,
      "other": 316.25
    },
    "prizeRecords": 103
  },
  "summary": {
    "sets": "1944",
    "completed_sets": "1942",
    "played_sets": "1896",
    "byes": "46",
    "wins": "1342",
    "losses": "554",
    "events": 307,
    "provider_event_records": 307,
    "mirrored_event_records": 0,
    "providers": [
      {
        "provider": "challengermode",
        "events": "49",
        "completed_sets": "373"
      },
      "… 1 more"
    ],
    "byMode": {
      "1": {
        "playedSets": 1114,
        "wins": 774,
        "losses": 340
      },
      "2": {
        "playedSets": 687,
        "wins": 499,
        "losses": 188
      },
      "other": {
        "playedSets": 95,
        "wins": 69,
        "losses": 26
      }
    }
  },
  "latestRankings": [
    {
      "region": "ALL",
      "game_mode": 1,
      "source_filter": "all",
      "algorithm_version": 12,
      "provisional": false,
      "generated_at": "2026-10-20T10:02:50.266Z",
      "data_through": "2026-10-03T17:52:15.468Z",
      "rank": 1,
      "previous_rank": 5,
      "points": "530.435557",
      "event_count": 6
    },
    "… 7 more"
  ],
  "rankingHistory": [
    {
      "snapshot_id": "9517",
      "region": "NA",
      "game_mode": 2,
      "source_filter": "all",
      "algorithm_version": 12,
      "provisional": false,
      "generated_at": "2026-10-19T03:00:53.115Z",
      "data_through": "2026-10-02T21:22:05.851Z",
      "rank": 3,
      "previous_rank": 1,
      "points": "351.315059",
      "event_count": 6
    },
    "… 19 more"
  ],
  "recentSets": [
    {
      "id": "2184777",
      "provider_set_id": "109043810",
      "state": "complete",
      "round_name": "Grand Final",
      "completed_at": "2026-10-17T22:49:02.000Z",
      "tournament_starts_at": "2026-10-16T16:00:00.000Z",
      "history_at": "2026-10-17T22:49:02.000Z",
      "completed_at_reliable": true,
      "event_id": "140",
      "provider": "startgg",
      "event_name": "($500 POT BONUS) Brawlhalla Singles",
      "tournament_name": "Platfight Gaming Championships 2026",
      "is_official": false,
      "slots": [
        {
          "score": "number",
          "winner": "boolean",
          "entrantId": "number",
          "entrantName": "string",
          "containsPlayer": "boolean"
        },
        "… 1 more"
      ]
    },
    "… 24 more"
  ],
  "events": [
    {
      "event_id": "140",
      "provider": "startgg",
      "provider_event_id": "1661603",
      "event_name": "($500 POT BONUS) Brawlhalla Singles",
      "tournament_name": "Platfight Gaming Championships 2026",
      "starts_at": "2026-10-16T16:00:00.000Z",
      "tournament_image": "https://images.start.gg/images/tournament/919405/image-c8f43b694e8373a858498da88c9fdd9a.pn…",
      "game_mode": 1,
      "region": null,
      "entrant_count": 11,
      "visibility": "unknown",
      "is_official": false,
      "ranking_excluded": false,
      "entrant_id": "242506",
      "entrant_name": "LGN | BalloonBoy",
      "seed": 1,
      "placement": 1,
      "placement_confirmed": true,
      "eliminated": true,
      "disqualified": false,
      "prize_roster_size": 1,
      "recorded_team_prize_usd": null,
      "recorded_prize_usd": null,
      "official_earnings_credit_usd": null,
      "recorded_prize_source": null,
      "recorded_prize_source_url": "https://www.start.gg/tournament/platfight-gaming-championships-2026",
      "setStats": {
        "allSets": 6,
        "completedSets": 6,
        "byes": 0,
        "playedSets": 6,
        "wins": 6,
        "losses": 0
      }
    },
    "… 306 more"
  ]
}
GET/v2/esports/players/:playerId/rankings

Player ranking history

A player's rank over time.

Request

            
Response · 200
[
  {
    "snapshot_id": "16055",
    "region": "ALL",
    "game_mode": 1,
    "source_filter": "challengermode",
    "algorithm_version": 12,
    "provisional": false,
    "generated_at": "2026-10-20T10:02:50.285Z",
    "data_through": "2026-10-03T17:52:15.468Z",
    "rank": 1,
    "previous_rank": 5,
    "points": "530.435557",
    "event_count": 6
  },
  "… 99 more"
]
GET/v2/esports/players/:playerId/season-ranking

Player rank in a preset

Where a player placed in one ranking preset. Takes region, gameMode and presetId.

Request

            
Response · 200
{
  "playerId": 71971,
  "region": "NA",
  "gameMode": 1,
  "preset": {
    "id": "current",
    "label": "Autumn Championship - North America 2026 - 1v1 – Brawlhalla World Championship Expo 2025 -…",
    "latest": "Autumn Championship - North America 2026 - 1v1",
    "oldest": "Brawlhalla World Championship Expo 2025 - 1v1",
    "image": "https://image1.challengermode.com/f06d68b6-bdf0-4241-26a4-08deeae5d04e_1280_720",
    "asOf": "2026-10-25T19:11:26.262Z",
    "startsAt": "2025-10-20T19:11:26.262Z",
    "current": true,
    "tournamentCount": 6
  },
  "rank": 1,
  "previousRank": 1,
  "points": 530.4355569734741,
  "eventCount": 6,
  "contributions": [
    {
      "eventId": "70",
      "entrantIds": [
        "240693"
      ],
      "provider": "challengermode",
      "provisional": false,
      "placement": 1,
      "placementPoints": 110,
      "winPoints": 23.437,
      "lossPoints": 16,
      "recencyMultiplier": 1,
      "tournamentMultiplier": 1,
      "totalPoints": 149.437,
      "eventName": "Autumn Championship - North America 2026 - 1v1",
      "tournamentName": "Autumn Championship - North America 2026 - 1v1",
      "startsAt": "2026-09-20T16:16:28.493Z",
      "tournamentImage": "https://image1.challengermode.com/f06d68b6-bdf0-4241-26a4-08deeae5d04e_1280_720"
    },
    "… 5 more"
  ]
}
GET/v2/esports/players/:playerId/events/:eventId

Player in one event

One player's run through one event.

Request

            
Response · 200
{
  "eventId": "70",
  "entrant": {
    "id": "240693",
    "seed": 1,
    "placement": 1,
    "name": "LGN | BBBalloonBoy's party"
  },
  "sets": [
    {
      "id": "867721",
      "roundName": "Upper bracket - Upper Round 2",
      "setOrder": 257,
      "at": "2026-09-20T16:16:28.493Z",
      "eventId": "70",
      "won": true,
      "myScore": 2,
      "theirScore": 0,
      "opponent": {
        "name": "tweedih",
        "seed": 257,
        "placement": 193,
        "members": [
          {
            "name": "string",
            "image": "null",
            "playerId": "string"
          },
          "… 1 items"
        ]
      },
      "games": [
        {
          "gameNumber": "number",
          "map": "string",
          "mine": "array",
          "own": "array",
          "theirs": "array",
          "won": "boolean"
        },
        "… 1 more"
      ]
    },
    "… 14 more"
  ],
  "summary": {
    "setWins": 14,
    "setLosses": 1,
    "gameWins": 42,
    "gameLosses": 10,
    "legends": [
      {
        "name": "Diana",
        "games": 35,
        "wins": 19,
        "known": 19
      }
    ],
    "opponentLegends": [
      {
        "name": "Priya",
        "games": 10,
        "wins": 0,
        "known": 4
      },
      "… 8 more"
    ],
    "maps": [
      {
        "name": "FortressoftheLions",
        "games": 16,
        "wins": 10,
        "known": 10
      },
      "… 4 more"
    ]
  }
}
GET/v2/esports/players/:playerId/opponents

Player opponents

Everyone a player has played, with set records.

Request

            
Response · 200
{
  "items": [
    {
      "player_id": "117698",
      "display_name": "megD",
      "image_url": "https://images.start.gg/images/user/867803/image-f204799319ac071bbb3a0dbd2183f7c1.jpeg?ehk…",
      "banner_url": "https://images.start.gg/images/user/867803/image-763e650108d8622cf457fc8b97dd773e.jpeg?ehk…",
      "prefix": null,
      "country": "Canada",
      "played_sets": "49",
      "wins": "23",
      "losses": "26",
      "events": "41",
      "last_played_at": "2025-11-08T03:01:34.000Z",
      "last_recorded_at": "2026-09-20T16:16:28.493Z"
    },
    "… 1 more"
  ],
  "total": 1267,
  "page": 1,
  "perPage": 2,
  "totalPages": 634
}
GET/v2/esports/players/:playerId/opponents/:opponentId

Player vs one opponent

A player's record against one opponent.

Request

            
Response · 200
{
  "opponentId": "117698",
  "summary": {
    "setWins": 23,
    "setLosses": 26,
    "gameWins": 83,
    "gameLosses": 88,
    "legends": [
      {
        "name": "Diana",
        "games": 24,
        "wins": 7,
        "known": 12
      },
      "… 2 more"
    ],
    "opponentLegends": [
      {
        "name": "LinFei",
        "games": 23,
        "wins": 4,
        "known": 8
      },
      "… 8 more"
    ],
    "maps": [
      {
        "name": "Fortress of Lions",
        "games": 32,
        "wins": 9,
        "known": 14
      },
      "… 4 more"
    ]
  },
  "matchups": [
    {
      "name": "Diana",
      "games": 24,
      "wins": 7,
      "known": 12,
      "against": [
        {
          "name": "string",
          "games": "number",
          "wins": "number",
          "known": "number"
        },
        "… 3 more"
      ],
      "maps": [
        {
          "name": "string",
          "games": "number",
          "wins": "number",
          "known": "number"
        },
        "… 2 more"
      ]
    },
    "… 2 more"
  ],
  "events": [
    {
      "eventId": "70",
      "sets": 1,
      "wins": 1,
      "losses": 0,
      "lastAt": "2026-09-20T16:16:28.493Z",
      "eventName": "Autumn Championship - North America 2026 - 1v1",
      "tournamentName": "Autumn Championship - North America 2026 - 1v1",
      "gameMode": 1,
      "image": null
    },
    "… 40 more"
  ],
  "sets": [
    {
      "id": "868485",
      "roundName": "Lower bracket - Lower Finals",
      "setOrder": 1021,
      "at": "2026-09-20T16:16:28.493Z",
      "eventId": "70",
      "won": true,
      "myScore": 3,
      "theirScore": 0,
      "opponent": {
        "name": "megD",
        "seed": 3,
        "placement": 3,
        "members": [
          {
            "name": "string",
            "image": "string",
            "playerId": "string"
          },
          "… 1 items"
        ]
      },
      "games": [
        {
          "gameNumber": "number",
          "map": "string",
          "mine": "array",
          "own": "array",
          "theirs": "array",
          "won": "boolean"
        },
        "… 2 more"
      ]
    },
    "… 48 more"
  ]
}
GET/v2/esports/players/:playerId/legacy-games

Legacy games

Games from the older official-data import.

Request

            
Response · 200
{
  "available": true,
  "source": "startgg-recorded",
  "directSetsWithGames": 978,
  "eventsWithGames": 171,
  "setsWithGames": 983,
  "gamesPlayed": 2728,
  "gamesWon": 1907,
  "byMode": {
    "1": {
      "eventsWithGames": 93,
      "setsWithGames": 576,
      "gamesPlayed": 1585,
      "gamesWon": 1116
    },
    "2": {
      "eventsWithGames": 69,
      "setsWithGames": 378,
      "gamesPlayed": 1070,
      "gamesWon": 737
    },
    "unknown": {
      "eventsWithGames": 9,
      "setsWithGames": 29,
      "gamesPlayed": 73,
      "gamesWon": 54
    }
  },
  "image": null,
  "banner": null,
  "names": [
    "BBBallonBoy",
    "… 1 more"
  ],
  "prefixes": [
    "Artillery",
    "… 12 more"
  ],
  "characters": [
    {
      "id": "Zariel",
      "name": "Zariel",
      "games": 245,
      "wins": 135
    },
    "… 16 more"
  ],
  "stages": [
    {
      "id": "",
      "name": "Fortress of Lions",
      "games": 177,
      "wins": 102
    },
    "… 13 more"
  ],
  "event": null,
  "recordedPrizes": [
    {
      "eventId": "4391",
      "entrantId": "181902",
      "amount": 0,
      "source": "startgg-legacy-cache"
    },
    "… 10 more"
  ]
}
GET/v2/esports/players/:playerId/cmode-games

Challengermode games

Game-level details from Challengermode.

Request

            
Response · 200
{
  "gamesWithDetails": 435,
  "setsWithDetails": 115,
  "setWins": 287,
  "setLosses": 86,
  "gamesPlayed": 1213,
  "gameWins": 843,
  "gameLosses": 370,
  "maps": [
    {
      "name": "FortressoftheLions",
      "games": 248,
      "wins": 70,
      "known": 96
    },
    "… 13 more"
  ],
  "legends": [
    {
      "name": "Zariel",
      "games": 174,
      "wins": 49,
      "known": 78
    },
    "… 8 more"
  ],
  "byMode": {
    "1": {
      "gamesWithDetails": 248,
      "setsWithDetails": 64,
      "setWins": 129,
      "setLosses": 37,
      "gamesPlayed": 538,
      "gameWins": 379,
      "gameLosses": 159,
      "maps": [
        {
          "name": "string",
          "games": "number",
          "wins": "number",
          "known": "number"
        },
        "… 7 more"
      ],
      "legends": [
        {
          "name": "string",
          "games": "number",
          "wins": "number",
          "known": "number"
        },
        "… 4 more"
      ]
    },
    "2": {
      "gamesWithDetails": 163,
      "setsWithDetails": 45,
      "setWins": 128,
      "setLosses": 36,
      "gamesPlayed": 551,
      "gameWins": 386,
      "gameLosses": 165,
      "maps": [
        {
          "name": "string",
          "games": "number",
          "wins": "number",
          "known": "number"
        },
        "… 8 more"
      ],
      "legends": [
        {
          "name": "string",
          "games": "number",
          "wins": "number",
          "known": "number"
        },
        "… 5 more"
      ]
    }
  }
}
GET/v2/esports/players/:playerId/avatar

Player avatar

Redirects to the player's avatar image.

Request

            
Response · 302
Location: https://image1.challengermode.com/028c61bc-e0dc-4a90-5ea0-08dd9ef1575c_64_64
GET/v2/esports/head-to-head/:firstPlayerId/:secondPlayerId

Head to head

Every set two players have played against each other, with win counts and the legends and maps they picked.

Request

            
Response · 200
{
  "players": [
    71971,
    "… 1 more"
  ],
  "canonicalPlayers": [
    71971,
    "… 1 more"
  ],
  "wins": {
    "71971": 23,
    "117698": 26
  },
  "gameUsage": {
    "71971": {
      "gamesWithDetails": 31,
      "setsWithDetails": 8,
      "setWins": 0,
      "setLosses": 0,
      "gamesPlayed": 31,
      "gameWins": 0,
      "gameLosses": 0,
      "maps": [
        {
          "name": "string",
          "games": "number",
          "wins": "number",
          "known": "number"
        },
        "… 2 more"
      ],
      "legends": [
        {
          "name": "string",
          "games": "number",
          "wins": "number",
          "known": "number"
        },
        "… 1 more"
      ],
      "byMode": {
        "1": {
          "gamesWithDetails": "number",
          "setsWithDetails": "number",
          "setWins": "number",
          "setLosses": "number",
          "gamesPlayed": "number",
          "gameWins": "number",
          "gameLosses": "number",
          "maps": "array",
          "legends": "array"
        },
        "2": {
          "gamesWithDetails": "number",
          "setsWithDetails": "number",
          "setWins": "number",
          "setLosses": "number",
          "gamesPlayed": "number",
          "gameWins": "number",
          "gameLosses": "number",
          "maps": "array",
          "legends": "array"
        }
      }
    },
    "117698": {
      "gamesWithDetails": 31,
      "setsWithDetails": 8,
      "setWins": 0,
      "setLosses": 0,
      "gamesPlayed": 31,
      "gameWins": 0,
      "gameLosses": 0,
      "maps": [
        {
          "name": "string",
          "games": "number",
          "wins": "number",
          "known": "number"
        },
        "… 2 more"
      ],
      "legends": [
        {
          "name": "string",
          "games": "number",
          "wins": "number",
          "known": "number"
        },
        "… 2 more"
      ],
      "byMode": {
        "1": {
          "gamesWithDetails": "number",
          "setsWithDetails": "number",
          "setWins": "number",
          "setLosses": "number",
          "gamesPlayed": "number",
          "gameWins": "number",
          "gameLosses": "number",
          "maps": "array",
          "legends": "array"
        },
        "2": {
          "gamesWithDetails": "number",
          "setsWithDetails": "number",
          "setWins": "number",
          "setLosses": "number",
          "gamesPlayed": "number",
          "gameWins": "number",
          "gameLosses": "number",
          "maps": "array",
          "legends": "array"
        }
      }
    }
  },
  "legendMatchups": {
    "71971": {
      "rows": [
        {
          "legend": "string",
          "games": "number",
          "opponentLegends": "array",
          "maps": "array"
        },
        "… 1 more"
      ],
      "byMode": {
        "1": {
          "rows": "array"
        },
        "2": {
          "rows": "array"
        }
      }
    },
    "117698": {
      "rows": [
        {
          "legend": "string",
          "games": "number",
          "opponentLegends": "array",
          "maps": "array"
        },
        "… 2 more"
      ],
      "byMode": {
        "1": {
          "rows": "array"
        },
        "2": {
          "rows": "array"
        }
      }
    }
  },
  "sets": [
    {
      "id": "868485",
      "provider_set_id": "4a6595af-31db-4dee-ebb3-08ded4cb1c19",
      "completed_at": null,
      "history_at": "2026-09-20T16:16:28.493Z",
      "completed_at_reliable": false,
      "round_name": "Lower bracket - Lower Finals",
      "score_source": "game_results",
      "event_id": "70",
      "provider": "challengermode",
      "game_mode": 1,
      "event_name": "Autumn Championship - North America 2026 - 1v1",
      "tournament_id": "70",
      "tournament_name": "Autumn Championship - North America 2026 - 1v1",
      "tournament_image_url": "https://image1.challengermode.com/f06d68b6-bdf0-4241-26a4-08deeae5d04e_1280_720",
      "tournament_starts_at": "2026-09-20T16:16:28.493Z",
      "slots": [
        {
          "score": "number",
          "winner": "boolean",
          "entrantId": "number",
          "entrantName": "string"
        },
        "… 1 more"
      ],
      "winner_player_ids": [
        "71971"
      ]
    },
    "… 48 more"
  ]
}
GET/v2/esports/teams

Teams

2v2 teams and how they've done together.

Request

            
Response · 200
{
  "page": 1,
  "perPage": 2,
  "total": 73193,
  "totalPages": 36597,
  "items": [
    {
      "player_ids": [
        "118917",
        "… 1 more"
      ],
      "players": [
        {
          "name": "string",
          "country": "null",
          "playerId": "number"
        },
        "… 1 more"
      ],
      "events": "50",
      "best_placement": 1,
      "latest_event_at": "2026-10-10T21:02:16.883Z",
      "providers": [
        "challengermode",
        "… 1 more"
      ],
      "official_events": "8",
      "community_events": "42",
      "id": "118917-120514"
    },
    "… 1 more"
  ]
}
GET/v2/esports/teams/history

Team results

Two players' results as a team. Takes playerIds, two IDs separated by a comma.

Request

            
Response · 200
{
  "playerIds": [
    118917,
    "… 1 more"
  ],
  "events": [
    {
      "entrant_id": "990161",
      "team_name": "Duo abençoado 🙏",
      "seed": 2,
      "placement": 3,
      "placement_confirmed": true,
      "eliminated": true,
      "disqualified": false,
      "event_id": "21",
      "provider": "challengermode",
      "event_name": "Kung Cup - South America #6",
      "tournament_name": "Kung Cup - South America #6",
      "starts_at": "2026-10-10T21:02:16.883Z",
      "visibility": "public",
      "is_official": false,
      "player_ids": [
        "118917",
        "… 1 more"
      ]
    },
    "… 49 more"
  ]
}

Site stats

GET/v2/esports/overview

Overview

Site-wide counts for the landing page.

Request

            
Response · 200
{
  "deliveryProgress": {
    "measuredAt": "2026-10-01",
    "overallPercent": 94,
    "goals": [
      {
        "id": "warehouse",
        "label": "Unified tournament warehouse",
        "percent": 94,
        "detail": "Both provider catalog cycles and all currently discovered historical event details are com…"
      },
      "… 2 more"
    ]
  },
  "counts": {
    "tournaments": "6145",
    "organizers": "1764",
    "events": "7830",
    "players": "252944",
    "sets": "1154605"
  },
  "detailBackfill": {
    "totalEvents": 7830,
    "detailedEvents": 7830,
    "remainingEvents": 0,
    "percentComplete": 100
  },
  "official": [
    {
      "classification": "community",
      "tournaments": "5515"
    },
    "… 1 more"
  ]
}
GET/v2/esports/attendance

Attendance

Entrant counts over time.

Request

            
Response · 200
[
  {
    "scope": "month",
    "month": "2026-10-01T06:00:00.000Z",
    "region": null,
    "events": "35",
    "entrant_slots": "685",
    "identified_players": "628",
    "unlinked_entrant_slots": "0"
  },
  "… 31 more"
]

Game data

/game

Data and art read from the Brawlhalla game files for each patch: legends, the store, metadata files, maps, animations and translations.

Legends

GET/game/legends/all

All legends

Every legend with full data.

Request

            
Response · 200
[
  {
    "codeName": "Viking",
    "id": "3",
    "image": "/game/getGfx/UI_Icons/a_Roster_Pose_BodvarM",
    "bio": {
      "botName": "Bötvar",
      "audio": {
        "lockIn": "VO_Announcer_Name_Bodvar_Play",
        "soundBank": "SPC_Bodvar"
      },
      "name": {
        "upper": "BÖDVAR",
        "normal": "Bödvar"
      },
      "aka": "The Unconquered Viking, The Great Bear",
      "quote": {
        "text": "I speak, you noble vikings, of a warrior who surpassed you all. I tell of a great bear-man…",
        "attrib": "-The Saga of Bödvar Bearson, first stanza"
      },
      "quote2": {
        "text": "Listen you nine-mothered bridge troll, I'm coming in, and the first beer I'm drinking is t…",
        "attrib": "-Bödvar to Heimdall, guardian of the gates of Asgard"
      },
      "text": "Born of a viking mother and bear father, Bödvar grew up feared and mistrusted by his own p…"
    },
    "release": 1398876065,
    "known": null,
    "home": "Brawlhaven,SmallBrawlhaven",
    "homeStages": [
      {
        "name": "Brawlhaven",
        "displayName": "Brawlhaven",
        "levelId": "2",
        "thumbnail": "a_LevelThumbNailBitmap01.jpg",
        "image": "/game/images/images/thumbnails/a_LevelThumbNailBitmap01.jpg"
      },
      "… 1 more"
    ],
    "missionTags": [
      "HammerUser",
      "… 8 more"
    ],
    "missionTagsFull": [
      "Hammer",
      "… 8 more"
    ],
    "weapons": {
      "main": {
        "image": "/game/getGfx/UI_Icons/a_WeaponIcon_Hammer",
        "name": "Hammer",
        "sigNames": {
          "nSig": "string",
          "sSig": "string",
          "dSig": "string"
        }
      },
      "secondary": {
        "image": "/game/getGfx/UI_Icons/a_WeaponIcon_Sword",
        "name": "Sword",
        "sigNames": {
          "nSig": "string",
          "sSig": "string",
          "dSig": "string"
        }
      }
    },
    "stances": {
      "stanceChanges": {
        "str": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        },
        "def": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        },
        "spe": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        },
        "dex": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        },
        "superStr": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        },
        "superDef": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        },
        "superSpe": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        },
        "superDex": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        },
        "challenge": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        }
      },
      "base": {
        "RuneKey": "Viking:0",
        "RuneLabel": "Viking - Base",
        "HeroName": "Viking",
        "StanceName": "Base",
        "RuneIndex": "0",
        "Strength": "6",
        "Dexterity": "6",
        "Weight": "5",
        "Speed": "5",
        "IconName": "a_StanceIcon_Base",
        "IconFileName": "UI_Icons"
      },
      "superStanceChanges": {
        "str": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        },
        "def": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        },
        "spe": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        },
        "dex": {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        }
      },
      "challenge": {
        "RuneKey": "Viking:9",
        "RuneLabel": "Viking - Challenge",
        "HeroName": "Viking",
        "StanceName": "Challenge",
        "RuneIndex": "9",
        "Strength": "4",
        "Dexterity": "4",
        "Weight": "3",
        "Speed": "3",
        "IconName": "a_StanceIcon_Challenge",
        "IconFileName": "UI_Icons"
      },
      "all": [
        {
          "RuneKey": "string",
          "RuneLabel": "string",
          "HeroName": "string",
          "StanceName": "string",
          "RuneIndex": "string",
          "Strength": "string",
          "Dexterity": "string",
          "Weight": "string",
          "Speed": "string",
          "IconName": "string",
          "IconFileName": "string"
        },
        "… 9 more"
      ],
      "str": "6",
      "def": "5",
      "spe": "5",
      "dex": "6"
    },
    "skins": [
      {
        "id": "3",
        "HeroID": "3",
        "HeroName": "Viking",
        "SkinInt": 0,
        "animTypes": {
          "idle": "string",
          "selected": "string",
          "idleOther": "string",
          "selectedOther": "string"
        },
        "SelectedAnimation": "SelectedViking",
        "rosterId": "",
        "upgradesTo": "",
        "homeField": "",
        "index": 0,
        "codeName": "Viking",
        "costumeData": {
          "CostumeName": "Viking",
          "CostumeID": "3",
          "CostumeIndex": "0",
          "OwnerHero": "Viking",
          "DefaultUnlocked": "TRUE",
          "DisplayNameKey": "",
          "Description": "",
          "CostumeIcon": "a_SkinIcon_Bodvar_Classic",
          "CostumeIconFileName": "UI_Icons",
          "MissionTags": "",
          "…": "103 more entries"
        },
        "storeData": {
          "StoreName": "Bodvar",
          "StoreID": "1",
          "DisplayNameKey": "StoreType_Bodvar_DisplayName",
          "IconName": "",
          "IdolCost": "100",
          "GoldCost": "900",
          "RankedPointsCost": "",
          "GuildGemsCost": "",
          "SpecialCurrencyType": "",
          "SpecialCurrencyCost": "",
          "…": "42 more entries"
        },
        "tags": [
          "string",
          "… 1 items"
        ],
        "tagsFull": [
          "string",
          "… 1 items"
        ],
        "stuff": {
          "ReplacementHeroName": "string",
          "WeaponSet": "string",
          "WeaponSet2": "array"
        },
        "cost": {
          "rarity": "string",
          "mammothCoins": "string",
          "saleMammothCoins": "string",
          "coins": "string",
          "saleCoins": "string",
          "glory": "string"
        },
        "timed": {
          "eventType": "string",
          "typeOfEvent": "string"
        },
        "name": "",
        "description": "StoreType_Bodvar_Description",
        "crossover": {
          "isCrossover": "string",
          "gem": "string",
          "gemFileName": "string"
        },
        "icon": {
          "name": "string",
          "file": "string"
        },
        "image": "/game/getGfx/UI_Icons/a_SkinIcon_Bodvar_Classic",
        "colors": {
          "excluded": "string",
          "default": "string",
          "excludedData": "array",
          "defaultData": "object"
        },
        "gfx": {
          "CustomArt": "string",
          "CustomArt2": "string",
          "CustomArt3": "string",
          "CustomArt4": "string",
          "CustomArt5": "string",
          "CustomArt6": "string",
          "CustomArt7": "string",
          "CustomArt8": "string",
          "CustomArt9": "string",
          "CustomArt10": "string",
          "ColorSwap": "string",
          "ColorSwap2": "string",
          "ColorSwap3": "string",
          "ColorSwap4": "string",
          "ColorSwap5": "string",
          "AsymmetrySwapFlags": "string"
        },
        "pieces": {
          "Hair_Define": "string",
          "HairDk_Define": "string",
          "Body1Lt_Define": "string",
          "Body1_Define": "string",
          "Body2_Define": "string",
          "Body2Dk_Define": "string",
          "SpecialLt_Define": "string",
          "Special_Define": "string",
          "SpecialDk_Define": "string",
          "HandsLt_Define": "string",
          "HandsDk_Define": "string",
          "ClothLt_Define": "string",
          "Cloth_Define": "string",
          "Weapon_Define": "string",
          "WeaponDk_Define": "string",
          "HandsLt_Swap": "string",
          "HandsDk_Swap": "string"
        }
      },
      "… 14 more"
    ]
  },
  "… 84 more"
]
GET/game/legends/summary

Legend summaries

Every legend's name, bio, weapons and portrait.

Request

            
Response · 200
[
  {
    "codeName": "Viking",
    "id": "3",
    "image": "/game/getGfx/UI_Icons/a_Roster_Pose_BodvarM",
    "bio": {
      "botName": "Bötvar",
      "audio": {
        "lockIn": "VO_Announcer_Name_Bodvar_Play",
        "soundBank": "SPC_Bodvar"
      },
      "name": {
        "upper": "BÖDVAR",
        "normal": "Bödvar"
      },
      "aka": "The Unconquered Viking, The Great Bear",
      "quote": {
        "text": "I speak, you noble vikings, of a warrior who surpassed you all. I tell of a great bear-man…",
        "attrib": "-The Saga of Bödvar Bearson, first stanza"
      },
      "quote2": {
        "text": "Listen you nine-mothered bridge troll, I'm coming in, and the first beer I'm drinking is t…",
        "attrib": "-Bödvar to Heimdall, guardian of the gates of Asgard"
      },
      "text": "Born of a viking mother and bear father, Bödvar grew up feared and mistrusted by his own p…"
    },
    "release": 1398876065,
    "missionTags": [
      "HammerUser",
      "… 8 more"
    ],
    "missionTagsFull": [
      "Hammer",
      "… 8 more"
    ],
    "weapons": {
      "main": {
        "image": "/game/getGfx/UI_Icons/a_WeaponIcon_Hammer",
        "name": "Hammer",
        "sigNames": {
          "nSig": "string",
          "sSig": "string",
          "dSig": "string"
        }
      },
      "secondary": {
        "image": "/game/getGfx/UI_Icons/a_WeaponIcon_Sword",
        "name": "Sword",
        "sigNames": {
          "nSig": "string",
          "sSig": "string",
          "dSig": "string"
        }
      }
    },
    "stances": {
      "str": "6",
      "def": "5",
      "spe": "5",
      "dex": "6"
    }
  },
  "… 84 more"
]
GET/game/legends/:id

One legend

One legend, including stats, skins and home stages.

Request

            
Response · 200
{
  "codeName": "Viking",
  "id": "3",
  "image": "/game/getGfx/UI_Icons/a_Roster_Pose_BodvarM",
  "bio": {
    "botName": "Bötvar",
    "audio": {
      "lockIn": "VO_Announcer_Name_Bodvar_Play",
      "soundBank": "SPC_Bodvar"
    },
    "name": {
      "upper": "BÖDVAR",
      "normal": "Bödvar"
    },
    "aka": "The Unconquered Viking, The Great Bear",
    "quote": {
      "text": "I speak, you noble vikings, of a warrior who surpassed you all. I tell of a great bear-man…",
      "attrib": "-The Saga of Bödvar Bearson, first stanza"
    },
    "quote2": {
      "text": "Listen you nine-mothered bridge troll, I'm coming in, and the first beer I'm drinking is t…",
      "attrib": "-Bödvar to Heimdall, guardian of the gates of Asgard"
    },
    "text": "Born of a viking mother and bear father, Bödvar grew up feared and mistrusted by his own p…"
  },
  "release": 1398876065,
  "known": null,
  "home": "Brawlhaven,SmallBrawlhaven",
  "homeStages": [
    {
      "name": "Brawlhaven",
      "displayName": "Brawlhaven",
      "levelId": "2",
      "thumbnail": "a_LevelThumbNailBitmap01.jpg",
      "image": "/game/images/images/thumbnails/a_LevelThumbNailBitmap01.jpg"
    },
    "… 1 more"
  ],
  "missionTags": [
    "HammerUser",
    "… 8 more"
  ],
  "missionTagsFull": [
    "Hammer",
    "… 8 more"
  ],
  "weapons": {
    "main": {
      "image": "/game/getGfx/UI_Icons/a_WeaponIcon_Hammer",
      "name": "Hammer",
      "sigNames": {
        "nSig": "HammerSmashNeutralViking",
        "sSig": "HammerSmashSideViking",
        "dSig": "HammerSmashDownViking"
      }
    },
    "secondary": {
      "image": "/game/getGfx/UI_Icons/a_WeaponIcon_Sword",
      "name": "Sword",
      "sigNames": {
        "nSig": "SwordSmashNeutralViking",
        "sSig": "SwordSmashSideViking",
        "dSig": "SwordSmashDownViking"
      }
    }
  },
  "stances": {
    "stanceChanges": {
      "str": {
        "RuneKey": "Viking:4",
        "RuneLabel": "Viking - Strength",
        "HeroName": "Viking",
        "StanceName": "Strength",
        "RuneIndex": "4",
        "Strength": "7",
        "Dexterity": "5",
        "Weight": "5",
        "Speed": "5",
        "IconName": "a_StanceIcon_Strength",
        "IconFileName": "UI_Icons"
      },
      "def": {
        "RuneKey": "Viking:2",
        "RuneLabel": "Viking - Weight",
        "HeroName": "Viking",
        "StanceName": "Weight",
        "RuneIndex": "2",
        "Strength": "6",
        "Dexterity": "6",
        "Weight": "6",
        "Speed": "4",
        "IconName": "a_StanceIcon_Weight",
        "IconFileName": "UI_Icons"
      },
      "spe": {
        "RuneKey": "Viking:1",
        "RuneLabel": "Viking - Speed",
        "HeroName": "Viking",
        "StanceName": "Speed",
        "RuneIndex": "1",
        "Strength": "5",
        "Dexterity": "6",
        "Weight": "5",
        "Speed": "6",
        "IconName": "a_StanceIcon_Speed",
        "IconFileName": "UI_Icons"
      },
      "dex": {
        "RuneKey": "Viking:3",
        "RuneLabel": "Viking - Dexterity",
        "HeroName": "Viking",
        "StanceName": "Dexterity",
        "RuneIndex": "3",
        "Strength": "6",
        "Dexterity": "7",
        "Weight": "4",
        "Speed": "5",
        "IconName": "a_StanceIcon_Dexterity",
        "IconFileName": "UI_Icons"
      },
      "superStr": {
        "RuneKey": "Viking:8",
        "RuneLabel": "Viking - Super Strength",
        "HeroName": "Viking",
        "StanceName": "Super Strength",
        "RuneIndex": "8",
        "Strength": "8",
        "Dexterity": "5",
        "Weight": "4",
        "Speed": "5",
        "IconName": "a_StanceIcon_SuperStrength",
        "IconFileName": "UI_Icons"
      },
      "superDef": {
        "RuneKey": "Viking:6",
        "RuneLabel": "Viking - Super Weight",
        "HeroName": "Viking",
        "StanceName": "Super Weight",
        "RuneIndex": "6",
        "Strength": "5",
        "Dexterity": "6",
        "Weight": "7",
        "Speed": "4",
        "IconName": "a_StanceIcon_SuperWeight",
        "IconFileName": "UI_Icons"
      },
      "superSpe": {
        "RuneKey": "Viking:5",
        "RuneLabel": "Viking - Super Speed",
        "HeroName": "Viking",
        "StanceName": "Super Speed",
        "RuneIndex": "5",
        "Strength": "5",
        "Dexterity": "5",
        "Weight": "5",
        "Speed": "7",
        "IconName": "a_StanceIcon_SuperSpeed",
        "IconFileName": "UI_Icons"
      },
      "superDex": {
        "RuneKey": "Viking:7",
        "RuneLabel": "Viking - Super Dexterity",
        "HeroName": "Viking",
        "StanceName": "Super Dexterity",
        "RuneIndex": "7",
        "Strength": "6",
        "Dexterity": "8",
        "Weight": "4",
        "Speed": "4",
        "IconName": "a_StanceIcon_SuperDexterity",
        "IconFileName": "UI_Icons"
      },
      "challenge": {
        "RuneKey": "Viking:9",
        "RuneLabel": "Viking - Challenge",
        "HeroName": "Viking",
        "StanceName": "Challenge",
        "RuneIndex": "9",
        "Strength": "4",
        "Dexterity": "4",
        "Weight": "3",
        "Speed": "3",
        "IconName": "a_StanceIcon_Challenge",
        "IconFileName": "UI_Icons"
      }
    },
    "base": {
      "RuneKey": "Viking:0",
      "RuneLabel": "Viking - Base",
      "HeroName": "Viking",
      "StanceName": "Base",
      "RuneIndex": "0",
      "Strength": "6",
      "Dexterity": "6",
      "Weight": "5",
      "Speed": "5",
      "IconName": "a_StanceIcon_Base",
      "IconFileName": "UI_Icons"
    },
    "superStanceChanges": {
      "str": {
        "RuneKey": "Viking:8",
        "RuneLabel": "Viking - Super Strength",
        "HeroName": "Viking",
        "StanceName": "Super Strength",
        "RuneIndex": "8",
        "Strength": "8",
        "Dexterity": "5",
        "Weight": "4",
        "Speed": "5",
        "IconName": "a_StanceIcon_SuperStrength",
        "IconFileName": "UI_Icons"
      },
      "def": {
        "RuneKey": "Viking:6",
        "RuneLabel": "Viking - Super Weight",
        "HeroName": "Viking",
        "StanceName": "Super Weight",
        "RuneIndex": "6",
        "Strength": "5",
        "Dexterity": "6",
        "Weight": "7",
        "Speed": "4",
        "IconName": "a_StanceIcon_SuperWeight",
        "IconFileName": "UI_Icons"
      },
      "spe": {
        "RuneKey": "Viking:5",
        "RuneLabel": "Viking - Super Speed",
        "HeroName": "Viking",
        "StanceName": "Super Speed",
        "RuneIndex": "5",
        "Strength": "5",
        "Dexterity": "5",
        "Weight": "5",
        "Speed": "7",
        "IconName": "a_StanceIcon_SuperSpeed",
        "IconFileName": "UI_Icons"
      },
      "dex": {
        "RuneKey": "Viking:7",
        "RuneLabel": "Viking - Super Dexterity",
        "HeroName": "Viking",
        "StanceName": "Super Dexterity",
        "RuneIndex": "7",
        "Strength": "6",
        "Dexterity": "8",
        "Weight": "4",
        "Speed": "4",
        "IconName": "a_StanceIcon_SuperDexterity",
        "IconFileName": "UI_Icons"
      }
    },
    "challenge": {
      "RuneKey": "Viking:9",
      "RuneLabel": "Viking - Challenge",
      "HeroName": "Viking",
      "StanceName": "Challenge",
      "RuneIndex": "9",
      "Strength": "4",
      "Dexterity": "4",
      "Weight": "3",
      "Speed": "3",
      "IconName": "a_StanceIcon_Challenge",
      "IconFileName": "UI_Icons"
    },
    "all": [
      {
        "RuneKey": "Viking:0",
        "RuneLabel": "Viking - Base",
        "HeroName": "Viking",
        "StanceName": "Base",
        "RuneIndex": "0",
        "Strength": "6",
        "Dexterity": "6",
        "Weight": "5",
        "Speed": "5",
        "IconName": "a_StanceIcon_Base",
        "IconFileName": "UI_Icons"
      },
      "… 9 more"
    ],
    "str": "6",
    "def": "5",
    "spe": "5",
    "dex": "6"
  },
  "skins": [
    {
      "id": "3",
      "HeroID": "3",
      "HeroName": "Viking",
      "SkinInt": 0,
      "animTypes": {
        "idle": "IdleViking",
        "selected": "SelectedViking",
        "idleOther": "IdleViking",
        "selectedOther": "SelectedViking"
      },
      "SelectedAnimation": "SelectedViking",
      "rosterId": "",
      "upgradesTo": "",
      "homeField": "",
      "index": 0,
      "codeName": "Viking",
      "costumeData": {
        "CostumeName": "Viking",
        "CostumeID": "3",
        "CostumeIndex": "0",
        "OwnerHero": "Viking",
        "DefaultUnlocked": "TRUE",
        "DisplayNameKey": "",
        "Description": "",
        "CostumeIcon": "a_SkinIcon_Bodvar_Classic",
        "CostumeIconFileName": "UI_Icons",
        "MissionTags": "",
        "…": "103 more entries"
      },
      "storeData": {
        "StoreName": "Bodvar",
        "StoreID": "1",
        "DisplayNameKey": "StoreType_Bodvar_DisplayName",
        "IconName": "",
        "IdolCost": "100",
        "GoldCost": "900",
        "RankedPointsCost": "",
        "GuildGemsCost": "",
        "SpecialCurrencyType": "",
        "SpecialCurrencyCost": "",
        "…": "42 more entries"
      },
      "tags": [
        ""
      ],
      "tagsFull": [
        ""
      ],
      "stuff": {
        "ReplacementHeroName": "",
        "WeaponSet": "Viking",
        "WeaponSet2": [
          {
            "WeaponSkinName": "string",
            "WeaponSkinID": "string",
            "DbID": "string",
            "BaseWeapon": "string",
            "OwnerHero": "string",
            "UpgradesTo": "string",
            "DisplayNameKey": "string",
            "AltDisplayNameKey": "string",
            "Description": "string",
            "WeaponIcon": "string",
            "CustomArt": "string",
            "CustomArt2": "string",
            "CustomArt3": "string",
            "AsymmetrySwapFlags": "string",
            "HideRightPistol2D": "string",
            "InheritCostumeDefines": "string",
            "HairLt_Define": "string",
            "Hair_Define": "string",
            "HairDk_Define": "string",
            "Body1VL_Define": "string",
            "Body1Lt_Define": "string",
            "Body1_Define": "string",
            "Body1Dk_Define": "string",
            "Body1VD_Define": "string",
            "Body1Acc_Define": "string",
            "Body2VL_Define": "string",
            "Body2Lt_Define": "string",
            "Body2_Define": "string",
            "Body2Dk_Define": "string",
            "Body2VD_Define": "string",
            "Body2Acc_Define": "string",
            "SpecialVL_Define": "string",
            "SpecialLt_Define": "string",
            "Special_Define": "string",
            "SpecialDk_Define": "string",
            "SpecialVD_Define": "string",
            "SpecialAcc_Define": "string",
            "HandsLt_Define": "string",
            "HandsDk_Define": "string",
            "HandsSkinLt_Define": "string",
            "HandsSkinDk_Define": "string",
            "ClothVL_Define": "string",
            "ClothLt_Define": "string",
            "Cloth_Define": "string",
            "ClothDk_Define": "string",
            "WeaponVL_Define": "string",
            "WeaponLt_Define": "string",
            "Weapon_Define": "string",
            "WeaponDk_Define": "string",
            "WeaponAcc_Define": "string",
            "UseRightKatar": "string",
            "UseRightGauntlet": "string",
            "CostumeOverrides": "string",
            "OverrideCustomArt": "string",
            "CustomArtPickup": "string",
            "CustomArtPickup2": "string",
            "CustomArtCostume": "string",
            "AttackFxLt_Swap": "string",
            "AttackFxDk_Swap": "string",
            "SoundBank": "string",
            "AttackSoundOverride1": "string",
            "AttackSoundOverride2": "string",
            "AttackSoundOverride3": "string",
            "AttackSoundOverride4": "string",
            "AttackSoundOverride5": "string",
            "AttackSoundOverride6": "string",
            "AttackSoundOverride7": "string",
            "AttackSoundOverride8": "string",
            "AttackSoundOverride9": "string",
            "AttackSoundOverride10": "string",
            "AttackSoundOverride11": "string",
            "AttackSoundOverride12": "string",
            "AttackSoundOverride13": "string",
            "AttackSoundOverride14": "string",
            "AttackSoundOverride15": "string",
            "AttackSoundOverride16": "string",
            "AttackSoundOverride17": "string",
            "AttackSoundOverride18": "string",
            "AttackSoundOverride19": "string",
            "AttackSoundOverride20": "string",
            "AttackSoundOverride21": "string",
            "AttackSoundOverride22": "string",
            "AttackSoundOverride23": "string",
            "AttackSoundOverride24": "string",
            "AttackSoundOverride25": "string",
            "AttackSoundOverride26": "string",
            "AttackSoundOverride27": "string",
            "AttackSoundOverride28": "string",
            "AttackSoundOverride29": "string",
            "AttackSoundOverride30": "string",
            "AttackGfxOverrideSource1": "string",
            "AttackGfxOverride1": "object",
            "AttackGfxOverrideSource2": "string",
            "AttackGfxOverride2": "object",
            "AttackGfxOverrideSource3": "string",
            "AttackGfxOverride3": "object",
            "AttackGfxOverrideSource4": "string",
            "AttackGfxOverride4": "object",
            "AttackGfxOverrideSource5": "string",
            "AttackGfxOverride5": "object",
            "AttackGfxOverrideSource6": "string",
            "AttackGfxOverride6": "object",
            "AttackGfxOverrideSource7": "string",
            "AttackGfxOverride7": "object",
            "AttackGfxOverrideSource8": "string",
            "AttackGfxOverride8": "object",
            "AttackGfxOverrideSource9": "string",
            "AttackGfxOverride9": "object",
            "AttackGfxOverrideSource10": "string",
            "AttackGfxOverride10": "object",
            "AttackGfxOverrideSource11": "string",
            "AttackGfxOverride11": "object",
            "AttackGfxOverrideSource12": "string",
            "AttackGfxOverride12": "object",
            "AttackGfxOverrideSource13": "string",
            "AttackGfxOverride13": "object",
            "AttackGfxOverrideSource14": "string",
            "AttackGfxOverride14": "object",
            "DisplayNameFull": "string"
          },
          "… 2 items"
        ]
      },
      "cost": {
        "rarity": "",
        "mammothCoins": "100",
        "saleMammothCoins": "80",
        "coins": "900",
        "saleCoins": "",
        "glory": ""
      },
      "timed": {
        "eventType": "",
        "typeOfEvent": ""
      },
      "name": "",
      "description": "StoreType_Bodvar_Description",
      "crossover": {
        "isCrossover": "",
        "gem": "",
        "gemFileName": ""
      },
      "icon": {
        "name": "a_SkinIcon_Bodvar_Classic",
        "file": "UI_Icons"
      },
      "image": "/game/getGfx/UI_Icons/a_SkinIcon_Bodvar_Classic",
      "colors": {
        "excluded": "Green,Holiday",
        "default": "Blue,Yellow,Brown",
        "excludedData": [
          {
            "ColorSchemeID": "string",
            "ColorSchemeName": "string",
            "displayName": "string",
            "DisplayNameKey": "string",
            "IconName": "string",
            "IndicatorColor": "string"
          },
          "… 2 items"
        ],
        "defaultData": {
          "ColorSchemeName": "string",
          "displayName": "string"
        }
      },
      "gfx": {
        "CustomArt": "Gfx_Player.swf/NoAccent",
        "CustomArt2": "Gfx_Viking.swf/Viking",
        "CustomArt3": "Gfx_Hands.swf/Claw",
        "CustomArt4": "Gfx_Viking.swf/Sleeveless",
        "CustomArt5": "",
        "CustomArt6": "",
        "CustomArt7": "",
        "CustomArt8": "Gfx_Viking.swf/AllViking",
        "CustomArt9": "",
        "CustomArt10": "",
        "ColorSwap": "",
        "ColorSwap2": "",
        "ColorSwap3": "",
        "ColorSwap4": "",
        "ColorSwap5": "",
        "AsymmetrySwapFlags": ""
      },
      "pieces": {
        "Hair_Define": "0xECF185",
        "HairDk_Define": "0x9CA75F",
        "Body1Lt_Define": "0x84CE6F",
        "Body1_Define": "0x3F985B",
        "Body2_Define": "0x477860",
        "Body2Dk_Define": "0x2D4A44",
        "SpecialLt_Define": "0xC6FFEF",
        "Special_Define": "0x20FFC1",
        "SpecialDk_Define": "0x00B98F",
        "HandsLt_Define": "0xBFFFFC",
        "HandsDk_Define": "0x54ABEB",
        "ClothLt_Define": "0xFFFFCC",
        "Cloth_Define": "0xB7C168",
        "Weapon_Define": "0x57BDB0",
        "WeaponDk_Define": "0x3A9489",
        "HandsLt_Swap": "Body1Lt",
        "HandsDk_Swap": "Body1"
      }
    },
    "… 14 more"
  ]
}
GET/game/legends/:id/animations

Legend animations

The animations a legend uses.

Request

            
Response · 200
{
  "manifest": "2498497305844615366",
  "legend": {
    "id": 3,
    "codeName": "Viking",
    "name": "Bödvar"
  },
  "weapons": [
    {
      "slot": 1,
      "name": "Hammer",
      "image": "/game/getGfx/UI_Icons/a_WeaponIcon_Hammer",
      "signatures": [
        {
          "input": "string",
          "label": "string",
          "weaponSlot": "number",
          "weapon": "string",
          "powerName": "string",
          "basePowerName": "string",
          "alternate": "boolean",
          "rig": "string",
          "powers": "array"
        },
        "… 2 more"
      ]
    },
    "… 1 more"
  ]
}
GET/game/legends/art/:name

Legend portrait

Redirects to a legend's portrait. Takes the legend's code name, such as Viking.

Request

            
Response · 302
Location: /game/getGfx/UI_Icons/a_Roster_Pose_BodvarM
GET/game/legends/crossover

Crossovers

Crossover characters.

Request

            
Response · 200
[
  {
    "id": "3-11",
    "HeroID": "3",
    "HeroName": "Viking",
    "SkinInt": 11,
    "animTypes": {
      "idle": "IdleViking",
      "selected": "SelectedViking",
      "idleOther": "IdleXavier",
      "selectedOther": "SelectedXavier"
    },
    "SelectedAnimation": "SelectedXavier",
    "rosterId": "403",
    "upgradesTo": "",
    "homeField": "Ring",
    "index": 11,
    "codeName": "Xavier",
    "costumeData": {
      "CostumeName": "Xavier",
      "CostumeID": "410",
      "CostumeIndex": "11",
      "OwnerHero": "Viking",
      "DefaultUnlocked": "FALSE",
      "DisplayNameKey": "CostumeType_Xavier_DisplayName",
      "Description": "",
      "CostumeIcon": "a_SkinIcon_Bodvar_Xavier",
      "CostumeIconFileName": "UI_Icons",
      "MissionTags": "",
      "…": "103 more entries"
    },
    "storeData": {
      "StoreName": "Xavier",
      "StoreID": "697",
      "DisplayNameKey": "CostumeType_Xavier_DisplayName",
      "IconName": "",
      "IdolCost": "300",
      "GoldCost": "",
      "RankedPointsCost": "",
      "GuildGemsCost": "",
      "SpecialCurrencyType": "",
      "SpecialCurrencyCost": "",
      "…": "42 more entries"
    },
    "tags": [
      ""
    ],
    "tagsFull": [
      ""
    ],
    "stuff": {
      "ReplacementHeroName": "",
      "WeaponSet": "Xavier",
      "WeaponSet2": [
        {
          "WeaponSkinName": "HammerXavier",
          "WeaponSkinID": "928",
          "DbID": "",
          "BaseWeapon": "Hammer",
          "OwnerHero": "",
          "UpgradesTo": "",
          "DisplayNameKey": "WeaponSkinType_HammerXavier_DisplayName",
          "AltDisplayNameKey": "",
          "Description": "",
          "WeaponIcon": "",
          "…": "109 more entries"
        },
        "… 1 more"
      ]
    },
    "cost": {
      "rarity": "EpicCrossover",
      "mammothCoins": "300",
      "saleMammothCoins": "240",
      "coins": "",
      "saleCoins": "",
      "glory": ""
    },
    "timed": {
      "eventType": "WWE",
      "typeOfEvent": ""
    },
    "name": "Xavier Woods",
    "description": "StoreType_Xavier_Description",
    "crossover": {
      "isCrossover": "TRUE",
      "gem": "a_Roster_Gem_WWE",
      "gemFileName": "UI_Roster"
    },
    "icon": {
      "name": "a_SkinIcon_Bodvar_Xavier",
      "file": "UI_Icons"
    },
    "image": "/game/getGfx/UI_Icons/a_Roster_Pose_XavierM",
    "colors": {
      "excluded": "",
      "default": "Blue,Yellow,Green",
      "excludedData": [],
      "defaultData": {
        "ColorSchemeName": "Blue,Yellow,Green",
        "displayName": "Blue,Yellow,Green"
      }
    },
    "gfx": {
      "CustomArt": "Gfx_Player.swf/NoAccent",
      "CustomArt2": "Gfx_Viking.swf/Xavier",
      "CustomArt3": "Gfx_Hands.swf/BaseHand",
      "CustomArt4": "Gfx_Player.swf/NoNose",
      "CustomArt5": "",
      "CustomArt6": "",
      "CustomArt7": "",
      "CustomArt8": "Gfx_Viking.swf/Xavier",
      "CustomArt9": "",
      "CustomArt10": "",
      "ColorSwap": "",
      "ColorSwap2": "",
      "ColorSwap3": "",
      "ColorSwap4": "",
      "ColorSwap5": "",
      "AsymmetrySwapFlags": ""
    },
    "pieces": {
      "Hair_Define": "0x362923",
      "HairDk_Define": "0x1F1714",
      "Body1_Define": "0x0DC8F3",
      "Body1Dk_Define": "0x0971C6",
      "Body2_Define": "0xFF1EE2",
      "Body2Dk_Define": "0x9111BC",
      "SpecialVL_Define": "0xFFC265",
      "Special_Define": "0xC5052C",
      "SpecialDk_Define": "0x6C090E",
      "HandsLt_Define": "0xBFFFFC",
      "HandsDk_Define": "0x54ABEB",
      "HandsSkinLt_Define": "0xFFCC99",
      "HandsSkinDk_Define": "0xFF926C",
      "Cloth_Define": "0xFFFFFA",
      "ClothDk_Define": "0xACB3F0",
      "WeaponLt_Define": "0x96B8C1",
      "Weapon_Define": "0x2A3D41",
      "WeaponDk_Define": "0x141E1D",
      "HandsLt_Swap": "Body2",
      "HandsDk_Swap": "Body2Dk",
      "HandsSkinLt_Swap": "0xA55F45",
      "HandsSkinDk_Swap": "0x5D3627"
    }
  },
  "… 92 more"
]
GET/game/legends/mods/all, /game/legends/mods/:id

Legend mods

Legend mod data. :id is a mod ID from the list, such as 50_mod, or just 50.

Request

            
Response · 200
{
  "codeName": "RageFighter",
  "id": "50_mod",
  "isMod": true,
  "image": "/game/getGfx/UI_Icons/a_Roster_Pose_RagefighterM",
  "bio": {
    "name": {
      "upper": "PETRA",
      "normal": "Petra"
    }
  },
  "skins": [
    {
      "folder": "gogeta",
      "internal": "PrimalHeart",
      "newInternal": "Gogeta",
      "name": "Gogeta",
      "link": "https://gamebanana.com/mods/519650",
      "createdBy": "LordShadow505, Zustos, & Atomic Studio",
      "commissioner": "Swirft",
      "replace": [
        [
          "string",
          "… 2 items"
        ],
        "… 39 more"
      ],
      "colors": {
        "excluded": "Brown",
        "default": "Blue,Yellow,Green"
      },
      "id": "405",
      "rosterId": "",
      "upgradesTo": "",
      "homeField": "",
      "index": "3",
      "codeName": "Gogeta",
      "gfx": {
        "CustomArt": "Gfx_Player.swf/NoAccent",
        "CustomArt2": "Gfx_Skins_04.swf/Gogeta",
        "CustomArt3": "Gfx_Hands.swf/Claw2",
        "CustomArt4": "Gfx_Player.swf/NoNose",
        "CustomArt5": "right:Gfx_Hands.swf/Bare",
        "CustomArt6": "Right:Gfx_Skins_04.swf/Gogeta",
        "CustomArt7": "",
        "CustomArt8": "Gfx_Player_04.swf/AllOrb4",
        "CustomArt9": "",
        "CustomArt10": "",
        "ColorSwap": "",
        "ColorSwap2": "",
        "ColorSwap3": "",
        "ColorSwap4": "",
        "ColorSwap5": "",
        "AsymmetrySwapFlags": "FOREARM"
      },
      "pieces": {
        "HairLt_Define": "0x17b6db",
        "Hair_Define": "0x18b4d8",
        "HairDk_Define": "0x0b6ea0",
        "Body1Lt_Define": "0x5b5e65",
        "Body1Dk_Define": "0x283130",
        "Body2Lt_Define": "0x17849d",
        "Body2Dk_Define": "0x07546a",
        "SpecialLt_Define": "0xe7e05d",
        "SpecialDk_Define": "0xb68e0c",
        "HandsLt_Define": "0xbffffc",
        "HandsDk_Define": "0x54abeb",
        "ClothLt_Define": "0xd6d6ce",
        "ClothDk_Define": "0xa6a5a3",
        "HandsLt_Swap": "0xf6bd90",
        "HandsDk_Swap": "0xcc8354"
      }
    }
  ]
}
GET/game/legends/:id/:id2/create[/:isMod]

Legend render

Renders a legend in a skin.

Request

            
Response · 200 · image/svg+xml · 11 KB
Example image from this route
GET/game/legends/:id/:id2/svg/:small[/:isMod]

Legend render data

The same render as SVG data, for building the page yourself.

Request

            
Response · 200
{
  "data": "\n    <svg xmlns:ffdec=\"https://www.free-decompiler.com/flash\" xmlns:xlink=\"http://www.w3.o…"
}

Store

GET/game/storeData

Store sections

The list of store sections and the patch they come from.

Request

            
Response · 200
{
  "manifest": "2498497305844615366",
  "patch": "10.10",
  "date": 1787243873,
  "generatedAt": "2026-08-22T12:15:15.517Z",
  "sections": [
    {
      "section": "legends",
      "count": 70,
      "href": "/game/storeData/legends"
    },
    "… 20 more"
  ],
  "legacy": "/game/storeData?legacy=true"
}
GET/game/storeData/:section

Store items

Every item in one store section, with its art references and release info. Page with limit and cursor; search with q; pick fields with fields.

Path and query parameters

NameTypeDescription
sectionrequiredstringOne of the sections below.
limitintegerItems per page.
cursorintegerWhere to continue. Use the last response's nextCursor.
qstringSearch by name (up to 200 characters).
fieldsstringComma-separated fields to return, to keep responses small.
legendsskinsweaponscolorsavatarstauntspodiumsuiemojiscompanionsspawnBotssmokeTrailskoeffectstitlesbundlespurchasespromoschestsskirmishesbattlePassesborders
Request

            
Response · 200
{
  "section": "skins",
  "items": [
    {
      "costumeData": {
        "CostumeName": "Mech",
        "CostumeID": "4",
        "CostumeIndex": "1",
        "OwnerHero": "DEFAULT_CHARACTER",
        "DefaultUnlocked": "TRUE",
        "DisplayNameKey": "",
        "Description": "",
        "CostumeIcon": "",
        "CostumeIconFileName": "",
        "MissionTags": "",
        "…": "103 more entries"
      },
      "fromStore": false,
      "store": [],
      "weapons": [
        {
          "WeaponSkinName": "SwordValkyrie",
          "WeaponSkinID": "5",
          "DbID": "5",
          "BaseWeapon": "Sword",
          "OwnerHero": "",
          "UpgradesTo": "",
          "DisplayNameKey": "WeaponSkinType_SwordValkyrie_DisplayName",
          "AltDisplayNameKey": "",
          "Description": "",
          "WeaponIcon": "",
          "…": "108 more entries"
        },
        "… 1170 more"
      ],
      "HeroID": "1",
      "HeroName": "DEFAULT_CHARACTER",
      "SkinInt": 1,
      "animTypes": {
        "idle": "IdleRandom",
        "selected": "SelectedRandom"
      },
      "upgradeChain": [
        {
          "CostumeID": "string",
          "CostumeName": "string",
          "DisplayNameKey": "string",
          "HeroID": "string",
          "HeroName": "string",
          "SkinInt": "number",
          "SelectedAnimation": "string",
          "Weapons": "array"
        }
      ],
      "ArrayIndex": 0,
      "added": {
        "patch": null,
        "date": "2014-04-30",
        "dateTime": "2014-04-30T16:41:05.000Z",
        "manifest": "6492858552396319232"
      }
    },
    "… 1 more"
  ],
  "count": 2,
  "total": 707,
  "cursor": "0",
  "nextCursor": "2",
  "diskCached": true
}
GET/game/storeData/:section/:id

One store item

One store item.

Request

            
Response · 200
{
  "section": "skins",
  "item": {
    "costumeData": {
      "CostumeName": "Mech",
      "CostumeID": "4",
      "CostumeIndex": "1",
      "OwnerHero": "DEFAULT_CHARACTER",
      "DefaultUnlocked": "TRUE",
      "DisplayNameKey": "",
      "Description": "",
      "CostumeIcon": "",
      "CostumeIconFileName": "",
      "MissionTags": "",
      "…": "103 more entries"
    },
    "fromStore": false,
    "store": [],
    "weapons": [
      {
        "WeaponSkinName": "SwordValkyrie",
        "WeaponSkinID": "5",
        "DbID": "5",
        "BaseWeapon": "Sword",
        "OwnerHero": "",
        "UpgradesTo": "",
        "DisplayNameKey": "WeaponSkinType_SwordValkyrie_DisplayName",
        "AltDisplayNameKey": "",
        "Description": "",
        "WeaponIcon": "",
        "…": "108 more entries"
      },
      "… 1170 more"
    ],
    "HeroID": "1",
    "HeroName": "DEFAULT_CHARACTER",
    "SkinInt": 1,
    "animTypes": {
      "idle": "IdleRandom",
      "selected": "SelectedRandom"
    },
    "upgradeChain": [
      {
        "CostumeID": "4",
        "CostumeName": "Mech",
        "DisplayNameKey": "",
        "HeroID": "1",
        "HeroName": "DEFAULT_CHARACTER",
        "SkinInt": 1,
        "SelectedAnimation": "SelectedRandom",
        "Weapons": [
          {
            "WeaponSkinID": "string",
            "WeaponSkinName": "string",
            "DisplayNameKey": "string",
            "BaseWeapon": "string",
            "OwnerHero": "string"
          },
          "… 2 items"
        ]
      }
    ],
    "ArrayIndex": 0,
    "added": {
      "patch": null,
      "date": "2014-04-30",
      "dateTime": "2014-04-30T16:41:05.000Z",
      "manifest": "6492858552396319232"
    }
  }
}

Game files and patches

GET/game/metadata/catalog

Metadata catalog

Every patch and every metadata file in it.

Request

            
Response · 200
{
  "current": {
    "manifest": "2498497305844615366",
    "date": 1787243873,
    "key": 826351010,
    "patch": "10.10"
  },
  "selected": {
    "manifest": "2498497305844615366",
    "date": 1787243873,
    "key": 826351010,
    "patch": "10.10"
  },
  "versions": [
    {
      "manifest": "2498497305844615366",
      "date": 1787243873,
      "key": 826351010,
      "patch": "10.10"
    },
    "… 671 more"
  ],
  "sections": {
    "Game": [
      {
        "file": "AchievementTypes.xml",
        "name": "AchievementTypes",
        "format": "xml"
      },
      "… 71 more"
    ],
    "Init": [
      {
        "file": "AnimTypes.xml",
        "name": "AnimTypes",
        "format": "xml"
      },
      "… 9 more"
    ],
    "Engine": [
      {
        "file": "DefaultSoundBanks.csv",
        "name": "DefaultSoundBanks",
        "format": "csv"
      },
      "… 2 more"
    ],
    "Dynamic": [
      {
        "file": "CutsceneType_AdvancedRecovering.xml",
        "name": "CutsceneType_AdvancedRecovering",
        "format": "xml"
      },
      "… 185 more"
    ]
  }
}
GET/game/metadata/:section/:file

Metadata file

One metadata file, such as Game/HeroTypes.xml, as JSON. Takes manifest for an older patch.

Request

            
Response · 200
{
  "manifest": "2498497305844615366",
  "patch": "10.10",
  "date": 1787243873,
  "section": "Game",
  "file": "HeroTypes.xml",
  "requestedFile": "HeroTypes.xml",
  "format": "xml",
  "rootKey": "HeroTypes",
  "count": 73,
  "data": [
    {
      "HeroID": "0",
      "HeroDisplayName": "---",
      "BotDisplayName": "--",
      "AlphabetizedName": "--",
      "ReleaseOrderID": "0",
      "MissionTags": "--,--,--",
      "NameSoundEvent": "---",
      "OnSelectedSoundEvent": "---",
      "SoundBank": "--",
      "CostumeName": "---",
      "…": "41 more entries"
    },
    "… 72 more"
  ]
}
GET/game/metadata/diff/:section/:file

Metadata diff

What changed in a file between two patches. Takes from and to manifests.

Request

            
Response · 200
{
  "section": "Game",
  "file": "HeroTypes.xml",
  "key": "HeroDisplayName",
  "from": {
    "manifest": "6783405789323302364",
    "patch": "10.10",
    "count": 73
  },
  "to": {
    "manifest": "2498497305844615366",
    "patch": "10.10",
    "count": 73
  },
  "added": [],
  "removed": [],
  "changed": [],
  "summary": {
    "added": 0,
    "removed": 0,
    "changed": 0
  }
}
GET/game/history/all

Patch history

Every game version with its patch number and date.

Request

            
Response · 200
[
  {
    "manifest": "2498497305844615366",
    "date": 1787243873,
    "key": 826351010,
    "patch": "10.10",
    "id": "2498497305844615366",
    "index": 0,
    "previousManifest": "6783405789323302364",
    "previousPatch": "10.10",
    "hasPrevious": true,
    "empty": true,
    "patchOccurrence": 1,
    "patchOccurrenceTotal": 2
  },
  "… 671 more"
]
GET/game/history/:id

One version's changes

What changed in one game version.

Request

            
Response · 200
{
  "manifest": "2498497305844615366",
  "patch": "10.10",
  "date": 1787243873,
  "key": 826351010,
  "previousManifest": "6783405789323302364",
  "previousPatch": "10.10",
  "previousDate": 1786748533,
  "summary": {
    "added": 0,
    "removed": 0,
    "changed": 0,
    "filesAdded": 0,
    "filesRemoved": 0,
    "filesChanged": 0,
    "files": 0
  },
  "categorySummary": [],
  "fileSummary": [],
  "files": []
}
GET/game/history/legend/:id

Legend history

A legend's changes across patches.

Request

            
Response · 200
{
  "history": [
    {
      "manifest": "6783405789323302364",
      "patch": "10.10",
      "date": 1786748533,
      "previousManifest": "8120776448701338614",
      "previousPatch": "10.09",
      "summary": {
        "added": 0,
        "removed": 0,
        "changed": 19,
        "files": 2
      },
      "files": [
        {
          "section": "string",
          "file": "string",
          "label": "string",
          "key": "string",
          "fileAdded": "boolean",
          "fileRemoved": "boolean",
          "from": "object",
          "to": "object",
          "added": "array",
          "removed": "array",
          "changed": "array",
          "summary": "object"
        },
        "… 1 more"
      ]
    },
    "… 152 more"
  ],
  "base": {
    "manifest": "370055680688450524",
    "patch": null,
    "date": 1409064761,
    "previousManifest": "8415465555749858771",
    "previousPatch": null,
    "summary": {
      "added": 19,
      "removed": 0,
      "changed": 11,
      "files": 5
    },
    "files": [
      {
        "section": "Game",
        "file": "HeroTypes.xml",
        "label": "Legends",
        "key": "HeroID",
        "fileAdded": false,
        "fileRemoved": false,
        "from": {
          "manifest": "string",
          "patch": "null",
          "date": "number",
          "count": "number"
        },
        "to": {
          "manifest": "string",
          "patch": "null",
          "date": "number",
          "count": "number"
        },
        "added": [],
        "removed": [],
        "changed": [
          {
            "id": "string",
            "name": "string",
            "fields": "array",
            "before": "object",
            "after": "object"
          },
          "… 1 items"
        ],
        "summary": {
          "added": "number",
          "removed": "number",
          "changed": "number"
        }
      },
      "… 4 more"
    ]
  }
}
GET/game/boneTypes, /game/gfxData, /game/animData

Raw game tables

Raw rig, sprite and animation tables.

Request

            
Response · 200
[
  "a_Leg1",
  "… 16251 more"
]

Maps

GET/game/maps/catalog

Maps

Every map and cutscene, with level sets.

Request

            
Response · 200
{
  "manifest": "2498497305844615366",
  "patch": "10.10",
  "date": 1787243873,
  "maps": [
    {
      "name": "WarShuttle",
      "file": "LevelDesc_WarShuttle.xml",
      "assetDir": "WarShuttle",
      "displayName": "Apocalypse",
      "levelId": "124",
      "thumbnail": "warshuttle.jpg",
      "devOnly": false,
      "testLevel": false,
      "levelSets": [
        {
          "name": "string",
          "displayName": "string"
        },
        "… 9 more"
      ],
      "parseError": null
    },
    "… 119 more"
  ],
  "cutscenes": [
    {
      "name": "AdvancedRecovering",
      "file": "CutsceneType_AdvancedRecovering.xml",
      "id": "14",
      "displayName": "AdvancedRecovering",
      "lessons": [
        {
          "name": "string",
          "title": "string",
          "levelType": "string",
          "category": "string"
        }
      ],
      "parseError": null
    },
    "… 65 more"
  ],
  "support": {
    "levelSets": [
      {
        "name": "Auto",
        "displayName": "Auto",
        "levels": []
      },
      "… 89 more"
    ],
    "lessonCategories": [
      {
        "name": "Template",
        "displayName": "Greatsword",
        "priority": "The higher, the prior"
      },
      "… 17 more"
    ]
  }
}
GET/game/maps/:kind/:name

One map

One map's layout for the map viewer.

Request

            
Response · 200
{
  "name": "WarShuttle",
  "file": "LevelDesc_WarShuttle.xml",
  "assetDir": "WarShuttle",
  "displayName": "Apocalypse",
  "levelId": "124",
  "thumbnail": "warshuttle.jpg",
  "devOnly": false,
  "testLevel": false,
  "levelSets": [
    {
      "DisplayNameKey": "LevelSetType_All_DisplayName",
      "LevelSetID": "1",
      "LevelTypes": "Brawlhaven,SmallBrawlhaven,Temple,SmallTemple,Grove,BigGrove,KingsPass,SmallKingsPass,Stad…",
      "LevelSetName": "StandardAll"
    },
    "… 9 more"
  ],
  "parseError": null,
  "kind": "map",
  "manifest": "2498497305844615366",
  "patch": "10.10",
  "scene": {
    "CameraBounds": {
      "H": "2998.125",
      "W": "5330",
      "X": "-1785",
      "Y": "-1347.55"
    },
    "SpawnBotBounds": {
      "H": "1244.05",
      "W": "3743.8",
      "X": "-1119.2",
      "Y": "-763.25"
    },
    "Background": {
      "AssetName": "BG_HBCross.jpg",
      "H": "1151",
      "W": "2048"
    },
    "Platform": {
      "Asset": {
        "AssetName": "Platform_WarShuttle1.png",
        "W": "1821.30004882813",
        "H": "831.75"
      },
      "InstanceName": "am_Midground12",
      "X": "-28.1000003814697",
      "Y": "364.549987792969"
    },
    "MovingPlatform": {
      "Platform": {
        "Asset": {
          "AssetName": "string",
          "W": "string",
          "H": "string"
        },
        "InstanceName": "am_Midground08",
        "X": "108.150001525879",
        "Y": "-42"
      },
      "Animation": {
        "KeyFrame": [
          {
            "FrameNum": "string"
          },
          "… 5 items"
        ],
        "NumFrames": "120",
        "SlowMult": "3"
      },
      "PlatID": "1",
      "X": "0",
      "Y": "0"
    },
    "ItemInitSpawn": {
      "X": "880",
      "Y": "100"
    },
    "TeamItemInitSpawn": [
      {
        "X": "1165",
        "Y": "150"
      },
      "… 1 more"
    ],
    "ItemSpawn": [
      {
        "X": "730",
        "Y": "150",
        "W": "300",
        "H": "40"
      },
      "… 2 more"
    ],
    "Respawn": [
      {
        "X": "250",
        "Y": "170",
        "Initial": "True",
        "ExpandedInit": "false"
      },
      "… 7 more"
    ],
    "HardCollision": [
      {
        "X1": "0",
        "X2": "320",
        "Y1": "850",
        "Y2": "1170"
      },
      "… 5 more"
    ],
    "DynamicCollision": {
      "SoftCollision": {
        "X1": "140",
        "X2": "680",
        "Y1": "-30",
        "Y2": "-30"
      },
      "PlatID": "1",
      "X": "0",
      "Y": "0"
    },
    "NavNode": [
      {
        "NavID": "L1",
        "Path": "2,A3,A5,A35",
        "Y": "360"
      },
      "… 24 more"
    ],
    "DynamicNavNode": {
      "NavNode": [
        {
          "NavID": "string",
          "Path": "string",
          "X": "string",
          "Y": "string"
        },
        "… 6 more"
      ],
      "PlatID": "1",
      "X": "0",
      "Y": "0"
    },
    "AssetDir": "WarShuttle",
    "LevelName": "WarShuttle"
  },
  "level": {
    "DisplayName": "Apocalypse",
    "LevelID": "124",
    "FileName": "Level_Wacky.swf",
    "AssetName": "a_Level_Shuttle",
    "CrateColorA": "0xFF9900",
    "CrateColorB": "0xFFCC00",
    "LeftKill": "800",
    "RightKill": "800",
    "TopKill": "900",
    "BottomKill": "825",
    "BGMusic": "LevelHordeTheme",
    "ThumbnailPNGFile": "warshuttle.jpg",
    "BotTint": "0",
    "BotOffset": "0xa17c62",
    "BotFraction": "0.44",
    "ColorExclusionList": "Spring,Summer,CommunityColors,Yellow,Brown,Orange,Red,Black,Brawlhalloween,HomeTeam,GameFu…",
    "LevelName": "WarShuttle",
    "DevOnly": "false",
    "TestLevel": "false"
  },
  "colorExclusions": [
    {
      "ColorSchemeID": "1",
      "DefaultUnlocked": "FALSE",
      "DisplayNameKey": "ColorSchemeType_Red_DisplayName",
      "IconName": "a_ColorIcon_Red",
      "IconFileName": "UI_Icons",
      "OrderID": "11",
      "Rarity": "R",
      "TeamColor": "0",
      "BroadcasterEnabled": "true",
      "HairLt_Swap": "0x963E25",
      "Hair_Swap": "0x600D09",
      "HairDk_Swap": "0x33160B",
      "Body1VL_Swap": "0xF7AF91",
      "Body1Lt_Swap": "0xEF6F58",
      "Body1_Swap": "0xCF1F31",
      "Body1Dk_Swap": "0x761B32",
      "Body1VD_Swap": "0x560222",
      "Body1Acc_Swap": "0xB5313A",
      "Body2VL_Swap": "0xDE989D",
      "Body2Lt_Swap": "0xC06770",
      "Body2_Swap": "0x8D2945",
      "Body2Dk_Swap": "0x58122D",
      "Body2VD_Swap": "0x3C1021",
      "Body2Acc_Swap": "0x9C3C50",
      "SpecialVL_Swap": "0xFFD2D2",
      "SpecialLt_Swap": "0xD0012B",
      "Special_Swap": "0x5C0118",
      "SpecialDk_Swap": "0x2B000B",
      "SpecialVD_Swap": "0x1E030A",
      "SpecialAcc_Swap": "0x690268",
      "ClothVL_Swap": "0xF3E4E1",
      "ClothLt_Swap": "0xEEBDB7",
      "Cloth_Swap": "0xC68A91",
      "ClothDk_Swap": "0xA35162",
      "WeaponVL_Swap": "0xFFE7E7",
      "WeaponLt_Swap": "0xB8B3B3",
      "Weapon_Swap": "0x807474",
      "WeaponDk_Swap": "0x563838",
      "WeaponAcc_Swap": "0x987A7F",
      "ExcludeOpponentTeamColor": "Wolf,Dragonfire,Orange,Pink,TeamRed1,Sunset,Valhallentines,EsportRed,Brown,OEL1,BP9,Holida…",
      "FallbackOpponentTeamColor": "TeamBlue1",
      "FallbackMyTeamColor": "TeamRed1",
      "IndicatorColor": "0xCF1F31",
      "ColorSchemeName": "Red",
      "displayName": "Red"
    },
    "… 15 more"
  ],
  "gameModes": [
    {
      "GameModeID": "1",
      "DisplayNameKey": "GameModeType_DefaultTimed_DisplayName",
      "Teams": "FALSE",
      "MaxPlayers": "4",
      "Duration": "180",
      "StartingLives": "0",
      "ScoringType": "TIMED",
      "GameModeName": "DefaultTimed",
      "displayName": "Free-4-All",
      "levelSets": [
        "StandardAll",
        "… 11 more"
      ],
      "scoring": {
        "ScoringID": "1",
        "DisplayOrder": "20",
        "DisplayNameKey": "ScoringType_TIMED",
        "DefaultGameModeType": "DefaultTimed",
        "IconName": "a_ScoringIcon_TIMED",
        "MaxScoreToWin": "300",
        "ScoreToWinIncrement": "10",
        "CanEnterSuddenDeath": "FALSE",
        "AllowRotatingHeroes": "TRUE",
        "AllowShift": "TRUE",
        "ItemSpawnRuleSet": "Standard",
        "LevelSetAll": "StandardAll",
        "LevelSet1v1": "Standard1v1",
        "LevelSetFFA": "StandardFFA",
        "LevelSet2v2": "Standard2v2",
        "LevelSetBig": "StandardBig",
        "LevelSet3v3": "Standard3v3",
        "ExtraLevelSets": "Tournament1v1,Tournament2v2,Tournament3v3,Ranked1v1,Ranked2v2,Crazy",
        "DescriptionKey": "ScoringType_TIMED_DescriptionKey",
        "SpecialEntOverrideGfx": "",
        "ScoringName": "TIMED",
        "Enabled": "True"
      },
      "itemSpawnRule": {
        "RuleSetID": "2",
        "WeaponList": "WeaponCrate",
        "WeaponSpawnRateTypes": "StandardWeaponsMedium,StandardWeaponsHigh,Disabled,StandardWeaponsLow",
        "GadgetList": "BouncyBomb,ProxMine,SpikeBall,SpawnBotFlyby,HomingBoomerang,StickyBomb,BubbleBomb",
        "GadgetSpawnRateTypes": "StandardGadgetsLow,StandardGadgetsMedium,StandardGadgetsHigh,Disabled",
        "Use1v1AndTeamInitialWeaponSpawns": "true",
        "RuleSetName": "Standard"
      },
      "itemSpawnRates": [
        {
          "SpawnRateID": "string",
          "DisplayNameKey": "string",
          "InitSpawnDelay": "string",
          "FixedTimeBetweenSpawns": "string",
          "VariableTimeBetweenSpawns": "string",
          "RandomTimeBetweenSpawns": "string",
          "ExtraTimeBeforeMax": "string",
          "MaxItemCountMultiplier": "string",
          "MaxItemCountFixed": "string",
          "SpawnRateName": "string"
        },
        "… 6 more"
      ]
    },
    "… 40 more"
  ],
  "lessons": []
}
GET/game/maps/:kind/:name/history

Map history

How a map changed across patches.

Request

            
Response · 200
[
  {
    "manifest": "1940143586530568267",
    "patch": "9.02",
    "date": 1736949916,
    "file": "LevelDesc_WarShuttle.xml"
  },
  "… 10 more"
]
GET/game/maps/thumbnail/:name

Map thumbnail

A map's thumbnail image.

Request

            
Response · 200 · image/jpeg · 36 KB
Example image from this route
GET/game/maps/asset, /game/maps/animation, /game/maps/enemy

Map viewer art

Art used inside the map viewer. asset takes dir and name.

Request

            
Response · 200 · image/png · 1.1 MB
image/png, 1.1 MB: too large to show here

Animations and renders

GET/game/animations/catalog

Animation catalog

Every animation, grouped by rig.

Request

            
Response · 200
{
  "manifest": "2498497305844615366",
  "stats": {
    "animations": 6850,
    "hitboxAnimations": 1779,
    "folders": 101,
    "rigs": 1008
  },
  "categories": [
    {
      "name": "Weapons",
      "count": 3778
    },
    "… 15 more"
  ],
  "animations": [
    {
      "id": "QW5pbWF0aW9uX0NoYXJhY3RlclNlbGVjdC9hX19DaGFyYWN0ZXJTZWxlY3RBbmltYXRpb24vSWRsZUFhbmc",
      "category": "Characters",
      "folder": "Animation_CharacterSelect",
      "file": "Animation_CharacterSelect.swf",
      "rig": "a__CharacterSelectAnimation",
      "animation": "IdleAang",
      "path": "Animation_CharacterSelect/a__CharacterSelectAnimation/IdleAang",
      "hasHitbox": false,
      "ownerName": null,
      "ownerIcon": null,
      "ownerType": null
    },
    "… 6849 more"
  ]
}
GET/game/animations/sources

Animation sources

Where an animation comes from. Takes folder, rig, animation and power.

Request

            
Response · 200
{
  "manifest": "2498497305844615366",
  "sources": [
    {
      "key": "skin:2:0",
      "kind": "skin",
      "group": "Legend Skins",
      "id": "225",
      "heroId": 2,
      "skin": 0,
      "name": "Random",
      "subtitle": "RANDOM / Random",
      "internalName": "Random",
      "priority": 1,
      "icon": null
    },
    "… 2866 more"
  ],
  "groups": [
    {
      "name": "Legend Skins",
      "sources": [
        {
          "key": "string",
          "kind": "string",
          "group": "string",
          "id": "string",
          "heroId": "number",
          "skin": "number",
          "name": "string",
          "subtitle": "string",
          "internalName": "string",
          "priority": "number",
          "icon": "string"
        },
        "… 774 more"
      ]
    },
    "… 1 more"
  ],
  "defaultSelections": {
    "Legend Skins": "skin:3:0"
  },
  "swap": null,
  "relevant": {
    "bones": [
      "a_CapeBillow01",
      "… 62 more"
    ],
    "weapons": [],
    "heroes": []
  }
}
GET/game/animations/gfx

Bone art

Art that can go on a bone. Takes bone, query and limit.

Request

            
Response · 200
{
  "bone": "a_Accent",
  "query": "",
  "matches": [
    {
      "folder": "Bones_Aang",
      "bone": "a_Accent",
      "frames": 8,
      "score": 0
    },
    "… 2 more"
  ]
}
GET/game/animations/detail/:folder/:rig/:animation

Animation detail

Frame-by-frame data for one animation. Takes frame and power.

Request

            
Response · 200
{
  "id": "QW5pbWF0aW9uX1BsYXllci9hX19Ib2xkaW5nSXRlbUFuaW1hdGlvbi9BdHRhY2tDaGFpcg",
  "manifest": "2498497305844615366",
  "folder": "Animation_Player",
  "rig": "a__HoldingItemAnimation",
  "animation": "AttackChair",
  "path": "Animation_Player/a__HoldingItemAnimation/AttackChair",
  "selectedPowerName": "",
  "loopStart": 1,
  "recoveryStart": 5,
  "freeStart": 14,
  "previewFrame": 0,
  "baseStart": 2,
  "frameCount": 14,
  "maxBonesPerFrame": 41,
  "bones": [
    {
      "id": "38",
      "name": "a_Accent",
      "uses": 3,
      "maxFrame": 6
    },
    "… 62 more"
  ],
  "swap": null,
  "powers": [],
  "followUps": [],
  "references": [],
  "frame": {
    "id": 0,
    "bones": [
      {
        "id": 10622,
        "scaleX": -1.05072021484375,
        "rotateSkew0": -0.1753387451171875,
        "rotateSkew1": -0.404052734375,
        "scaleY": 0.84332275390625,
        "x": 31.299999237060547,
        "y": -89.55000305175781,
        "opacity": 1,
        "frame": 1
      },
      "… 40 more"
    ]
  },
  "raw": []
}
GET/game/animations/preview/:folder/:rig/:animation/:heroId/:skin

Animation preview

An animation rendered on a legend, with optional follow-up moves.

Request

            
Response · 200 · image/svg+xml · 268 KB
image/svg+xml, 268 KB: too large to show here
POST/game/animations/render, /game/animations/export

Render an animation

Render or export a custom animation. The body names the folder, rig, animation and frame.

Request

            
Response · 201
{
  "folder": "Animation_Player",
  "rig": "a__HoldingItemAnimation",
  "animation": "AttackChair",
  "frameCount": 14,
  "frameIndices": [
    0
  ],
  "frames": [
    {
      "index": 0,
      "sourceIndex": 0,
      "durationMs": 41.666666666666664,
      "svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox…",
      "viewBox": {
        "x": 440.0364074707031,
        "y": 319.16546630859375,
        "width": 216.24502563476562,
        "height": 203.79083251953125
      },
      "bones": [
        {
          "id": "number",
          "scaleX": "number",
          "rotateSkew0": "number",
          "rotateSkew1": "number",
          "scaleY": "number",
          "x": "number",
          "y": "number",
          "opacity": "number",
          "frame": "number",
          "layer": "number",
          "name": "string"
        },
        "… 40 more"
      ],
      "combat": {
        "frame": 0,
        "timeline": [],
        "activeTiming": null,
        "activeEvents": [],
        "hitboxes": [],
        "hurtboxes": [
          {
            "name": "string",
            "id": "string",
            "frameRange": "string",
            "width": "number",
            "height": "number",
            "x": "number",
            "y": "number",
            "offsetX": "number",
            "offsetY": "number"
          },
          "… 1 items"
        ],
        "effects": [],
        "movement": [],
        "actorOffset": {
          "x": "number",
          "y": "number"
        },
        "actorFacingFlipped": false,
        "actorVelocity": {
          "x": "number",
          "y": "number"
        },
        "timing": {
          "animationFps": "number",
          "gameTicksPerSecond": "number",
          "loopStart": "number",
          "recoveryStart": "number",
          "rootIsChargeController": "boolean",
          "steerableGravityLoop": "boolean",
          "chargeRatio": "number",
          "entityHeight": "number",
          "simulationTick": "number"
        },
        "coordinateOrigin": {
          "x": "number",
          "y": "number"
        },
        "powers": [],
        "power": null
      }
    }
  ],
  "source": {
    "kind": "raw"
  },
  "sources": [
    {
      "kind": "raw"
    }
  ],
  "swaps": []
}
GET/game/anim/…, /game/animm/…, /game/anim-svg/…

Animation frame

A single animation frame, such as a weapon's tooltip pose, as an image.

Request

            
Response · 200 · image/apng · 66 KB
Example image from this route
GET/game/animDataFile/:swf/:index/:anim

Raw animation data

Raw data for one animation. :swf is the file name without .swf.

Request

            
Response · 200
{
  "name": "Ready",
  "loopStart": 0,
  "recoveryStart": 13,
  "freeStart": 13,
  "previewFrame": 0,
  "baseStart": 1,
  "data": [],
  "frames": [
    {
      "id": 0,
      "bones": [
        {
          "id": "number",
          "scaleX": "number",
          "rotateSkew0": "number",
          "rotateSkew1": "number",
          "scaleY": "number",
          "x": "number",
          "y": "number",
          "opacity": "number",
          "frame": "number"
        }
      ]
    },
    "… 12 more"
  ]
}
GET/game/animAvatar/:id, /game/animEmoji/:id, /game/animBorder/:id, /game/animTrail/:id

Animated cosmetics

Animated avatars, emojis, borders and trails.

Request

            
Response · 200 · image/apng · 149 KB
image/apng, 149 KB: too large to show here
GET/game/animCompanion/:id/:anim/:frame, /game/animPodium/…, /game/animChest/…

Companions, podiums and chests

Companion, podium and chest animations.

Request

            
Response · 200 · image/apng · 2.4 MB
image/apng, 2.4 MB: too large to show here
GET/game/animSmokeTrail/…, /game/animUi/:id/:anim, /game/animMetadataRig/:kind/:rig/:state

Smoke trails and UI themes

Smoke trails, UI themes and rig previews.

Request

            
Response · 200 · image/apng · 232 KB
image/apng, 232 KB: too large to show here

Images, text and colors

GET/game/getGfx/:path1/:path2[/:num]

Game art

One sprite from the game files. Takes format (svg or png), and w and h for PNG.

Query parameters

NameTypeDescription
formatsvg | pngDefaults to svg.
w, hintegerOutput size for PNG.
Request

            
Response · 200 · image/svg+xml · 30 KB
Example image from this route
GET/game/getGfxPart/:path1/:path2/:frame

Sprite frame

One frame of a sprite, as an SVG image.

Request

            
Response · 200 · image/svg+xml · 1 KB
Example image from this route
GET/game/images/:path1/:path2[/:file]

Images

Image files such as map thumbnails.

Request

            
Response · 200 · image/jpeg · 36 KB
Example image from this route
GET/game/langs, /game/langs/:id

Translations

Every translation string, for all languages or one.

Request

            
Response · 200
[
  {
    "font": "BHLatinBold",
    "name": "English",
    "code": "en-US",
    "content": {
      "StoreType_Malaysia_Description": "The flag of Malaysia.",
      "CustomGameType_Circuit1v1_DisplayName": "Tournament 1v1",
      "HeroType_Shinobi_BioAKA": "The Shogun's Shadow",
      "WeaponSkinType_FistsDestinyTitan_DisplayName": "Synthoceps",
      "UI_PlayerMessage_SwitchedToHandheld": "Switched To Handheld",
      "StoreType_Batnir_Description": "Like a bat out of Helheim.",
      "UI_Mob_Dpad_CenterWidth": "Center Width",
      "ColorSchemeType_BP10_DisplayName": "Kira-kira",
      "StoreType_Hitman_Description": "A stylish entrance you'll never see coming.",
      "WeaponSkinType_PistolViviOps_DisplayName": "Silenced Pistols",
      "…": "13,581 more entries"
    }
  }
]
GET/game/lang/:num/:key

One translation

One translated string.

Request

            
Response · 200
{
  "key": "HeroType_Shinobi_BioAKA",
  "data": null
}
GET/game/colors, /game/colorSchemeData, /game/colorSchemeCreatorData

Color schemes

Color schemes and the data the color creator needs.

Request

            
Response · 200
[
  {
    "ColorSchemeName": "Red",
    "ColorSchemeID": "1",
    "DefaultUnlocked": "FALSE",
    "DisplayNameKey": "ColorSchemeType_Red_DisplayName",
    "IconName": "a_ColorIcon_Red",
    "IconFileName": "UI_Icons",
    "OrderID": "11",
    "Rarity": "R",
    "TeamColor": "0",
    "BroadcasterEnabled": "true",
    "HairLt_Swap": "0x963E25",
    "Hair_Swap": "0x600D09",
    "HairDk_Swap": "0x33160B",
    "Body1VL_Swap": "0xF7AF91",
    "Body1Lt_Swap": "0xEF6F58",
    "Body1_Swap": "0xCF1F31",
    "Body1Dk_Swap": "0x761B32",
    "Body1VD_Swap": "0x560222",
    "Body1Acc_Swap": "0xB5313A",
    "Body2VL_Swap": "0xDE989D",
    "Body2Lt_Swap": "0xC06770",
    "Body2_Swap": "0x8D2945",
    "Body2Dk_Swap": "0x58122D",
    "Body2VD_Swap": "0x3C1021",
    "Body2Acc_Swap": "0x9C3C50",
    "SpecialVL_Swap": "0xFFD2D2",
    "SpecialLt_Swap": "0xD0012B",
    "Special_Swap": "0x5C0118",
    "SpecialDk_Swap": "0x2B000B",
    "SpecialVD_Swap": "0x1E030A",
    "SpecialAcc_Swap": "0x690268",
    "ClothVL_Swap": "0xF3E4E1",
    "ClothLt_Swap": "0xEEBDB7",
    "Cloth_Swap": "0xC68A91",
    "ClothDk_Swap": "0xA35162",
    "WeaponVL_Swap": "0xFFE7E7",
    "WeaponLt_Swap": "0xB8B3B3",
    "Weapon_Swap": "0x807474",
    "WeaponDk_Swap": "0x563838",
    "WeaponAcc_Swap": "0x987A7F",
    "ExcludeOpponentTeamColor": "Wolf,Dragonfire,Orange,Pink,TeamRed1,Sunset,Valhallentines,EsportRed,Brown,OEL1,BP9,Holida…",
    "FallbackOpponentTeamColor": "TeamBlue1",
    "FallbackMyTeamColor": "TeamRed1",
    "IndicatorColor": "0xCF1F31",
    "DisplayName": "Red"
  },
  "… 78 more"
]
GET/game/colors/list, /game/colors/:person

Custom colors

Custom color creators and their schemes.

Request

            
Response · 200
[
  {
    "internal": "saorax",
    "full": "saorax",
    "twitter": "https://x.com/saoraxx"
  },
  "… 4 more"
]

No routes match that filter.