Skip to content

Boxing Data API - Fighter Rankings by Weight Class

Rankings represent the official contender standings published by the four major sanctioning bodies — IBF, WBA, WBC, and WBO — across all 17 men’s weight classes. Use rankings to identify the top-rated contenders, current champions, and interim/regular belt holders in any division.

Understanding the rankings data

How pagination works

Rankings are paginated by weight class. Each page returns rankings for one weight class across all four organisations. Page 1 is always heavyweight, page 2 cruiserweight, and so on down to minimumweight (page 17). There are always 17 pages in total and the page_size param is not supported — each page always returns 4 items (one per organisation).

PageDivision
1Heavyweight
2Cruiserweight
3Light Heavyweight
4Super Middleweight
5Middleweight
6Super Welterweight
7Welterweight
8Super Lightweight
9Lightweight
10Super Featherweight
11Featherweight
12Super Bantamweight
13Bantamweight
14Super Flyweight
15Flyweight
16Light Flyweight
17Minimumweight

Filtering by division or organisation

Pass division_id to jump directly to a specific weight class instead of paginating. Pass organization_id to narrow results to a single sanctioning body. Both filters can be combined.

Champions vs contenders

Each ranking object contains two separate arrays:

  • champions — the current title holders for that org and division. Each entry includes title_type (full, regular, or interim) so you can identify which belt they hold.
  • rankings — the ranked contenders, ordered by rank ascending.

Vacant positions

When a title or rank slot has no holder, is_vacant: true is set on the entry and fighter_id / fighter_name will be null.

Identifying which title a champion holds

The title_ids field on each ranking object maps belt types to title IDs:

"title_ids": {
"full": "67153e83af69bb50508b7914",
"regular": null,
"interim": null
}

Use title_type on a champion entry to look up the corresponding title ID from title_ids.

updated_at field

updated_at reflects when the sanctioning body last updated their rankings (sourced from BoxingScene), not our internal sync timestamp.

Endpoints

1. List rankings:

  • Endpoint URL: https://boxing-data-api.p.rapidapi.com/v2/rankings/
  • Description: Retrieves fighter rankings paginated by weight class. Each page covers one division across all four major organisations.

List rankings

The following query params can be used to filter or navigate the rankings:

Query ParamDescriptionExampleDefaultRequired
page_numThe weight class page to return (1 = heavyweight, 17 = minimumweight).11No
organization_idFilter results to a single sanctioning organisation.6715138aad13034eb882665aNullNo
division_idReturn rankings for a specific weight division directly, ignoring page_num.671513530ad13034eb88265aNullNo
Terminal window
curl --request GET
--url 'https://boxing-data-api.p.rapidapi.com/v2/rankings/?page_num=1'
--header 'x-rapidapi-key: [Your RapidAPI Key]'
Example response:
{
"metadata": {
"timestamp": "2026-06-17T12:00:00.000000+00:00"
},
"pagination": {
"page": 1,
"items": 4,
"total_pages": 17,
"total_items": 68
},
"error": {},
"data": [
{
"id": "6715abc123def456789abc01",
"organization": {
"id": "6715138aad13034eb882665a",
"name": "International Boxing Federation",
"slug": "ibf"
},
"division": {
"id": "671513530ad13034eb88265a",
"name": "Heavyweight",
"weight_lb": null,
"weight_kg": null
},
"gender": "male",
"title_ids": {
"full": "67153e83af69bb50508b7914",
"regular": null,
"interim": null
},
"updated_at": "2026-06-10T00:00:00.000000",
"champions": [
{
"fighter_id": "6715fc1faf69bb50508b7c72",
"fighter_name": "Oleksandr Usyk",
"title_type": "full",
"is_vacant": false
}
],
"rankings": [
{
"rank": 1,
"fighter_id": "6715fc1faf69bb50508b7a4d",
"fighter_name": "Daniel Dubois",
"is_vacant": false
},
{
"rank": 2,
"fighter_id": "6715fc1faf69bb50508b7af7",
"fighter_name": "Anthony Joshua",
"is_vacant": false
}
]
}
]
}