Your server's statistics, as one JSON API
Statfyr embeds an HTTP server inside your Minecraft server and serves every player statistic, live or offline, as JSON. Dashboards, leaderboards, and Discord bots read from one place instead of scraping logs or poking the database.
What one call returns
One GET, the whole profile
GET /api/player/<id>/summary folds hundreds of raw Bukkit statistics into a dashboard-ready object. These tiles are rendered from its real field names.
summary.blocksMinedsummary.mobKillssummary.deathssummary.distanceKmsummary.itemsCraftedsummary.chestsOpenedRequest
curl http://localhost:8080/api/player/Notch/summary \
-H "Authorization: Bearer YOUR_API_KEY"Response
{
"playtime_formatted": "15d 4h 50m",
"combat": { "deaths": 128, "player_kills": 41 },
"movement": { "total_distance_km": 4820.34, "jumps": 92044 },
"activity": { "blocks_mined": 318402, "items_crafted": 21843 }
}Why statfyr
Built for owners who ship dashboards
Live and offline players
Online players read straight from the Bukkit statistic API; offline players from the world's stats JSON files. One API covers both.
Nine vanilla categories
custom, mined, crafted, used, broken, picked_up, dropped, killed, killed_by, plus custom stats registered by other plugins.
Safe to poll
A 30-second statistic cache and per-IP rate limiting keep request costs flat even while dashboards poll aggressively.
Point a dashboard at it
Install the plugin, set an API key, and start polling. The full endpoint reference includes copy-paste curl for every route.