checkfrom.io

API для разработчиков

Публичный REST/WebSocket API checkfrom.io. Базовый адрес https://checkfrom.io. Формат проверок совместим с check-host — можно переиспользовать их клиентские библиотеки. Ответы — JSON. Для большинства публичных эндпоинтов авторизация не нужна.

Авторизация

Публичные проверки и каталог доступны без токена. Для программного доступа из CLI можно создать API-токен в кабинете (/dashboard/tokens) и передавать его заголовком:

Authorization: Bearer phc_xxxxxxxxxxxxxxxx

Лимиты

Действует rate-limit по IP и глобально, а также защита от повторной проверки той же цели. При превышении возвращается 429. Приватные диапазоны и localhost запрещены (антизлоупотребление).

Проверки

Типы: http, ping, tcp, dns, a2s, minecraft, samp, traceroute, mtr.

POST/api/check/{type}
Запускает проверку с активных нод. Тело: target (обяз.), опц. location (фильтр нод, напр. EU/RU), max_nodes, params. Возвращает request_id, постоянную ссылку, список нод и резолвнутый IP цели.
curl -X POST https://checkfrom.io/api/check/http \
  -H 'Content-Type: application/json' \
  -d '{"target":"https://example.com"}'

# → { "request_id": "...", "permanent_link": "...",
#     "nodes": { "ru-moscow-xxxx": ["RU","RU","Moscow","",""] },
#     "target_ip": "93.184.216.34" }
GET/api/check-result/{request_id}
Результаты по нодам (формат check-host). Значение null = проверка ещё выполняется. Ключ — публичный алиас ноды (страна-город), реальные имена нод не раскрываются.
curl https://checkfrom.io/api/check-result/REQUEST_ID
# → { "ru-moscow-xxxx": [[1, 0.031, "OK", null]] }
GET/api/check-result-extended/{request_id}
То же + метаданные запроса (тип, цель, гео цели, время).
WS/api/stream/{request_id}
WebSocket-стрим: снимок + пуш результатов по мере готовности. Первое сообщение — {type:"snapshot", results:{...}}, далее по одному результату на ноду.

Ноды

GET/api/nodes
Активные ноды-пробы (страна, город, континент, статус). Имена нод и IP не раскрываются.
curl https://checkfrom.io/api/nodes
# → [ { "country":"RU","city":"Moscow","continent":"EU","status":"online" } ]

Игровые серверы

GET/api/servers
Каталог отслеживаемых серверов. Параметры: game, country (ISO), q (поиск по имени/IP), status (up/down), sort (rating|online|recent|name), page. Возвращает список, total и агрегаты stats.
curl 'https://checkfrom.io/api/servers?game=minecraft&country=RU&sort=rating'
# → { "servers":[...], "total":42,
#     "stats":{"servers":42,"online":30,"players":12345} }
GET/api/games
Список игр с количеством серверов.
curl https://checkfrom.io/api/games
# → { "games":[ {"game":"minecraft","count":6}, ... ] }
GET/api/server/{game}/{host:port}
Карточка сервера: имя, карта, версия, онлайн, статус, ранг, пинг по регионам.
curl https://checkfrom.io/api/server/minecraft/mc.hypixel.net:25565
GET/api/server/{game}/{host:port}/history?range=24h|7d|30d
Бакетная история онлайна: средний/пиковый онлайн и аптайм по времени.
Нужен эндпоинт или формат, которого нет? Напишите в контакты.