Recherche WHOIS et RDAP API
Données d'enregistrement de n'importe quel domaine, adresse IP ou numéro d'AS, directement depuis le registre faisant autorité via RDAP. Bureau d'enregistrement, serveurs de noms, DNSSEC, expiration et contacts abus en JSON simple.
Pas encore de clé API ?
Connectez-vous à votre compte pour créer et gérer vos clés API.
Guide d'intégration
Copiez un extrait, remplacez votre clé API, exécutez. Fonctionne avec n'importe quel client HTTP — exemples ci-dessous en cURL, JavaScript et Python.
/api/whoishttps://www.apipick.comRegistration data for a domain, IP address, or AS number
querystringrequisA 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
}Conçu pour des cas d'usage réels
Surveillance des expirations
Interrogez votre portefeuille de domaines et alertez avant les dates de renouvellement. Données du registre en direct, sans décalage lié à un cache.
Due diligence de domaines
Vérifiez l'ancienneté de l'enregistrement, le bureau d'enregistrement et les codes de statut avant de faire confiance au domaine d'une contrepartie ou de valider un fournisseur.
Signalement d'abus
Résolvez une IP ou un ASN vers son titulaire et son contact abus, pour que les signalements automatisés arrivent dans une boîte réellement consultée.
Enrichissement pour agents
Un seul paramètre couvre domaines, IP et ASN, ce qui en fait une définition d'outil claire et unique pour un LLM.
Champs de la réponse
| Champ | Type | Description |
|---|---|---|
| type | string | Type de requête détecté : domain, ip ou autnum |
| found | boolean | False lorsque l'objet n'est pas enregistré ou pas attribué |
| registrar | string | null | Bureau d'enregistrement mandaté (domaines) |
| registered_at | string | null | Date d'enregistrement au format ISO 8601 |
| expires_at | string | null | Date d'expiration au format ISO 8601 (domaines) |
| updated_at | string | null | Date ISO 8601 de la dernière modification de l'enregistrement |
| status | string[] | Codes de statut EPP, par ex. client transfer prohibited |
| nameservers | string[] | Serveurs de noms délégués (domaines) |
| dnssec | boolean | null | Indique si la délégation est signée avec DNSSEC |
| cidr | string[] | Blocs CIDR de l'attribution (requêtes IP) |
| asn | integer | null | Numéro de système autonome (requêtes ASN) |
| contacts[] | object[] | Entités jCard aplaties, avec rôles, organisation, e-mail et téléphone |
| credits_used | integer | Crédits déduits pour cette requête |
| remaining_credits | integer | Crédits restants sur votre compte |
Limites de débit
La limitation est par clé API, fenêtre glissante de 60 secondes. En cas de dépassement, vous recevez un 429 propre avec un en-tête Retry-After.
30req/min
Par clé API, par endpoint. Fenêtre glissante de 60 secondes.
3concurrent
Nombre maximal de requêtes simultanées en cours par clé API.
X-RateLimit-LimitNombre maximal de requêtes autorisées par minuteX-RateLimit-RemainingRequêtes restantes dans la fenêtre actuelleX-RateLimit-ResetSecondes avant la réinitialisation de la fenêtre actuelleRetry-AfterSecondes à attendre avant de réessayer (uniquement sur 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
}Source des données et licence
Les enregistrements proviennent du registre faisant autorité pour chaque objet — Verisign, Nominet et les autres opérateurs de registre pour les domaines ; ARIN, RIPE NCC, APNIC, LACNIC et AFRINIC pour les plages IP et les numéros d'AS — via le bootstrap RDAP de l'IANA. Rien n'est mis en cache ni republié : vous voyez ce que le registre renvoie au moment de la requête.
Questions fréquentes
Q : En quoi est-ce différent du WHOIS classique ?
R : RDAP est le remplaçant du WHOIS sur port 43 défini par l'IETF. Là où WHOIS renvoie du texte libre, différent selon les registres et qu'il faut scraper, RDAP renvoie du JSON structuré au schéma standard, en HTTPS, avec de vrais 404. Nous interrogeons le registre faisant autorité via le bootstrap de l'IANA et aplatissons les blocs de contact jCard en objets simples.
Q : Pourquoi les contacts du titulaire sont-ils souvent absents ?
R : Depuis le RGPD, la plupart des registres gTLD masquent le nom, l'e-mail et l'adresse du titulaire dans le RDAP public et ne publient que le bureau d'enregistrement mandaté et un contact abus. Ce masquage est la réponse du registre, non une lacune de cette API : aucun fournisseur WHOIS ne peut vous montrer des données que le registre ne publie pas.
Q : Cela fonctionne-t-il pour les adresses IP et les numéros d'AS ?
R : Oui. Passez une adresse IPv4 ou IPv6 pour obtenir le réseau attribué, ses blocs CIDR, le titulaire et l'identifiant du RIR ; passez AS13335 ou 13335 pour obtenir le nom de l'AS et ses contacts titulaire, abus et technique. Le type de requête est détecté à partir de la saisie, donc un seul paramètre couvre les trois cas.
Q : Que renvoie un domaine non enregistré ?
R : Un HTTP 200 avec found: false. C'est une vraie réponse — c'est ainsi que l'on vérifie la disponibilité — elle est donc facturée au tarif normal. Seule une défaillance en amont (délai dépassé du registre, limitation de débit) renvoie un code hors 2xx, et celles-ci ne sont jamais facturées.
Q : La date d'expiration est-elle à jour ?
R : Elle provient directement de l'enregistrement RDAP du registre au moment de la requête, sans aucune couche de cache intermédiaire : elle est donc aussi à jour que le registre lui-même. C'est ce qui la rend adaptée à la surveillance des expirations — interrogez un portefeuille chaque jour et alertez sur expires_at.