Loadout
API AdminSign in

API

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.

Games

GET/v1/games

List games

GET/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.

ParameterTypeNotes
game*path · string e.g. cs2

Teams

GET/v1/games/{game}/teams

List a game's teams

ParameterTypeNotes
game*path · string e.g. cs2
regionstring e.g. Europe
countrystringISO 3166-1 alpha-2
statusactive | disbanded Default: active.
qstringName search
has_logoboolean
sortrank | name`rank` = top teams first (all-time prize money among active teams, unranked last); `name` = alphabetical. Default: rank.
pageinteger Default: 1.
per_pageinteger Default: 50.
fieldsstringComma-separated top-level fields to return (sparse response). `id` is always included.
GET/v1/teams/{id}

Get a team with its current roster

ParameterTypeNotes
id*path · stringNumeric team id, or "{game}:{slug}" (e.g. `cs2:team-vitality`).
fieldsstringComma-separated top-level fields to return (sparse response). `id` is always included.
GET/v1/teams/{id}/roster

Current roster with full player details

ParameterTypeNotes
id*path · stringNumeric team id, or "{game}:{slug}" (e.g. `lol:t1`).
GET/v1/teams/{id}/history

Current and former roster memberships

ParameterTypeNotes
id*path · stringNumeric team id, or "{game}:{slug}" (e.g. `valorant:sentinels`).

Players

GET/v1/players

List players

ParameterTypeNotes
gamestringGame slug — see GET /v1/games for the full list e.g. cs2
teamintegerNumeric team id (current roster)
statusactive | inactive | retired
countrystring
rolestring e.g. AWPer
qstring
has_photoboolean
sortrank | name`rank` = top teams first (all-time prize money among active teams, unranked last); `name` = alphabetical. Default: rank.
pageinteger Default: 1.
per_pageinteger Default: 50.
fieldsstringComma-separated top-level fields to return (sparse response). `id` is always included.
GET/v1/players/{id}

Get a player with team history

ParameterTypeNotes
id*path · stringNumeric player id, or "{game}:{slug}" (e.g. `cs2:zywoo`).
fieldsstringComma-separated top-level fields to return (sparse response). `id` is always included.

Search

GET/v1/search

Search teams and players

ParameterTypeNotes
q*string
gamestringGame slug — see GET /v1/games for the full list e.g. cs2

Random

GET/v1/random/teams

Random active teams — Great for filling prototypes. Only teams with a logo unless `has_logo=false`.

ParameterTypeNotes
gamestringGame slug — see GET /v1/games for the full list e.g. cs2
regionstring
countinteger Default: 5.
has_logoboolean Default: true.
GET/v1/random/players

Random active players — Only players with a photo unless `has_photo=false`.

ParameterTypeNotes
gamestringGame slug — see GET /v1/games for the full list e.g. cs2
rolestring
countinteger Default: 5.
has_photoboolean Default: true.