API документация

Бесплатный REST API для автоматической проверки доменов на блокировку РКН.

Проверка домена

GET /api/check?domain=example.com

Параметры

ПараметрТипОписание
domainstringДоменное имя для проверки (обязательный)

Пример ответа

{
  "success": true,
  "domain": "example.com",
  "status": "available",
  "checks": {
    "dpi": {
      "blocked": false,
      "http_code": 200,
      "response_time": 1250,
      "response_size": 1256
    },
    "registry": {
      "in_registry": false,
      "source": "rublacklist.net"
    },
    "ip": {
      "address": "93.184.216.34",
      "blocked": false
    }
  },
  "cached": false,
  "checked_at": "2026-02-23 15:30:00"
}

Статусы

СтатусОписание
availableДомен доступен из России
blockedДомен заблокирован
partialЧастичная блокировка (например, только IP)
errorОшибка проверки

Ошибки

{
  "success": false,
  "error": "Rate limit exceeded",
  "message": "Лимит: 5 из 5 проверок в час."
}

Лимиты

  • 5 запросов в час с одного IP
  • 15 запросов в день с одного IP
  • Кеш результатов: 5 минут

Пример использования

cURL

curl "https://rkn-test.ru/api/check?domain=example.com"

Python

import requests

response = requests.get("https://rkn-test.ru/api/check", params={"domain": "example.com"})
data = response.json()

if data["status"] == "blocked":
    print(f"{data['domain']} заблокирован в России")
else:
    print(f"{data['domain']} доступен")

JavaScript

fetch('https://rkn-test.ru/api/check?domain=example.com')
  .then(r => r.json())
  .then(data => {
    console.log(data.status === 'blocked' ? 'Заблокирован' : 'Доступен');
  });