API
Die Daten dieser Seite gibt es auch als JSON, für eigene Apps, Bots und Webseiten. Keine Anmeldung, kein
Schlüssel: einfach abrufen.
So funktioniert's
- Alle Adressen beginnen mit
https://stats.craftstuebchen.de/api/v1 und antworten mit JSON (UTF-8). Es gibt nur GET.
- Abrufe aus dem Browser anderer Seiten sind erlaubt (
Access-Control-Allow-Origin: *).
- Höchstens 5 Abrufe pro Sekunde je IP (kurz bis zu 20). Darüber kommt
429 mit
Retry-After. Die Daten ändern sich nur alle paar Minuten: bitte zwischenspeichern statt ständig neu
abzurufen.
- Spieler kommen als
{"name": "…", "uuid": "…"}; die UUID hat 32 Hex-Zeichen ohne Bindestriche.
Unbekannte Spieler haben keinen Namen.
- Texte mit Minecraft-Farben gibt es ohne Farben im Feld selbst und mit Farbcodes in
…_raw
(§-Codes, bei Pets MiniMessage). …_raw fehlt, wenn der Text keine Farben hat.
- Zeiten sind RFC 3339 in UTC.
updated_at sagt, wann die Daten zuletzt aus der Datenbank geladen wurden.
Listen
Längere Listen (seitenweise unten) haben die Parameter page (ab 1) und limit
(1–100, Standard 20):
{
"data": [ … ],
"page": 1,
"limit": 20,
"total": 1234,
"updated_at": "2026-10-20T12:05:00Z"
}
Alles andere kommt als {"data": …, "updated_at": …}.
Fehler
Fehler haben den passenden Status und {"error": "…"}: 400 bei falschen Parametern,
404 für unbekannte Spieler, Listen oder Adressen, 503 (mit Retry-After), wenn
die Daten eines Servers gerade nicht verfügbar sind.
Spieler
| Adresse | Inhalt |
/players/search |
Bis zu 10 Spieler, deren Name mit q anfängt: ein genauer Treffer zuerst, dann die zuletzt aktiven. |
/players/{name} |
Das Profil eines Spielers über alle Server: Joins, Team-Rang und je Server die Werte mit Platz in der Bestenliste ({"value", "rank", "of"}). Server, auf denen der Spieler nichts erreicht hat, fehlen. |
Bestenlisten
| Adresse | Inhalt |
/toplists |
Alle Bestenlisten mit ihrer API-Adresse. |
/sky/top/{list} |
Skyblock-Bestenlisten: level, challenges, quests, quest-streaks, haendler. seitenweise |
/city/top/{list} |
Citybuild-Bestenlisten: gesamtlevel, jobpunkte, haendler. seitenweise |
/creative/top/{list} |
Creative-Bestenlisten: plots. seitenweise |
/minez/top/{list} |
MineZ-Bestenlisten: level, humanity, zombies, kills, kd, tode, geld, quests, slots, roulette. seitenweise |
/vote/top/{list} |
Vote-Bestenlisten: monat, gesamt, streaks, coins. seitenweise |
/city/jobs/{job}/top |
Die höchsten Level eines Citybuild-Jobs, mit der Erfahrung in details. seitenweise |
Skyblock
| Adresse | Inhalt |
/sky/challenges |
Alle Challenges nach Schwierigkeit, mit der Zahl der Inseln, die sie geschafft haben. |
/sky/storage-items |
Die Items des Insellagers: Preis zum Freischalten, Inseln, die es freigeschaltet haben, und wie viel eingelagert ist. seitenweise |
/sky/adminshop |
Was der Adminshop pro 64 Items zahlt und was in den letzten 30 Tagen an ihn verkauft wurde. seitenweise |
/sky/warps |
Die öffentlichen Warps, meistbesucht zuerst. seitenweise |
Citybuild
| Adresse | Inhalt |
/city/jobs |
Alle Jobs mit Spielerzahl und höchstem Level. |
/city/warps |
Die öffentlichen Warps, meistbesucht zuerst. seitenweise |
Creative
MineZ
| Adresse | Inhalt |
/minez/crews |
Alle Crews mit Level, Crewkasse, Upgrades und Mitgliedern. |
/minez/weapons |
Alle Waffen mit Kills, Schüssen und Treffern. |
/minez/quests |
Alle Quests mit der Zahl der Spieler, die sie geschafft haben oder gerade spielen. |
Vote
| Adresse | Inhalt |
/vote |
Votes heute, diesen Monat und insgesamt; die nächste Lotterie-Ziehung und ihr Topf. |
/vote/lottery |
Alle Gewinner der Lotterie, die neuesten zuerst. seitenweise |
Pets
| Adresse | Inhalt |
/pets |
Die stärksten Pets im ganzen Netzwerk (Prestige, dann Level). seitenweise |
Köpfe
Den Kopf eines Spielers als PNG gibt es unter https://stats.craftstuebchen.de/api/head?uuid=…&size=64
(size 1–512, Standard 8). Die alte Adresse aus cs-stats funktioniert weiter. Ohne Skin oder bei
unbekannter UUID kommt Steves Kopf.
Beispiel
const res = await fetch("https://stats.craftstuebchen.de/api/v1/players/Cookie_Island");
const { data } = await res.json();
console.log(data.sky?.level?.value, data.vote?.total?.rank);
Strafen, Regeln und das Team gibt es nur auf den Seiten, nicht in der API.