WHOIS- und RDAP-Abfrage API
Registrierungsdaten zu jeder Domain, IP-Adresse oder AS-Nummer, direkt aus dem maßgeblichen Register über RDAP. Registrar, Nameserver, DNSSEC, Ablaufdaten und Abuse-Kontakte als flaches JSON.
Noch keinen API-Key?
Melde dich an, um API-Keys zu erstellen und zu verwalten.
Integrationsleitfaden
Snippet kopieren, deinen API-Key einsetzen, ausführen. Funktioniert in jedem HTTP-Client — Beispiele unten in cURL, JavaScript und Python.
/api/whoishttps://www.apipick.comRegistration data for a domain, IP address, or AS number
querystringerforderlichA 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
}Gebaut für reale Anwendungsfälle
Ablaufüberwachung
Fragen Sie Ihr Domain-Portfolio regelmäßig ab und warnen Sie vor Verlängerungsterminen. Live-Registerdaten, nichts veraltet durch einen Cache-Zyklus.
Domain-Due-Diligence
Prüfen Sie Registrierungsalter, Registrar und Statuscodes, bevor Sie der Domain eines Geschäftspartners vertrauen oder einen Lieferanten freigeben.
Abuse-Meldungen
Lösen Sie eine IP oder ASN zu ihrem Inhaber und Abuse-Kontakt auf, damit automatisierte Meldungen in einem tatsächlich gelesenen Postfach landen.
Anreicherung für Agenten
Ein Parameter deckt Domains, IPs und ASNs ab – das ergibt eine einzige, saubere Tool-Definition für ein LLM.
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
| type | string | Erkannter Abfragetyp: domain, ip oder autnum |
| found | boolean | False, wenn das Objekt nicht registriert oder nicht zugeteilt ist |
| registrar | string | null | Zuständiger Registrar (Domains) |
| registered_at | string | null | Registrierungsdatum im Format ISO 8601 |
| expires_at | string | null | Ablaufdatum im Format ISO 8601 (Domains) |
| updated_at | string | null | ISO-8601-Datum der letzten Änderung des Eintrags |
| status | string[] | EPP-Statuscodes, z. B. client transfer prohibited |
| nameservers | string[] | Delegierte Nameserver (Domains) |
| dnssec | boolean | null | Ob die Delegation DNSSEC-signiert ist |
| cidr | string[] | CIDR-Blöcke der Zuteilung (IP-Abfragen) |
| asn | integer | null | Autonome Systemnummer (ASN-Abfragen) |
| contacts[] | object[] | Aufgelöste jCard-Einträge mit Rollen, Organisation, E-Mail und Telefon |
| credits_used | integer | Für diese Anfrage abgezogene Credits |
| remaining_credits | integer | Verbleibende Credits in deinem Account |
Rate-Limits
Die Drosselung erfolgt pro API-Key, gleitendes 60-Sekunden-Fenster. Beim Erreichen des Limits bekommst du ein sauberes 429 mit Retry-After-Header.
30req/min
Pro API-Key, pro Endpunkt. Gleitendes 60-Sekunden-Fenster.
3concurrent
Maximale gleichzeitige laufende Anfragen pro API-Key.
X-RateLimit-LimitMaximal zulässige Anfragen pro MinuteX-RateLimit-RemainingVerbleibende Anfragen im aktuellen FensterX-RateLimit-ResetSekunden bis zum Zurücksetzen des aktuellen FenstersRetry-AfterSekunden Wartezeit vor erneutem Versuch (nur bei 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
}Datenquelle & Lizenz
Die Einträge stammen aus dem für das jeweilige Objekt maßgeblichen Register – Verisign, Nominet und die übrigen Registry-Betreiber für Domains; ARIN, RIPE NCC, APNIC, LACNIC und AFRINIC für IP-Bereiche und AS-Nummern – aufgelöst über das RDAP-Bootstrap der IANA. Nichts wird zwischengespeichert oder erneut veröffentlicht: Sie sehen, was das Register zum Zeitpunkt der Anfrage ausliefert.
Häufig gestellte Fragen
F: Worin unterscheidet sich das vom klassischen WHOIS?
A: RDAP ist der vom IETF geschaffene Nachfolger des WHOIS über Port 43. Während WHOIS Freitext liefert, der sich je Register unterscheidet und gescrapt werden muss, liefert RDAP strukturiertes JSON nach einem Standardschema, über HTTPS und mit korrekten 404ern. Wir fragen das maßgebliche Register über das IANA-Bootstrap ab und lösen die jCard-Kontaktblöcke in einfache Objekte auf.
F: Warum fehlen Inhaberkontakte meistens?
A: Seit der DSGVO schwärzen die meisten gTLD-Register Name, E-Mail und Anschrift des Inhabers im öffentlichen RDAP und veröffentlichen nur den zuständigen Registrar sowie einen Abuse-Kontakt. Diese Schwärzung ist die Antwort des Registers und keine Lücke dieser API – kein WHOIS-Anbieter kann Daten zeigen, die das Register nicht veröffentlicht.
F: Funktioniert das auch für IP-Adressen und AS-Nummern?
A: Ja. Übergeben Sie eine IPv4- oder IPv6-Adresse, um das zugeteilte Netz, seine CIDR-Blöcke, den Inhaber und das RIR-Handle zu erhalten; übergeben Sie AS13335 oder 13335 für den AS-Namen samt Inhaber-, Abuse- und technischen Kontakten. Der Abfragetyp wird aus der Eingabe erkannt, ein Parameter deckt also alle drei Fälle ab.
F: Was liefert eine nicht registrierte Domain?
A: HTTP 200 mit found: false. Das ist eine echte Antwort – genau so prüft man die Verfügbarkeit – und kostet daher den normalen Credit. Nur ein Fehler auf Seiten der Gegenstelle (Zeitüberschreitung des Registers, Ratenbegrenzung) liefert einen Status außerhalb von 2xx, und der wird nie berechnet.
F: Wie aktuell ist das Ablaufdatum?
A: Es kommt zum Anfragezeitpunkt direkt aus dem RDAP-Eintrag des Registers, ohne zwischengeschaltete Cache-Schicht – es ist also so aktuell wie das Register selbst. Damit eignet es sich für die Ablaufüberwachung: Fragen Sie ein Portfolio täglich ab und warnen Sie anhand von expires_at.