Sumo API
Free sumo API with no key: rikishi profiles with ranks, stables, birthplaces and physical stats, plus tournament and bout results. Tested example included.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the Sumo API?
Sumo API is a free, key-free JSON API for professional sumo. The rikishi endpoint returns wrestler profiles with their shikona in both English and Japanese, current rank, stable, birthplace, height, weight and debut tournament.
Sumo results have traditionally been locked in the Japan Sumo Association's own pages and in hobbyist databases with no machine-readable output at all. This API normalises the lot into clean JSON — wrestlers, ranks, banzuke, tournament results and individual bouts — with no key and no registration, which is why the small community of sumo-analytics projects has largely converged on it.
Two conventions are worth learning before you build anything. `debut` is a tournament code in `YYYYMM` form rather than a date, because sumo counts time in six annual honbasho rather than in months. And `currentRank` is a formatted string like `Maegashira 10 East`, encoding division, numeric position and side in one field — you will need to parse it yourself if you want to sort by rank, since there is no separate numeric ordering. The response is also served with a `text/plain` content type despite being valid JSON.
Quick facts
- Base URL
https://www.sumo-api.com/api- Authentication
- No API key and no account.
- Rate limit
- No published limit. Data changes only around tournament dates, so cache generously.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Sumo API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. List professional sumo wrestlers
GET https://www.sumo-api.com/api/rikishis?limit=2
curl 'https://www.sumo-api.com/api/rikishis?limit=2'const res = await fetch("https://www.sumo-api.com/api/rikishis?limit=2");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://www.sumo-api.com/api/rikishis?limit=2", timeout=20)
res.raise_for_status()
print(res.json()){
"limit": 2,
"skip": 0,
"total": 599,
"records": [
{
"id": 2,
"sumodbId": 12291,
"nskId": 3682,
"shikonaEn": "Asanoyama",
"shikonaJp": "朝乃山 広暉",
"currentRank": "Maegashira 10 East",
"heya": "Takasago",
"birthDate": "1994-03-01T00:00:00Z",
"shusshin": "Toyama-ken, Toyama-shi",
"height": 188,
"weight": 170,
"debut": "201603",
"updatedAt": "2026-07-10T02:36:02.628Z"
},
{
"id": 3,
"sumodbId": 12796,
"nskId": 4187,
"shikonaEn": "Hakunofuji",
"shikonaJp": "伯乃富士 哲也",
"currentRank": "Maegashira 3 West",
"heya": "Isegahama",
"birthDate": "2003-08-22T00:00:00Z",
"shusshin": "Tottori-ken, Kurayoshi-shi",
"height": 181,
"weight": 161,
"debut": "202301",
"updatedAt": "2026-07-10T02:36:02.628Z"
}
]
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | query | Optional | How many records to return per page. 2 |
skip | query | Optional | How many records to skip, for paging. 0 |
shikonaEn | query | Optional | Filter by English ring name. Asanoyama |
heya | query | Optional | Filter by stable. Takasago |
intai | query | Optional | Include retired wrestlers, who are excluded by default. true |
/basho/{id} | path | Optional | Tournament endpoint, keyed by the same `YYYYMM` code convention. 202401 |
Response fields
recordsarray- The wrestler records for this page.
records[].shikonaEn / shikonaJpstring- Ring name in romanised and Japanese form. The Japanese version includes the given name after an ideographic space.
records[].currentRankstring- Formatted rank string such as `Maegashira 10 East`, combining division, position and side. Parse it if you need to sort.
records[].heyastring- Stable the wrestler belongs to.
records[].shusshinstring- Birthplace, given as prefecture and city in romanised Japanese.
records[].height / weightinteger- Height in centimetres and weight in kilograms.
records[].birthDatestring- ISO 8601 timestamp.
records[].debutstring- Debut tournament as a `YYYYMM` code, not a calendar date.
records[].id / sumodbId / nskIdinteger- Identifier in this API plus cross-reference ids for the SumoDB database and the Japan Sumo Association.
total / limit / skipinteger- Paging envelope. `total` is the full count matching your filters.
What you can build with the Sumo API
- Build a sumo tournament tracker or results dashboard
- Analyse how stable, height and weight relate to career records
- Cross-reference wrestlers into SumoDB using the provided ids
- Generate banzuke visualisations for a given tournament
Common errors and how to fix them
Client refuses to parse the body
The content type is `text/plain` even though the payload is JSON.
Fix: Parse it as JSON explicitly rather than relying on the declared type.
Ranks sort alphabetically
`currentRank` is a formatted string, not a numeric field.
Fix: Parse division, number and side out of the string and sort on those. There is no pre-sorted rank value.
Wrestler missing
Retired wrestlers are excluded unless you ask for them.
Fix: Add `intai=true` to include retirements.
Date parsing fails on debut
It is a `YYYYMM` tournament code, not an ISO date.
Fix: Treat it as a tournament identifier. The same convention keys the `/basho/` endpoint.
Sumo API — frequently asked questions
Is the Sumo API free?
Yes, free with no key and no account. It is a community project serving professional sumo data as JSON.
What does a rank like `Maegashira 10 East` mean?
Division, numeric position within it, and which side of the banzuke the wrestler sits on. Higher divisions and lower numbers mean higher rank, and East outranks West at the same number.
Why is debut formatted as 201603?
Sumo runs six tournaments a year and counts time in them rather than in months. `201603` is the March 2016 tournament, and the same code identifies tournaments elsewhere in the API.
Can I get retired wrestlers?
Yes, by passing `intai=true`. They are excluded by default so the standard listing reflects the active roster.
Tools that pair with this API
CSV Column Statistics Calculator
Profile a CSV column by column: type, blanks, distinct values, min, max, mean, median, standard deviation and percentiles, plus top values — all in-browser.
Unit Converter
Convert between units of length, weight, temperature, area, volume, speed, time and data storage instantly, with a swap button and common conversion tables.
Date Difference Calculator
Calculate the exact difference between two dates in years, months and days, plus total days, weeks, hours and minutes. Free, fast and private.
Sumo API is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.