Documentation API

Interrogez la disponibilité des domaines et les données RDAP depuis vos applications. Aucun compte requis pour un usage basique.

URL de basehttps://api.domain-sentinel.com

Endpoint

GET/v1/lookup/{domain}
Retourne les données RDAP d'un domaine. Les résultats restent en cache pendant une semaine au maximum, et ce cache est commun à tous les utilisateurs de l'API.
ParamètreEmplacementDescription
domainpathNom de domaine complet avec TLD (ex. github.com).
AuthorizationheaderOptionnel. Token Bearer avec votre clé API, pour vous authentifier et lever la limite par IP.

Schéma de réponse

interface DomainLookup {
  // Registry-derived fields below are omitted when available is true.
  id?:               string;
  domain:            string;
  available:         boolean | null; // null: DNS-only check, see maybeAvailable
  checkMethod?:      "rdap" | "whois43" | "dns";
  maybeAvailable?:   boolean; // true when DNS found no delegation but availability is unconfirmed
  ldhName?:          string | null;
  unicodeName?:      string | null;
  handle?:           string | null;
  rdapServer?:       string | null;
  secureDNS?:        boolean | null;
  delegationSigned?: boolean | null;
  lookedUpAt?:       string; // ISO 8601
  registryBusy?:     { retryAt: string }; // last known answer, the registry was busy
  entities:          Entity[];
  nameservers:       Nameserver[];
  statuses:          string[];
  events:            Event[];
}

interface Entity {
  role:         string;
  handle:       string | null;
  name:         string | null;
  organization: string | null;
  ianaId:       string | null;
  abuseEmail:   string | null;
  abusePhone:   string | null;
}

interface Nameserver {
  ldhName: string;
  ipv4:    string[];
  ipv6:    string[];
}

interface Event {
  eventAction: string;
  eventDate:   string | null; // ISO 8601
}

Quand available vaut true (domaine non enregistré), la réponse ne contient que domain, available et les quatre tableaux. Les champs issus du registre (id, ldhName, unicodeName, handle, rdapServer, secureDNS, delegationSigned, lookedUpAt) sont omis.

ChampTypeDescription
availablebooleantrue si le domaine n'est pas enregistré.
ldhNamestring | nullNom de domaine en forme LDH (lettres-chiffres-tirets).
unicodeNamestring | nullNom de domaine sous forme Unicode (IDN).
handlestring | nullIdentifiant unique attribué par le registre.
rdapServerstring | nullURL du serveur RDAP utilisé pour cette requête.
secureDNSboolean | nulltrue si le domaine a des enregistrements DNSSEC.
delegationSignedboolean | nulltrue si la délégation est signée.
lookedUpAtstringHorodatage ISO 8601 de la récupération des données.
registryBusy{ retryAt } | absentPrésent quand le registre était occupé : la réponse est la dernière connue (voir lookedUpAt), et le registre peut être interrogé de nouveau après retryAt. Non facturé.
entitiesEntity[]Registrar, titulaire et contacts.
nameserversNameserver[]Serveurs de noms avec adresses IP optionnelles.
statusesstring[]Codes de statut EPP (ex. clientTransferProhibited).
eventsEvent[]Événements de registre : enregistrement, expiration, dernière modification, etc.

Exemples de code

# Anonymous (rate-limited)
curl https://api.domain-sentinel.com/v1/lookup/github.com

# With API key (monthly quota of your plan)
curl -H "Authorization: Bearer ds_your_api_key" \
  https://api.domain-sentinel.com/v1/lookup/github.com

Spécification OpenAPI (JSON)

Limites de requêtes

Les requêtes anonymes sont limitées par adresse IP. Avec une clé API, les appels comptent dans un quota mensuel fixé par votre plan.

ModeLimiteEn cas de dépassement
Anonyme (sans clé)5 req/min et 50 req/jour par IPHTTP 429
Clé API, plan Free500 appels par moisHTTP 402
Clé API, plan Pro10 000 appels par moisHTTP 402

Le corps de la réponse 429 contient un champ retryAfter (Unix ms). Chaque appel avec une clé renvoie X-Quota-Limit (le quota du mois) et X-Quota-Remaining (les appels restants après celui-ci). Le quota repart à zéro le 1er de chaque mois, en UTC.

Codes HTTP

200Succès. Objet domaine retourné.
400Requête invalide : nom de domaine mal formé.
401Clé API fournie mais invalide ou révoquée.
402Quota mensuel de votre plan atteint. Le corps contient code PLAN_LIMIT, ainsi que limit, plan, max et current. L'appel n'est pas facturé.
404TLD non supporté : aucun serveur RDAP n'est répertorié pour cette extension dans le bootstrap IANA.
429Limite de requêtes dépassée. Voir le champ retryAfter.
502Le serveur RDAP du TLD est injoignable.
503Registre occupé, et rien n'est encore connu sur ce domaine. code vaut REGISTRY_BUSY, retryAt indique quand réessayer.

Authentification

Créez une clé API gratuite depuis votre tableau de bord. Transmettez-la dans l'en-tête Authorization sous forme de token Bearer. Une clé peut recevoir une date d'expiration et se révoque à tout moment.

Créer une clé API

FAQ

Quels TLD sont supportés ?

Tout TLD disposant d'un serveur RDAP public référencé dans le fichier bootstrap de l'IANA. La liste est actualisée quotidiennement. Consultez-la sur la page des TLD.

Quelle est la fraîcheur des données ?

Les résultats sont mis en cache jusqu'à 7 jours. Les utilisateurs authentifiés peuvent forcer une actualisation via la page de recherche du tableau de bord, une fois toutes les 24 heures.

Que signifie une erreur 502 ?

Le serveur RDAP du registre n'a pas répondu. Il s'agit d'un problème temporaire côté registre, pas d'une panne Domain Sentinel. Réessayez dans quelques minutes.

L'API est-elle gratuite ?

Interroger un domaine est gratuit : en anonyme dans la limite par IP, ou avec une clé API gratuite jusqu'à 500 appels par mois. Le plan Pro porte le quota à 10 000 appels par mois.

Vous cherchez la liste des extensions supportées ? Voir tous les TLD

Vous utilisez un assistant IA ? Connectez-le à notre serveur MCP