[ sécurité · registre ]● 2 créd. · 30 req/min

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.

RDAP (et non du WHOIS scrapé)Domaine · IP · ASNDonnées du registre en direct
auth · x-api-key

Pas encore de clé API ?

Connectez-vous à votre compte pour créer et gérer vos clés API.

[ 02 · integrate ]

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.

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

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

paramètres
querystringrequis

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 · réponse
{
  "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

ChampTypeDescription
typestringType de requête détecté : domain, ip ou autnum
foundbooleanFalse lorsque l'objet n'est pas enregistré ou pas attribué
registrarstring | nullBureau d'enregistrement mandaté (domaines)
registered_atstring | nullDate d'enregistrement au format ISO 8601
expires_atstring | nullDate d'expiration au format ISO 8601 (domaines)
updated_atstring | nullDate ISO 8601 de la dernière modification de l'enregistrement
statusstring[]Codes de statut EPP, par ex. client transfer prohibited
nameserversstring[]Serveurs de noms délégués (domaines)
dnssecboolean | nullIndique si la délégation est signée avec DNSSEC
cidrstring[]Blocs CIDR de l'attribution (requêtes IP)
asninteger | nullNumé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_usedintegerCrédits déduits pour cette requête
remaining_creditsintegerCrédits restants sur votre compte
[ 03 · limits ]

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.

débit de requêtes

30req/min

Par clé API, par endpoint. Fenêtre glissante de 60 secondes.

concurrence

3concurrent

Nombre maximal de requêtes simultanées en cours par clé API.

en-têtes de réponse
X-RateLimit-LimitNombre maximal de requêtes autorisées par minute
X-RateLimit-RemainingRequêtes restantes dans la fenêtre actuelle
X-RateLimit-ResetSecondes avant la réinitialisation de la fenêtre actuelle
Retry-AfterSecondes à attendre avant de réessayer (uniquement sur 429)
● 429 · trop de requêtes
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.