khadow.lol

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 /healthz
no auth

Returns a simple uptime check. Use this to verify the server is reachable.

// response
{ "status": "ok" }
POST /stats
no auth

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_found
rankstringe.g. MVP+, MVP++, VIP
lobby_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 | offline
server_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_Blacklisted
urchin_typestringUrchin tag type if blacklisted.
urchin_reasonstringUrchin reason if blacklisted.
POST /keygen
one at a time

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"
}