LoL Esports API endpoint
Returns one tournament's stages (for example Regular Season, Playoffs), each with sections of matches and ordered team rankings with win-loss records. Playoff brackets include `previous_match_ids` that link rounds; `rounds=true` also names each bracket round. Use match ids with lolesports-event.
/lolesports/standingsReturns the stages of one tournament with their matches and ordered team rankings.
Header: x-api-key required.
Parameters:
hl: optional language for names and labels; defaults to en-US. Allowed values: cs-CZ, de-DE, en-US, es-ES, es-MX, fr-FR, hu-HU, ja-JP, ko-KR, pl-PL, pt-BR, th-TH, tr-TR, vi-VN, zh-TW. Other values return 400.tournament_id: required numeric tournament id from lolesports-tournaments.rounds: optional boolean; allowed values true, false; defaults to false. true makes a second upstream call and adds each section's id and type (group or bracket) plus rounds, the named bracket rounds (for example Upper Bracket - Round 1, Finals) with the match_ids played in each. Group (round-robin) sections have no rounds. Any other value returns 400.Notable response behavior:
regular_season, playoffs) has sections; a section carries matches and/or rankings. Playoff matches list previous_match_ids that feed them.rankings[].teams[].record holds wins and losses. Match state is unstarted, inProgress or completed.rounds=true, a section also has id, type and rounds[] (name, slug, match_ids); the match ids are the same ones listed in the section's matches.404.outcome has these values: win, loss.| Field | Filled in, of 2 checked | Values in the sample |
|---|---|---|
| id | 2 | |
| name | 2 | “Regular Season” and 1 other value |
| slug | 2 | |
| sections | 2 | median 1 entry |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required | ||
| hl | string | No | en-US | Language for names and labels; one of cs-CZ, de-DE, en-US, es-ES, es-MX, fr-FR, hu-HU, ja-JP, ko-KR, pl-PL, pt-BR, th-TH, tr-TR, vi-VN, zh-TW; defaults to en-US Allowed values: cs-CZ, de-DE, en-US, es-ES, es-MX, fr-FR, hu-HU, ja-JP, ko-KR, pl-PL, pt-BR, th-TH, tr-TR, vi-VN, zh-TW. | |
| tournament_id | string | Yes | Numeric tournament id from lolesports-tournaments | 115548681802226458 | |
| rounds | boolean | No | true adds each section's id and type (group or bracket) and bracket round names with their match ids; costs a second upstream call; false or omitted keeps the default response Allowed values: true, false. |
curl -X GET "https://api.crawlora.net/api/v1/lolesports/standings?hl=cs-CZ&tournament_id=115548681802226458&rounds=true" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"source_url": "https://esports-api.lolesports.com/persisted/gw/getStandings?hl=en-US&tournamentId=115548681802226458",
"fetched_at": "2026-10-27T10:00:00Z",
"tournament_id": "115548681802226458",
"stages": [
{
"id": "115548681802750747",
"name": "Regular Season",
"slug": "regular_season",
"sections": [
{
"name": "Regular Season",
"matches": [
{
"id": "115548681803340575",
"state": "completed",
"teams": [
{
"name": "Team Heretics",
"code": "TH",
"slug": "team-heretics-lec",
"id": "109637393694097670",
"outcome": "loss",
"game_wins": 0
}
]
}
],
"rankings": [
{
"ordinal": 1,
"teams": [
{
"name": "Karmine Corp",
"code": "KC",
"record": {
"wins": 9,
"losses": 0
}
}
]
}
]
}
]
}
]
}
}Request schema
No body schema
Response schema
Inline response schema
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | lolesports.StandingsResponse | No | ||||
| data.fetched_at | string | No | 2026-10-27T10:00:00Z | |||
| data.source_url | string | No | https://esports-api.lolesports.com/persisted/gw/getSchedule?hl=en-US | |||
| data.stages | array | No | ||||
| data.stages[].id | string | No | 115548681802750747 | |||
| data.stages[].name | string | No | Regular Season | |||
| data.stages[].sections | array | No | ||||
| data.stages[].sections[].id | string | No | 115548681803012894 | |||
| data.stages[].sections[].matches | array | No | ||||
| data.stages[].sections[].matches[].flags | array | No | ||||
| data.stages[].sections[].matches[].id | string | No | 115548681803340575 | |||
| data.stages[].sections[].matches[].previous_match_ids | array | No | ||||
| data.stages[].sections[].matches[].state | string | No | completed | |||
| data.stages[].sections[].matches[].teams | array | No | Team record, 10 fields: code, game_wins, id, image_url, name, outcome, record, slug. Described under LoL Esports match detail API. | |||
| data.stages[].sections[].name | string | No | Regular Season | |||
| data.stages[].sections[].rankings | array | No | ||||
| data.stages[].sections[].rankings[].ordinal | integer | No | 1 | |||
| data.stages[].sections[].rankings[].teams | array | No | Team record, 10 fields: code, game_wins, id, image_url, name, outcome, record, slug. Described under LoL Esports match detail API. | |||
| data.stages[].sections[].rounds | array | No | ||||
| data.stages[].sections[].rounds[].match_ids | array | No | ||||
| data.stages[].sections[].rounds[].name | string | No | Upper Bracket - Round 1 | |||
| data.stages[].sections[].rounds[].slug | string | No | upper_bracket_round_1 | |||
| data.stages[].sections[].type | string | No | group, bracket | bracket | ||
| data.stages[].slug | string | No | regular_season | |||
| data.stages[].type | string | No | ||||
| data.tournament_id | string | No | 115548681802226458 | |||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/lolesports/standings?hl=cs-CZ&tournament_id=115548681802226458&rounds=true" \
-H "x-api-key: $CRAWLORA_API_KEY"