/v1/gamesList games
Everything on this site is available as JSON. Send your API key in the X-API-Key header. Each key can make 60 requests per minute. CORS is open, so you can call it straight from a prototype.
curl -H "X-API-Key: YOUR_KEY" "https://loadout.mariosem.es/v1/random/teams?game=cs2&count=3"This page is public: read it, import the spec and build against it before you have a key. Ask whoever runs this instance for one, then sign in to browse the library here as well.
Machine-readable spec: /v1/openapi.json (OpenAPI 3.1 — import it into Postman, Insomnia or Bruno). Team and player ids accept a number or game:slug, e.g. /v1/teams/cs2:team-vitality.
/v1/gamesList games
/v1/games/{game}Get a game with all of its art — Logos, icons, heroes (wide banners) and grids (covers) from SteamGridDB, each credited to its author.
| Parameter | Type | Notes |
|---|---|---|
| game* | path · string | e.g. cs2 |
/v1/games/{game}/teamsList a game's teams
| Parameter | Type | Notes |
|---|---|---|
| game* | path · string | e.g. cs2 |
| region | string | e.g. Europe |
| country | string | ISO 3166-1 alpha-2 |
| status | active | disbanded | Default: active. |
| q | string | Name search |
| has_logo | boolean | |
| sort | rank | name | `rank` = top teams first (all-time prize money among active teams, unranked last); `name` = alphabetical. Default: rank. |
| page | integer | Default: 1. |
| per_page | integer | Default: 50. |
| fields | string | Comma-separated top-level fields to return (sparse response). `id` is always included. |
/v1/teams/{id}Get a team with its current roster
| Parameter | Type | Notes |
|---|---|---|
| id* | path · string | Numeric team id, or "{game}:{slug}" (e.g. `cs2:team-vitality`). |
| fields | string | Comma-separated top-level fields to return (sparse response). `id` is always included. |
/v1/teams/{id}/rosterCurrent roster with full player details
| Parameter | Type | Notes |
|---|---|---|
| id* | path · string | Numeric team id, or "{game}:{slug}" (e.g. `lol:t1`). |
/v1/teams/{id}/historyCurrent and former roster memberships
| Parameter | Type | Notes |
|---|---|---|
| id* | path · string | Numeric team id, or "{game}:{slug}" (e.g. `valorant:sentinels`). |
/v1/playersList players
| Parameter | Type | Notes |
|---|---|---|
| game | string | Game slug — see GET /v1/games for the full list e.g. cs2 |
| team | integer | Numeric team id (current roster) |
| status | active | inactive | retired | |
| country | string | |
| role | string | e.g. AWPer |
| q | string | |
| has_photo | boolean | |
| sort | rank | name | `rank` = top teams first (all-time prize money among active teams, unranked last); `name` = alphabetical. Default: rank. |
| page | integer | Default: 1. |
| per_page | integer | Default: 50. |
| fields | string | Comma-separated top-level fields to return (sparse response). `id` is always included. |
/v1/players/{id}Get a player with team history
| Parameter | Type | Notes |
|---|---|---|
| id* | path · string | Numeric player id, or "{game}:{slug}" (e.g. `cs2:zywoo`). |
| fields | string | Comma-separated top-level fields to return (sparse response). `id` is always included. |
/v1/searchSearch teams and players
| Parameter | Type | Notes |
|---|---|---|
| q* | string | |
| game | string | Game slug — see GET /v1/games for the full list e.g. cs2 |
/v1/random/teamsRandom active teams — Great for filling prototypes. Only teams with a logo unless `has_logo=false`.
| Parameter | Type | Notes |
|---|---|---|
| game | string | Game slug — see GET /v1/games for the full list e.g. cs2 |
| region | string | |
| count | integer | Default: 5. |
| has_logo | boolean | Default: true. |
/v1/random/playersRandom active players — Only players with a photo unless `has_photo=false`.
| Parameter | Type | Notes |
|---|---|---|
| game | string | Game slug — see GET /v1/games for the full list e.g. cs2 |
| role | string | |
| count | integer | Default: 5. |
| has_photo | boolean | Default: true. |