whiscey.net

Minecraft Player API

Look up any Minecraft player by name or UUID and get their UUID, the correct name, their skin, whether it's a slim or wide model, their cape, and links to 3D renders. Java and Bedrock (Floodgate) players both work.

Quick start

GET https://whiscey.net/api/player/<name>
GET https://whiscey.net/api/player/<uuid>
GET https://whiscey.net/api/player/.<Bedrock_Name>
Player render
Press Look up to see the live JSON.

What you get

editionjava or bedrock
nameThe username with its real capitals, or the Xbox gamertag
uuid, uuid_rawThe UUID with and without dashes (Floodgate UUID for Bedrock)
floodgate_name, xuidBedrock only
skinurl (null for default skins), model (slim or wide), default
cape{ url } or null
rendersLinks to the head, face, bust, body, front and raw skin renders
{
  "edition": "java",
  "name": "jeb_",
  "uuid": "853c80ef-3c37-49fd-aa49-938b674adae6",
  "uuid_raw": "853c80ef3c3749fdaa49938b674adae6",
  "skin": { "url": "https://textures.minecraft.net/texture/...", "model": "wide", "default": false },
  "cape": { "url": "https://textures.minecraft.net/texture/9e507afc..." },
  "renders": { "head": "https://whiscey.net/render/skin/853c80ef3c3749fdaa49938b674adae6/head", "...": "..." },
  "cached_at": "2026-10-11T23:10:00.000Z"
}

Unknown players return 404 with {"error": ...}. If Mojang or GeyserMC is down you get 503.

Examples

HTML + JavaScript

const p = await fetch("https://whiscey.net/api/player/Notch").then(r => r.json());
document.querySelector("img").src = p.renders.head + "?size=64";

Python

import requests
p = requests.get("https://whiscey.net/api/player/Notch").json()
print(p["name"], p["uuid"], p["skin"]["model"])

Skript (with skript-reflect)

import:
    java.net.URL
    java.util.Scanner
command /lookup <text>:
    trigger:
        set {_json} to new Scanner(new URL("https://whiscey.net/api/player/%arg-1%").openStream(), "UTF-8").useDelimiter("\A").next()
        send {_json} to player

Java

HttpClient http = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder(URI.create("https://whiscey.net/api/player/" + name)).build();
JsonObject p = JsonParser.parseString(http.send(req, HttpResponse.BodyHandlers.ofString()).body()).getAsJsonObject();
UUID uuid = UUID.fromString(p.get("uuid").getAsString());

Limits and caching

For images of the skin, see the Minecraft Skin API.

FAQ

How do I get a Minecraft player's UUID?

Request https://whiscey.net/api/player/<name>. The JSON has uuid (with dashes) and uuid_raw (without).

How do I get a name from a UUID?

Use the UUID instead of the name: https://whiscey.net/api/player/<uuid>. Dashes are optional.

Does it work for Bedrock players?

Yes. Use the Floodgate name with a dot in front and underscores for spaces, like .whisceymc, or the Floodgate UUID. You get the gamertag, XUID and Floodgate UUID.

Does it show capes?

Yes, for Java players who have a cape equipped. Bedrock capes aren't available.

How fresh is the data?

Found players are cached for an hour, names that don't exist for 15 minutes.

Every whiscey.net Minecraft API, with all options →