Zapytanie WHOIS i RDAP API
Dane rejestracyjne dowolnej domeny, adresu IP lub numeru systemu autonomicznego, prosto z autorytatywnego rejestru przez RDAP. Rejestrator, serwery nazw, DNSSEC, daty wygaśnięcia i kontakty do zgłaszania nadużyć w prostym JSON-ie.
Nie masz klucza API?
Zaloguj się na swoje konto, aby tworzyć klucze API i nimi zarządzać.
Przewodnik integracji
Skopiuj fragment kodu, podmień swój klucz API, uruchom. Działa w dowolnym kliencie HTTP — przykłady poniżej w cURL, JavaScript i Pythonie.
/api/whoishttps://www.apipick.comRegistration data for a domain, IP address, or AS number
querystringwymaganeA 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"{
"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
}Stworzone do rzeczywistych przypadków użycia
Monitorowanie wygaśnięć
Odpytuj swoje portfolio domen i ostrzegaj przed terminami odnowienia. Dane rejestru na żywo, więc nic nie dezaktualizuje się przez cykl pamięci podręcznej.
Due diligence domen
Sprawdź wiek rejestracji, rejestratora i kody statusu, zanim zaufasz domenie kontrahenta lub zatwierdzisz dostawcę.
Zgłaszanie nadużyć
Ustal na podstawie IP lub ASN posiadacza i kontakt do zgłaszania nadużyć, aby automatyczne zgłoszenia trafiały do skrzynki, którą ktoś naprawdę czyta.
Wzbogacanie danych dla agentów
Jeden parametr obsługuje domeny, adresy IP i numery ASN, więc dla modelu językowego to jedna czytelna definicja narzędzia.
Pola odpowiedzi
| Pole | Typ | Opis |
|---|---|---|
| type | string | Wykryty typ zapytania: domain, ip lub autnum |
| found | boolean | False, gdy obiekt nie jest zarejestrowany ani przydzielony |
| registrar | string | null | Rejestrator prowadzący (domeny) |
| registered_at | string | null | Data rejestracji w formacie ISO 8601 |
| expires_at | string | null | Data wygaśnięcia w formacie ISO 8601 (domeny) |
| updated_at | string | null | Data ostatniej zmiany wpisu w formacie ISO 8601 |
| status | string[] | Kody statusu EPP, np. client transfer prohibited |
| nameservers | string[] | Delegowane serwery nazw (domeny) |
| dnssec | boolean | null | Czy delegacja jest podpisana za pomocą DNSSEC |
| cidr | string[] | Bloki CIDR przydziału (zapytania o IP) |
| asn | integer | null | Numer systemu autonomicznego (zapytania o ASN) |
| contacts[] | object[] | Spłaszczone encje jCard z rolami, organizacją, adresem e-mail i telefonem |
| credits_used | integer | Kredyty odjęte za to żądanie |
| remaining_credits | integer | Kredyty pozostałe na Twoim koncie |
Limity zapytań
Ograniczanie działa per klucz API, w przesuwnym oknie 60 sekund. Po przekroczeniu limitu otrzymasz czyste 429 z nagłówkiem Retry-After.
30req/min
Per klucz API, per endpoint. Przesuwne okno 60 sekund.
3concurrent
Maksymalna liczba jednoczesnych żądań w toku na klucz API.
X-RateLimit-LimitMaksymalna dozwolona liczba żądań na minutęX-RateLimit-RemainingPozostała liczba żądań w bieżącym oknieX-RateLimit-ResetSekundy do zresetowania bieżącego oknaRetry-AfterSekundy oczekiwania przed ponowieniem (tylko przy 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
}Źródło danych i licencja
Wpisy pochodzą z autorytatywnego rejestru właściwego dla danego obiektu — Verisign, Nominet i pozostali operatorzy rejestrów dla domen; ARIN, RIPE NCC, APNIC, LACNIC i AFRINIC dla zakresów IP i numerów systemów autonomicznych — odnajdywanego przez mechanizm RDAP bootstrap organizacji IANA. Niczego nie buforujemy ani nie publikujemy ponownie: widzisz to, co rejestr zwraca w chwili zapytania.
Najczęściej zadawane pytania
P: Czym to się różni od klasycznego WHOIS?
O: RDAP to opracowany przez IETF następca WHOIS na porcie 43. Podczas gdy WHOIS zwraca dowolny tekst różniący się między rejestrami i wymagający scrapowania, RDAP zwraca ustrukturyzowany JSON w standardowym schemacie, po HTTPS i z poprawnymi kodami 404. Odpytujemy autorytatywny rejestr przez mechanizm bootstrap IANA i spłaszczamy bloki kontaktowe jCard do zwykłych obiektów.
P: Dlaczego dane kontaktowe abonenta są zwykle puste?
O: Od czasu RODO większość rejestrów gTLD ukrywa w publicznym RDAP imię i nazwisko, adres e-mail oraz adres abonenta i publikuje wyłącznie rejestratora prowadzącego wraz z kontaktem do zgłaszania nadużyć. To ukrycie jest odpowiedzią rejestru, a nie brakiem w tym API — żaden dostawca WHOIS nie pokaże danych, których rejestr nie publikuje.
P: Czy działa dla adresów IP i numerów systemów autonomicznych?
O: Tak. Podaj adres IPv4 lub IPv6, aby otrzymać przydzieloną sieć, jej bloki CIDR, posiadacza i identyfikator RIR; podaj AS13335 albo 13335, aby otrzymać nazwę AS oraz kontakty posiadacza, do zgłaszania nadużyć i techniczne. Typ zapytania jest wykrywany na podstawie danych wejściowych, więc jeden parametr obsługuje wszystkie trzy przypadki.
P: Co zwraca niezarejestrowana domena?
O: HTTP 200 z found: false. To prawdziwa odpowiedź — właśnie w ten sposób sprawdza się dostępność — więc kosztuje standardowy kredyt. Kod spoza zakresu 2xx zwracany jest wyłącznie przy awarii po stronie rejestru (przekroczony czas, limit zapytań), a takie przypadki nigdy nie są rozliczane.
P: Jak aktualna jest data wygaśnięcia?
O: Pochodzi bezpośrednio z wpisu RDAP samego rejestru w chwili zapytania, bez żadnej warstwy pamięci podręcznej pomiędzy, więc jest tak aktualna jak sam rejestr. Dzięki temu nadaje się do monitorowania wygaśnięć — odpytuj portfolio codziennie i ustaw alerty na expires_at.