Interrogez la disponibilité des domaines et les données RDAP depuis vos applications. Aucun compte requis pour un usage basique.
https://api.domain-sentinel.com/v1/lookup/{domain}| Paramètre | Emplacement | Description |
|---|---|---|
| domain | path | Nom de domaine complet avec TLD (ex. github.com). |
| Authorization | header | Optionnel. Token Bearer avec votre clé API, pour vous authentifier et lever la limite par IP. |
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.
| Champ | Type | Description |
|---|---|---|
| available | boolean | true si le domaine n'est pas enregistré. |
| ldhName | string | null | Nom de domaine en forme LDH (lettres-chiffres-tirets). |
| unicodeName | string | null | Nom de domaine sous forme Unicode (IDN). |
| handle | string | null | Identifiant unique attribué par le registre. |
| rdapServer | string | null | URL du serveur RDAP utilisé pour cette requête. |
| secureDNS | boolean | null | true si le domaine a des enregistrements DNSSEC. |
| delegationSigned | boolean | null | true si la délégation est signée. |
| lookedUpAt | string | Horodatage ISO 8601 de la récupération des données. |
| registryBusy | { retryAt } | absent | Pré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é. |
| entities | Entity[] | Registrar, titulaire et contacts. |
| nameservers | Nameserver[] | Serveurs de noms avec adresses IP optionnelles. |
| statuses | string[] | Codes de statut EPP (ex. clientTransferProhibited). |
| events | Event[] | Événements de registre : enregistrement, expiration, dernière modification, etc. |
# 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.comLes requêtes anonymes sont limitées par adresse IP. Avec une clé API, les appels comptent dans un quota mensuel fixé par votre plan.
| Mode | Limite | En cas de dépassement |
|---|---|---|
| Anonyme (sans clé) | 5 req/min et 50 req/jour par IP | HTTP 429 |
| Clé API, plan Free | 500 appels par mois | HTTP 402 |
| Clé API, plan Pro | 10 000 appels par mois | HTTP 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.
| 200 | Succès. Objet domaine retourné. |
| 400 | Requête invalide : nom de domaine mal formé. |
| 401 | Clé API fournie mais invalide ou révoquée. |
| 402 | Quota mensuel de votre plan atteint. Le corps contient code PLAN_LIMIT, ainsi que limit, plan, max et current. L'appel n'est pas facturé. |
| 404 | TLD non supporté : aucun serveur RDAP n'est répertorié pour cette extension dans le bootstrap IANA. |
| 429 | Limite de requêtes dépassée. Voir le champ retryAfter. |
| 502 | Le serveur RDAP du TLD est injoignable. |
| 503 | Registre occupé, et rien n'est encore connu sur ce domaine. code vaut REGISTRY_BUSY, retryAt indique quand réessayer. |
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é APIQuels 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