[ безопасность · реестр ]● 2 кред. · 30 запр./мин

Запрос WHOIS и RDAP API

Регистрационные данные любого домена, IP-адреса или номера автономной системы напрямую из авторитетного реестра через RDAP. Регистратор, серверы имён, DNSSEC, сроки действия и контакты по злоупотреблениям в плоском JSON.

RDAP (а не спарсенный WHOIS)Домен · IP · ASNАктуальные данные реестра
auth · x-api-key

Нет API-ключа?

Войдите в аккаунт, чтобы создавать и управлять API-ключами.

[ 02 · integrate ]

Руководство по интеграции

Скопируйте сниппет, подставьте свой API-ключ, запустите. Работает в любом HTTP-клиенте — примеры ниже на cURL, JavaScript и Python.

spec
GET/api/whois
base
https://www.apipick.com

Registration data for a domain, IP address, or AS number

параметры
querystringобязательный

A domain name, IPv4/IPv6 address, or AS number. The type is detected automatically. github.com

curl -X GET "https://www.apipick.com/api/whois" \
  -H "x-api-key: YOUR_API_KEY"
● 200 · ответ
{
  "query": "github.com",
  "type": "domain",
  "found": true,
  "domain": "github.com",
  "unicode_domain": null,
  "nameservers": [
    "dns1.p08.nsone.net",
    "ns-421.awsdns-52.com"
  ],
  "dnssec": false,
  "handle": "1264983250_DOMAIN_COM-VRSN",
  "status": [
    "client delete prohibited",
    "client transfer prohibited"
  ],
  "country": null,
  "registrar": "MarkMonitor Inc.",
  "registered_at": "2007-10-09T18:20:50Z",
  "updated_at": "2024-09-07T09:16:32Z",
  "expires_at": "2026-10-09T18:20:50Z",
  "contacts": [
    {
      "roles": [
        "registrar"
      ],
      "handle": "292",
      "name": "MarkMonitor Inc.",
      "organization": null,
      "email": null,
      "phone": null,
      "address": null,
      "country": null
    }
  ],
  "source": "RDAP (IANA bootstrap via rdap.org)",
  "credits_used": 2,
  "remaining_credits": 98
}

Создано для реальных сценариев

Мониторинг сроков

Опрашивайте портфель доменов и предупреждайте до дат продления. Данные берутся из реестра в реальном времени, поэтому кэш их не устаревает.

🕵️

Due diligence по доменам

Проверьте возраст регистрации, регистратора и коды состояния, прежде чем доверять домену контрагента или одобрять поставщика.

🚨

Жалобы на злоупотребления

Определите по IP или ASN владельца и контакт по злоупотреблениям, чтобы автоматические жалобы попадали в ящик, который действительно читают.

🤖

Обогащение данных для агентов

Один параметр покрывает домены, IP и ASN — для LLM это одно понятное описание инструмента.

Поля ответа

ПолеТипОписание
typestringОпределённый тип запроса: domain, ip или autnum
foundbooleanFalse, если объект не зарегистрирован или не выделен
registrarstring | nullОбслуживающий регистратор (домены)
registered_atstring | nullДата регистрации в формате ISO 8601
expires_atstring | nullДата истечения в формате ISO 8601 (домены)
updated_atstring | nullДата последнего изменения записи в формате ISO 8601
statusstring[]Коды состояния EPP, например client transfer prohibited
nameserversstring[]Делегированные серверы имён (домены)
dnssecboolean | nullПодписано ли делегирование с помощью DNSSEC
cidrstring[]Блоки CIDR выделения (запросы по IP)
asninteger | nullНомер автономной системы (запросы по ASN)
contacts[]object[]Развёрнутые сущности jCard с ролями, организацией, почтой и телефоном
credits_usedintegerКредитов списано за этот запрос
remaining_creditsintegerКредитов осталось на вашем аккаунте
[ 03 · limits ]

Лимиты запросов

Ограничение действует на API-ключ, скользящее окно 60 секунд. При превышении вы получаете чистый 429 с заголовком Retry-After.

частота запросов

30req/min

На API-ключ, на эндпоинт. Скользящее окно 60 секунд.

параллелизм

3concurrent

Максимум одновременных активных запросов на API-ключ.

заголовки ответа
X-RateLimit-LimitМаксимум запросов в минуту
X-RateLimit-RemainingОсталось запросов в текущем окне
X-RateLimit-ResetСекунд до сброса текущего окна
Retry-AfterСколько секунд ждать перед повтором (только при 429)
● 429 · слишком много запросов
HTTP/1.1 429 Too Many Requests
Retry-After: 12
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 12

{
  "error": "rate_limit_exceeded",
  "message": "Rate limit exceeded: 30 requests/minute per API key. Retry after 12s.",
  "retry_after": 12
}

Источник данных и лицензия

Записи поступают из авторитетного реестра для каждого объекта — Verisign, Nominet и другие операторы реестров для доменов; ARIN, RIPE NCC, APNIC, LACNIC и AFRINIC для диапазонов IP и номеров автономных систем — через RDAP-bootstrap IANA. Мы ничего не кэшируем и не переиздаём: вы видите то, что реестр отдаёт в момент запроса.

Часто задаваемые вопросы

В: Чем это отличается от классического WHOIS?

О: RDAP — созданная IETF замена WHOIS на 43-м порту. Там, где WHOIS отдаёт свободный текст, различающийся от реестра к реестру и требующий парсинга, RDAP возвращает структурированный JSON по стандартной схеме, по HTTPS и с корректными 404. Мы обращаемся к авторитетному реестру через bootstrap IANA и разворачиваем контактные блоки jCard в обычные объекты.

В: Почему контакты владельца обычно отсутствуют?

О: После вступления в силу GDPR большинство реестров gTLD скрывают имя, почту и адрес владельца в публичном RDAP и публикуют только обслуживающего регистратора и контакт по злоупотреблениям. Это сокрытие — ответ самого реестра, а не пробел данного API: ни один провайдер WHOIS не покажет данные, которые реестр не публикует.

В: Работает ли это с IP-адресами и номерами автономных систем?

О: Да. Передайте адрес IPv4 или IPv6, чтобы получить выделенную сеть, её блоки CIDR, владельца и идентификатор RIR; передайте AS13335 или 13335, чтобы получить название AS и её контакты владельца, по злоупотреблениям и технические. Тип запроса определяется по вводу, поэтому один параметр покрывает все три случая.

В: Что возвращает незарегистрированный домен?

О: HTTP 200 с found: false. Это полноценный ответ — именно так проверяют доступность, — поэтому он стоит обычного кредита. Код вне диапазона 2xx возвращается только при сбое на стороне реестра (таймаут, ограничение частоты), и такие случаи никогда не тарифицируются.

В: Насколько актуальна дата истечения?

О: Она берётся напрямую из RDAP-записи самого реестра в момент запроса, без промежуточного кэша, то есть настолько же актуальна, насколько актуален сам реестр. Поэтому метод подходит для мониторинга сроков: опрашивайте портфель ежедневно и настраивайте оповещения по expires_at.