API

REST API

Public endpoints for player profiles, Minecraft skins and renders, rankings, clans, events and server data. No authentication required for the endpoints below.

Base URLhttps://api.elotiers.com/v1

Minecraft Profile & Skin APIs

Public, no API key required, CORS-enabled
GET/api/minecraft/profile?q={name_or_uuid}

Resolve a Minecraft username or UUID to get UUID, name, skin, cape, textures, and render URLs.

ParameterTypeDescription
qrequiredstringMinecraft username or UUID
refreshboolForce cache refresh
GET/api/minecraft/uuid/{name}

Lookup UUID by Minecraft username.

GET/api/minecraft/name/{uuid}

Lookup current Minecraft name by UUID.

GET/api/minecraft/skin/{id}

Get skin/cape data by UUID, name, or texture ID.

Render URLs

PathDescription
/avatar/{uuid}[/{size}].png2D avatar (face crop)
/render/head/{uuid}?width=180&height=180Head render
/render/bust/{uuid}?width=240&height=280Bust/upper body render
/render/full/{uuid}?width=280&height=380Full body render
/3d/head/{uuid}?width=180&height=1803D head render
/2d/head/{uuid}?width=180&height=1802D head render
/skin/{uuid}.pngRaw skin texture PNG
/cape/{uuid}.pngRaw cape texture PNG

Render Options

OptionDescription
refresh / freshForce re-fetch from Mojang
helmShow/hide helmet overlay (default: true)
overlayShow/hide skin overlay layer (default: true)
shadowShow/hide drop shadow (default: true)
width / heightOutput size in pixels (8–1024)

Response Example

// GET /api/minecraft/profile?q=Steve
{
  "success": true,
  "uuid": "069a79f4-44e9-4726-a16f-93fa8e7aa90f",
  "name": "Notch",
  "skin": {
    "url": "http://textures.minecraft.net/texture/abc123",
    "model": "classic",
    "texture_id": "abc123",
    "download": "/skin/069a79f4-.../120.png"
  },
  "cape": null,
  "renders": {
    "avatar": "/avatar/069a79f4-.../120.png",
    "head": "/render/head/069a79f4-...?width=180&height=180",
    "bust": "/render/bust/069a79f4-...?width=240&height=280",
    "full": "/render/full/069a79f4-...?width=280&height=380",
    "skin": "/skin/069a79f4-....png",
    "cape": "/cape/069a79f4-....png"
  }
}

Rankings & Leaderboard

Rate-limited: 120 requests per 60 seconds per IP
GET/api/top?type={source}&mode={mode}&page={page}&limit={limit}

Top players leaderboard by tier source and game mode.

ParameterTypeDescription
typestringTier source: mctiers, pvptiers, subtiers, flowpvp, custom (default: mctiers)
modestringGame mode filter (e.g. overall, sword, pot, uhc)
pageintegerPage number (default: 1)
limitintegerResults per page, max 100 (default: 25)
GET/api/rankings/unified?mode={mode}&page={page}&limit={limit}

Unified aggregated rankings across all tier sources with visible Elo.

ParameterTypeDescription
moderequiredstringGame mode (e.g. overall, sword, pot, uhc)
pageintegerPage number (default: 1)
limitintegerResults per page, max 100 (default: 25)
GET/api/players/compare?players={uuid1},{uuid2}

Compare multiple players' tier rankings and custom stats. Max 5 UUIDs.

ParameterTypeDescription
playersrequiredstringComma-separated UUIDs (max 5)

Player Profile & Stats

Public, no API key required
GET/api/profile?q={name_or_uuid}

Full player profile with all tier rankings, stats, clan info, and social data.

ParameterTypeDescription
qrequiredstringMinecraft username or UUID
refreshboolForce cache refresh from tier sources
GET/api/stats/player?q={name_or_uuid}

Raw custom stats submitted by server plugins (wins, losses, kill/death ratios).

ParameterTypeDescription
qrequiredstringMinecraft username or UUID
GET/api/stats

Global platform statistics: total players, matches played, online servers, active game modes.

Clans

Public, no API key required
GET/api/clans/top?mode={mode}&page={page}&limit={limit}

Clan leaderboard aggregated by member visible Elo.

ParameterTypeDescription
modestringGame mode filter (default: overall)
pageintegerPage number (default: 1)
limitintegerResults per page, max 100 (default: 25)
GET/api/clans/{tag}

Public clan info by clan tag including members, stats, and relations.

Events

Public, no API key required
GET/api/events?status={status}&server_id={id}

List events with optional filters for status and server.

ParameterTypeDescription
statusstringFilter by status: scheduled, live, ended, cancelled
server_idstringFilter by server ID
fromstringStart date filter (ISO 8601)
tostringEnd date filter (ISO 8601)
GET/api/events/active

Live and upcoming events scheduled within the next 24 hours.

Rate Limits

Public Endpoints
60
requests per minute
Rankings & Leaderboard
120
requests per 60s per IP
Authenticated
300
requests per minute

Rate limit headers are included in every response:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1640995200

Authentication

All endpoints on this page are public and do not require authentication. For authenticated requests (account management, developer keys, admin endpoints), include your API key in the header:

Authorization: Bearer YOUR_API_KEY

To get an API key, sign in with Discord and visit your developer dashboard.

Error Codes

CodeMeaning
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
404Not Found - Player or resource doesn't exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error - Try again later