API Профилей Minecraft
Получите UUID, скин, плащ и историю никнеймов для любого игрока Minecraft. Один URL, JSON-ответ. Без регистрации.
Работает в JavaScript, Python, PHP, cURL — любом HTTP-клиенте. Java & Bedrock поддерживаются.
Попробуйте: /api?username=jeb_Также: Скачать скины · Галерея плащей · Поиск Профиля · Генератор JSON · Кешированные игроки · Статус Сервера
Возможности API
Быстрый Старт
Base URL: https://vrc.lol
Endpoints: /api (profile), /head (head image), /skin, /cape.
In one line: Open https://vrc.lol/api?username=jeb_ in a browser to see JSON.
What you get: UUID, XUID, skin URL, cape URL, name history — all in one response.
fetch().vs Mojang API: We combine Java (Mojang) + Bedrock (GeyserMC/Xbox) in one call. No API key. Cached. Returns skin/cape URLs, name history, and head image — all in one response.
Как это работает
?username=Notchjava.uuid, java.skin_url, java.name_history, etc.Request → Response: GET https://vrc.lol/api?username=jeb_ → { "success": true, "java": { "uuid": "853c80ef...", "skin_url": "...", ... } }
Попробуйте — введите имя для просмотра ответа API
https://vrc.lol/api?username=jeb_
Примеры Кода
Same request, different languages. Replace jeb_ with any Minecraft username. Each example fetches the profile and reads the UUID.
JavaScript (браузер или Node.js)
fetch() sends the request. res.json() parses the JSON. data.java?.uuid gets the Java UUID (or data.bedrock?.xuid_decimal for Bedrock).
// 1. Send GET request to the API
const res = await fetch('https://vrc.lol/api?username=jeb_');
// 2. Parse JSON response
const data = await res.json();
// 3. Use the data — Java UUID or Bedrock XUID
if (data.success) console.log(data.java?.uuid ?? data.bedrock?.xuid_decimal);
Python
requests.get() fetches the URL. .json() parses the response. data['java']['uuid'] gets the UUID. Install with pip install requests.
import requests
# 1. GET request — returns JSON
data = requests.get('https://vrc.lol/api?username=jeb_').json()
# 2. Check success and extract UUID
if data.get('success'):
uuid = data.get('java', {}).get('uuid') or data.get('bedrock', {}).get('xuid_decimal')
print(uuid)
PHP
file_get_contents() fetches the URL. json_decode(..., true) parses JSON into an array. $data['java']['uuid'] gets the UUID.
// 1. Fetch URL and parse JSON
$data = json_decode(file_get_contents('https://vrc.lol/api?username=jeb_'), true);
// 2. Get UUID (Java or Bedrock)
if ($data['success'] ?? false) {
$uuid = $data['java']['uuid'] ?? $data['bedrock']['xuid_decimal'] ?? '';
echo $uuid;
}
cURL (терминал)
Run this in your terminal. The JSON is printed to stdout. Pipe to jq for pretty output: curl "..." | jq.
curl "https://vrc.lol/api?username=jeb_"
Все Эндпоинты
Quick reference. Base URL: https://vrc.lol
https://vrc.lol/api?username= + your username. Open in browser or use in fetch(), requests.get(), or curl.GET /api?username=... — Profile (UUID, skin, cape, name history)GET /head?username=... — Player head PNG (8–512px)GET /skin?username=... — Skin textureGET /cape?username=... — Cape textureПоиск Профиля
One URL returns UUID, skin, cape, and name history. Pass username, UUID, or XUID.
Параметры
| Параметр | Обязательный | Описание |
|---|---|---|
username | Да | Minecraft username, UUID, or XUID |
type | Нет | all, java, or bedrock |
update | Нет | true to force refresh (rate limited) |
See Code Examples above for JavaScript, Python, PHP, and cURL.
Изображение Головы Игрока
64×64 PNG of a player's face. Use the URL directly in an <img> tag — no API call needed.
HTML — put URL in img src
The browser fetches the image directly. No JavaScript needed.
<img src="https://vrc.lol/head?username=Notch&size=64" alt="Notch" />
Python — save head as PNG
r.content is the raw PNG bytes. Write to a file.
import requests
r = requests.get('https://vrc.lol/head?username=Notch&size=64')
with open('head.png', 'wb') as f: f.write(r.content)
Params: username, uuid, size (8–512), format (png|webp)
Recommended sizes: 64px for general use. 80px for Discord embeds. 512px for high-res previews. Use format=webp for smaller file size.
URL Скина и Плаща
Direct URLs to skin or cape PNG. Use in browsers, Discord, or download. CORS enabled.
Use type=java or type=bedrock for skin — Java uses Mojang textures, Bedrock uses Xbox/GeyserMC.
Формат Ответа
All endpoints return JSON. Success: success: true + data. Error: success: false + error + code.
Response structure (success)
- success
- Boolean —
truewhen a profile was found. - java
- Object — Java Edition data:
username,uuid,skin_url,cape_url,name_history(array of{name, changed_at}). - bedrock
- Object — Bedrock data:
gamertag,xuid_decimal,floodgate_uuid,skin_url,cape_url. - cached
- Boolean —
trueif served from cache (faster).
name_history format: [{ "name": "jeb_", "changed_at": null }, { "name": "oldname", "changed_at": 1234567890000 }] — changed_at is Unix ms or null for original name.
Success (200) — example for jeb_
{ "success": true, "java": { "username": "jeb_", "uuid": "853c80ef3e3740fdaa867b06307a3d4f", "skin_url": "/skin?username=jeb_&type=java", "name_history": [{ "name": "jeb_" }] } }
Error (404)
{ "success": false, "error": "...", "code": "NOT_FOUND", "status": 404 }
HTTP Коды Состояния и Ошибки
Standard codes. 200 = success. 404 = not found. 429 = rate limited.
MISSING_PARAMETER— You forgot?username=.... Always include the username.NOT_FOUND— No profile exists for that username/UUID. Check spelling or try the other edition.RATE_LIMITED— Too many?update=truerequests. Wait 1 hour or use cached data.BAD_GATEWAY— Mojang or GeyserMC API is down. Retry later.
| Код | Значение |
|---|---|
200 | Успех |
400 | Некорректный запрос — неверные или отсутствующие параметры |
404 | Не найдено — профиль не существует |
429 | Лимит превышен — слишком много запросов обновления (1ч на IP/профиль) |
500 | Внутренняя Ошибка Сервера |
502 | Bad Gateway — ошибка API Mojang/GeyserMC |
Лимит Запросов
Normal lookups: no limit (cached). Force update (?update=true): 1 hour per IP.
- Always check
data.successbefore readingjavaorbedrock. - Use
encodeURIComponent(username)in URLs to handle special characters. - For Bedrock-only lookups, use
?type=bedrockto skip Java API calls. - Player head: use
/head?username=X&size=64directly in<img src="...">.
Полные Примеры
Reusable functions that fetch a profile and return UUID. Replace jeb_ with any username.
JavaScript (браузер или Node.js)
async function getUuid(username) {
const res = await fetch(`https://vrc.lol/api?username=${encodeURIComponent(username)}`);
const data = await res.json();
if (!data.success) throw new Error(data.error || 'Not found');
return data.java?.uuid ?? data.bedrock?.xuid_decimal;
}
Python (requires: pip install requests)
import requests
def get_uuid(username):
data = requests.get(f'https://vrc.lol/api?username={username}').json()
if not data.get('success'):
raise Exception(data.get('error', 'Not found'))
return data.get('java', {}).get('uuid') or data.get('bedrock', {}).get('xuid_decimal')
PHP
function getUuid(string $username): string {
$data = json_decode(file_get_contents('https://vrc.lol/api?username=' . urlencode($username)), true);
if (empty($data['success'])) throw new Exception($data['error'] ?? 'Not found');
return $data['java']['uuid'] ?? $data['bedrock']['xuid_decimal'];
}
Real-world: Name history + error handling
Fetch a profile, show name history, and handle errors (404, network failure).
async function getProfile(username) {
try {
const res = await fetch(`https://vrc.lol/api?username=${encodeURIComponent(username)}`);
const data = await res.json();
if (!data.success) return { error: data.error || 'Not found' };
const names = data.java?.name_history?.map(n => n.name) ?? [];
return { uuid: data.java?.uuid, names };
} catch (e) { return { error: 'Network error' }; }
}
Часто Задаваемые Вопросы
Common questions about the Minecraft Profile API.
Нужен ли API-ключ?
Нет. API Профилей Minecraft бесплатен и не требует ключа.
Можно использовать из браузера?
Yes. CORS is enabled — call it directly from fetch() in any webpage.
Поддерживается Bedrock Edition?
Yes. Responses include both Java UUID and Bedrock XUID when available.
Какие данные можно получить?
UUID, XUID, skin URL, cape URL, player head image, and full name history as JSON.
Какой базовый URL?https://vrc.lol. Endpoints: /api, /head, /skin, /cape.
Что можно создать?
Discord bots, web apps, server plugins, leaderboards, skin previews, and any tool needing Minecraft player data.
Как получить историю никнеймов?
Use /api?username=X — the response includes java.name_history (array of past names).
Можно искать по UUID?
Yes. Pass the UUID in the username parameter: /api?username=853c80ef3e3740fdaa867b06307a3d4f.
Работает в Node.js?
Yes. Node.js 18+ has fetch() built-in. For older Node, use node-fetch or axios.
/api vs /api.php?
Use /api — it's the canonical URL. /api.php redirects to it. Both work.
Формат UUID — с дефисами или без?
Both work. 853c80ef3e3740fdaa867b06307a3d4f (no hyphens) and 853c80ef-3e37-40fd-aa86-7b06307a3d4f (with hyphens) are accepted.
Сценарии Использования
The Minecraft Profile API works for many projects. Common examples:
- Боты Discord
- Веб-приложения
- Серверные плагины
- Инструменты Minecraft
Следующие Шаги
Use the API in your project — Profile Lookup for manual lookups, UUID Guide for server setup, JSON Lists for banned-players.json and whitelist. Skin downloads and Cape gallery for textures.
Социальные Ссылки и Последние Поиски
Optional endpoints: site social links and recent lookup statistics. Use
?social=1or?recent=1.