Complete reference for the Spoak backend REST API. Base URL: http://localhost:4000/api
https://spoakapi.fraio.cc/api/v2The backend is built with Rust using Axum, Tokio and Reqwest. It proxies requests to Mojang, PaperMC and Leaf APIs.
| Variable | Default | Description |
|---|---|---|
| PORT | 4000 | Port the server listens on |
/api/serverjars/versionsGet all Minecraft release versions
Returns a list of stable Minecraft Java Edition release versions sourced from the Mojang version manifest. Sorted newest first.
{ "versions": ["1.21.4", "1.21.3", ...] }
/api/serverjars/paper/:version/buildsGet Paper builds for a version
Returns all available Paper server builds for the given Minecraft version. Sorted newest first.
Parameters
:version{ "builds": [{ "version": "1.21.4", "build": "232", "channel": "stable", "download_url": "..." }] }
/api/serverjars/paper/:version/latestGet latest stable Paper build
Returns the latest stable Paper build for the given version.
Parameters
:version{ "version": "1.21.4", "build": "232", "channel": "stable", "download_url": "..." }
/api/serverjars/leaf/:version/buildsGet Leaf builds for a version
Returns all available Leaf server builds for the given Minecraft version, sourced from the Leaf API.
Parameters
:version{ "builds": [{ "version": "1.21.4", "build": "525", "channel": "default", "download_url": "..." }] }
/api/mcping?host=&port=Ping a Minecraft server
Pings a Java Edition server using the Server List Ping protocol. Works without query protocol enabled. Returns version, player count, MOTD, favicon and latency.
Parameters
hostport{ "online": true, "host": "play.example.com", "port": 25565, "version": "Paper 1.21.4", "protocol": 769, "software": "Paper", "description": "A Minecraft Server", "players_online": 12, "players_max": 100, "players": ["Steve", "Alex"], "favicon": "data:image/png;base64,...", "latency_ms": 42 }
/api/player/:usernameLook up a player profile
Fetches a player's UUID, username, skin URL, cape URL and skin model from the Mojang API.
Parameters
:username{ "uuid": "069a79f444e94726a5befca90e38aaf5", "uuid_formatted": "069a79f4-44e9-4726-a5be-fca90e38aaf5", "username": "Notch", "skin_url": "http://textures.minecraft.net/texture/...", "cape_url": null, "skin_model": "classic", "avatar_url": "https://crafatar.com/avatars/...", "body_url": "https://crafatar.com/renders/body/..." }
/api/seedmap/versionsGet supported seed map versions
Returns the list of Minecraft versions supported by the biome generator.
{ "versions": ["1.21", "1.20", "1.19", ...] }
/api/seedmap/tile?seed=&x=&z=&size=&version=Generate a biome tile
Returns raw biome data as a binary octet-stream. Each biome ID is encoded as a signed 16-bit little-endian integer. Tile is size×size biome IDs sampled at scale 4 (1 sample per 4 blocks).
Parameters
seedxzsizeversion<binary> — size×size × 2 bytes (i16 LE per biome ID)
/api/seedmap/structures?seed=&x=&z=&radius=&version=Find structures near a position
Returns a list of structure markers (village, monument, mansion, etc.) within the given radius around the specified coordinates.
Parameters
seedxzradiusversion[ { "kind": "village", "label": "Village", "color": "#4ade80", "x": 128, "z": -256 }, { "kind": "monument", "label": "Monument", "color": "#38bdf8", "x": 512, "z": 768 }, { "kind": "mansion", "label": "Mansion", "color": "#f87171", "x": -1024, "z": 320 } ]