Boxing rankings API
RankingsThe world ranking lists by body and division.
A list you will want once and then keep: it changes rarely. Ids in it open their own endpoints.
Try it
Your key stays in this browser and is filled in on every docs page.
{
"data": [
{
"body": "wbc",
"division": "Bridgerweight",
"women": false,
"month": "2026-10",
"champion": {
"name": "Ryad Merhy",
"id": "bx_pz7ajxmq3g"
},
"interim": null,
"entries": [
{
"rank": 1,
"name": "Kris Terzievski",
"id": "bx_peph4jzsc0",
"country": null
},
{
"rank": 2,
"name": "Oleksandr Hrytsiv",
"id": "bx_h0hbsjgbxt",
"country": null
},
{
"rank": 3,
"name": "Adam Balski",
"id": "bx_c3m9ec9cwk",
"country": null
}
]
},
{
"body": "wbc",
"division": "Heavyweight",
"women": false,
"month": "2026-10",
"champion": {
"name": "Agit Kabayel",
"id": "bx_mra8dnn49n"
},
"interim": null,
"entries": [
{
"rank": 1,
"name": "Tyson Fury",
"id": "bx_carqgzbxvw",
"country": null
},
{
"rank": 2,
"name": "Anthony Joshua",
"id": "bx_ng2hkhwmjh",
"country": null
},
{
"rank": 3,
"name": "Frank Sanchez",
"id": "bx_50evmfjhee",
"country": null
}
]
}
],
"meta": {
"sport": "boxing",
"endpoint": "/rankings",
"count": 50,
"page": 1,
"per_page": 50,
"total": 145,
"total_pages": 3,
"next_cursor": "eyJvIjo1MCwicCI6NTB9",
"next_page": 2,
"prev_page": null,
"as_of": "2026-11-03T04:23:04Z",
"cached": false,
"age_seconds": 0
}
}Parameters
Query values this call takes. Anything else is refused with bad_param and the list it accepts.
| Name | Type | What it does | |
|---|---|---|---|
| season | string | optional | The season, by the id or starting year shown in Competitions. |
| page | integer | optional | Which page of rows, from 1. |
| per_page | integer | optional | Rows per page, up to 100 on most lists. |
Returns
Each row of data, from a real answer. Every id is ours and opens its own endpoint.
| Field | Type | What it holds |
|---|---|---|
| body | string | The sanctioning body |
| division | string | The weight division |
| women | boolean | Women |
| month | string | Month |
| champion | object | The champion |
| interim | null | Interim |
| entries | list | The ranked entries |
| meta | What it holds |
|---|---|
| sport, endpoint | What you asked |
| count | Rows in this answer |
| page, per_page, total, next_cursor | Where you are in a paged list, when it is paged |
| as_of | When the data was built |
| cached, age_seconds | Whether this is a stored copy, and its age |
| access | On the free key: what it reads, and the plan that opens the rest |
Errors
Codes this call can give. Each is explained in Errors.
| Status | Code | When |
|---|---|---|
| 401 | no_key | No key sent, or not in a form we read |
| 401 | bad_key | A key we do not know |
| 403 | plan | The free key asked for a date other than yesterday |
| 422 | bad_param | A value this call does not take |
| 429 | rate | Over the calls a minute for your plan |
| 503 | upstream | The data is not answering; retry after Retry-After |
The free key reads yesterday. The Boxing plan opens live, fixtures and every date held, for $29 a month.
Add Boxing