Ручная проверка WHOIS подходит для единичных запросов. Для мониторинга конкурентов, верификации лидов или защиты бренда нужна автоматизация через WHOIS API.
Популярные WHOIS API сервисы
| Сервис | Бесплатно | Цена | Особенности |
|---|---|---|---|
| WhoisXML API | 500 запросов/мес | от $19/мес | Нормализованный JSON, история |
| Whoxy.com | 100/мес | от $10/мес | Reverse WHOIS, bulk |
| ip-api.com | 45/мин (IP) | Бесплатно | Только IP-геолокация |
| domain-coupler.io | 10/мес | от $5/мес | Простой, быстрый |
Пример на PHP
// WHOIS-запрос через WhoisXML API
$apiKey = 'YOUR_API_KEY';
$domain = 'example.com';
$url = "https://www.whoisxmlapi.com/whoisserver/WhoisService"
. "?apiKey={$apiKey}&domainName={$domain}&outputFormat=JSON";
$response = file_get_contents($url);
$data = json_decode($response, true);
echo "Регистратор: " . $data['WhoisRecord']['registrarName'] . "
";
echo "Истекает: " . $data['WhoisRecord']['expiresDate'] . "
";
echo "NS: " . implode(', ', $data['WhoisRecord']['nameServers']['hostNames']) . "
";
Пример на Python
import requests
API_KEY = 'YOUR_API_KEY'
domains = ['example.com', 'competitor.com', 'anotherdomain.net']
for domain in domains:
url = f"https://www.whoisxmlapi.com/whoisserver/WhoisService"
params = {
'apiKey': API_KEY,
'domainName': domain,
'outputFormat': 'JSON'
}
resp = requests.get(url, params=params).json()
record = resp.get('WhoisRecord', {})
print(f"{domain}: expires {record.get('expiresDate', 'N/A')}")
Использование whois Python-библиотеки
pip install python-whois
import whois
w = whois.whois('example.com')
print(w.expiration_date) # Дата истечения
print(w.registrar) # Регистратор
print(w.name_servers) # NS-серверы
💡 Мониторинг конкурентов: Запускайте WHOIS-проверку конкурентных доменов еженедельно. Если домен перешёл к новому владельцу или изменились NS-серверы — это сигнал о смене хостинга или продаже бизнеса.
⚠️ Rate limiting: Публичные WHOIS-серверы ограничивают запросы (обычно 1–5/сек). Массовую проверку выполняйте только через платные API с официальными лимитами.