API Reference
khadow.lol Stats API
Multi-server Minecraft stat fetcher. Pulls from Hypixel, SkyBlock, DonutSMP, and Pit in a single request.
Base URL
https://api.khadow.lol
Auth
None required
Format
JSON — Content-Type: application/json
Rate limit
No hard limit on /stats
GET
no auth
/healthz
Returns a simple uptime check. Use this to verify the server is reachable.
// response
{ "status": "ok" }
POST
no auth
/stats
Fetches stats for a Minecraft player. All fetch types except all return only their respective section.
Request body
usernamestringMinecraft username to look up.fetch_typestringWhich dataset to fetch. See fetch types below.POST /stats
Content-Type: application/json
{
"username": "Khadow",
"fetch_type": "all"
}
Fetch types
allcombinedReturns hypixel + hypixel_skyblock + donutsmp + pit in parallel. Used by the homepage.hypixelobjectHypixel stats (rank, levels, BW/SW, KDR/FKDR/WLR, session) + Seraph blacklist + Urchin blacklist.hypixel_skyblockobjectSkyBlock level, networth, unsoulbound networth, purse, bank.donutsmpobjectDonutSMP economy and combat: money, shards, kills, deaths, K/D, playtime.pitobjectPit summary: prestige, level, gold, renown, XP, K/D, K+A/D, kills, assists, deaths, playtime.pit_detailsobjectFull Pit player object including upgrades, perks, renown map, and all stats.Top-level response fields
usernamestringRequested username.fetch_typestringThe fetch type used.fetched_atstringUTC timestamp, RFC3339.durationstringTotal server-side processing time.hypixelobjectPresent for all or hypixel.hypixel_skyblockobjectPresent for all or hypixel_skyblock.donutsmpobjectPresent for all or donutsmp.pitobjectPresent for all or pit.pit_detailsobjectPresent for pit_details only.hypixel object fields
statusstringok | error | ratelimited | not_foundrankstringe.g. MVP+, MVP++, VIPlobby_levelstringNetwork level (calculated from networkExp).bedwars_levelstringBedWars star.skywars_levelstringSkyWars level string.winstreakstringBedWars winstreak. May be API if hidden.core_kdrstringBedWars overall K/D ratio.core_fkdrstringBedWars final K/D ratio.core_wlrstringBedWars win/loss ratio.session_statusstringonline | offlineserver_typestringGame type if online, e.g. BEDWARS.modestringGame mode if online.online_forstringDuration online, e.g. 1h 23m.blacklist_statusboolSeraph blacklist — true = blacklisted.report_typestringSeraph report type if blacklisted.reasonstringSeraph reason if blacklisted.urchin_blacklist_statusstringBlacklisted | Not_Blacklistedurchin_typestringUrchin tag type if blacklisted.urchin_reasonstringUrchin reason if blacklisted.
POST
one at a time
/keygen
Regenerates the server's Hypixel developer API key. Requires a valid xfNew_session cookie from hypixel.net. Returns 429 if a keygen is already running.
Request body
userstringValue of the xfNew_user cookie from hypixel.net. Has no expiry.captcha_keystring?Optional. Your 2captcha API key. Uses ours for free if omitted.POST /keygen
Content-Type: application/json
{
"session": "xXxXxXxXxXxXxXxXxXxXxXxXxXxXxXx",
"captcha_key": "optional"
}
Responses
200ok
{"status":"ok","key":"<uuid>"} — new key stored server-side.429busy
{"error":"keygen already in progress, try again later"}500error
{"error":"..."} — JWT fetch, captcha, or regen failure.You can also trigger this from the browser at /keygen/.
Full example
fetch("https://api.khadow.lol/stats", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ username: "Khadow", fetch_type: "all" })
})
.then(r => r.json())
.then(d => console.log(d));
Example response
{
"username": "Khadow",
"fetch_type": "all",
"hypixel": {
"status": "ok",
"rank": "MVP+",
"lobby_level": "120.4",
"bedwars_level": "119",
"skywars_level": "12",
"winstreak": "3",
"core_kdr": "1.02",
"core_fkdr": "0.74",
"core_wlr": "0.61",
"session_status": "offline",
"blacklist_status": false,
"urchin_blacklist_status": "Not_Blacklisted"
},
"hypixel_skyblock": {
"status": "ok",
"level": "71.79",
"networth": "363.71m",
"unsoulbound_networth": "210.00m",
"purse": "1.20m",
"bank": "50.00m"
},
"donutsmp": {
"status": "ok",
"money": "328.02K",
"shards": "1200",
"kills": "42",
"deaths": "10",
"kd": "4.20",
"playtime": "0d 9m"
},
"pit": {
"status": "ok",
"player": {
"prestige": 0,
"level": 57,
"gold": 13107,
"renown": 200,
"xp": 980000,
"stats": { "kd": "2.14", "kills": 4200, "deaths": 1960 }
}
},
"fetched_at": "2026-05-24T08:00:00Z",
"duration": "1.24s"
}