API Lite
Лёгкий read-only API для быстрого preview игровых серверов. Без личного кабинета, без БД и без записи данных.
Лимиты
Глобальный лимит: 20 запросов в секунду на весь сервис. При превышении API вернёт HTTP 429 и заголовок
Retry-After.Запрос
GET https://api-lite.gnrbot.ru/api/query?ip=46.174.52.93
GET https://api-lite.gnrbot.ru/api/query?address=46.174.52.93:27015&game=cs16
ip / host
Можно передать только IP или домен. API попробует само найти игру и порт.
Можно передать только IP или домен. API попробует само найти игру и порт.
address
Адрес в формате
Адрес в формате
host:port. Можно вместо него передать host/ip и port.game
Игра:
Игра:
cs16, garrysmod, minecraft, rust, cs2, css, tf2 и др.port
Если порт не указан, но указана игра, берётся порт по умолчанию для этой игры.
Если порт не указан, но указана игра, берётся порт по умолчанию для этой игры.
Автоопределение
Если игра не указана, API пробует ограниченный набор популярных игр и портов. В ответе всегда есть game, gameLabel, detectedGame и detectedPort.
Примеры
curl "https://api-lite.gnrbot.ru/api/query?ip=46.174.52.93"
curl "https://api-lite.gnrbot.ru/api/detect?ip=46.174.52.93"
curl "https://api-lite.gnrbot.ru/api/query?host=46.174.52.93&port=27015&game=cs16"
fetch("https://api-lite.gnrbot.ru/api/query?address=46.174.52.93:27015")
.then((r) => r.json())
.then(console.log)
Ответ
{
"success": true,
"data": {
"name": "Server name",
"ip": "46.174.52.93:27015",
"host": "46.174.52.93",
"port": 27015,
"game": "cs16",
"gameLabel": "Counter-Strike 1.6",
"detectedGame": "cs16",
"detectedGameLabel": "Counter-Strike 1.6",
"detectedPort": 27015,
"map": "de_dust2",
"players": 12,
"maxplayers": 32,
"latencyMs": 94,
"playerList": [{ "name": "Player", "score": 10, "duration": 4 }]
}
}
Health
GET https://api-lite.gnrbot.ru/api/health