Consulta disponibilidad de dominios y datos RDAP desde tus propias aplicaciones. No se requiere cuenta para uso básico.
https://api.domain-sentinel.com/v1/lookup/{domain}| Parámetro | Ubicación | Descripción |
|---|---|---|
| domain | path | Nombre de dominio completo con TLD (ej. github.com). |
| Authorization | header | Opcional. Token Bearer con tu clave API, para autenticarte y levantar el límite por 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
}Cuando available es true (dominio no registrado), la respuesta solo contiene domain, available y los cuatro arrays. Los campos provenientes del registro (id, ldhName, unicodeName, handle, rdapServer, secureDNS, delegationSigned, lookedUpAt) se omiten.
| Campo | Tipo | Descripción |
|---|---|---|
| available | boolean | true si el dominio no está registrado. |
| ldhName | string | null | Nombre de dominio en forma LDH (letras-dígitos-guiones). |
| unicodeName | string | null | Nombre de dominio en forma Unicode (IDN). |
| handle | string | null | Identificador único en el registro. |
| rdapServer | string | null | URL del servidor RDAP usado para esta consulta. |
| secureDNS | boolean | null | true si el dominio tiene registros DNSSEC. |
| delegationSigned | boolean | null | true si la delegación está firmada. |
| lookedUpAt | string | Marca de tiempo ISO 8601 de cuándo se obtuvieron los datos. |
| registryBusy | { retryAt } | absent | Presente cuando el registro estaba ocupado: la respuesta es la última conocida (ver lookedUpAt) y el registro puede consultarse de nuevo después de retryAt. No se factura. |
| entities | Entity[] | Registrador, titular y contactos. |
| nameservers | Nameserver[] | Servidores de nombres con direcciones IP opcionales. |
| statuses | string[] | Códigos de estado EPP (ej. clientTransferProhibited). |
| events | Event[] | Eventos del registro: registro, expiración, último cambio, 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.comLas solicitudes anónimas tienen un límite por dirección IP. Con una clave API, las llamadas cuentan para una cuota mensual que fija tu plan.
| Modo | Límite | Al superar |
|---|---|---|
| Anónimo (sin clave) | 5 req/min y 50 req/día por IP | HTTP 429 |
| Clave API, plan Free | 500 llamadas al mes | HTTP 402 |
| Clave API, plan Pro | 10.000 llamadas al mes | HTTP 402 |
El cuerpo de la respuesta 429 incluye un campo retryAfter (Unix ms). Cada llamada con clave devuelve X-Quota-Limit (la cuota del mes) y X-Quota-Remaining (llamadas restantes después de esta). La cuota se reinicia el día 1 de cada mes, en UTC.
| 200 | Éxito. Objeto de dominio devuelto. |
| 400 | Solicitud incorrecta: nombre de dominio mal formado. |
| 401 | Se ha enviado una clave API, pero no es válida o está revocada. |
| 402 | Cuota mensual de tu plan alcanzada. El cuerpo incluye code PLAN_LIMIT, además de limit, plan, max y current. La llamada no se factura. |
| 404 | TLD no soportado: no hay ningún servidor RDAP listado para esta extensión en el bootstrap de IANA. |
| 429 | Límite de tasa superado. Ver el campo retryAfter. |
| 502 | El servidor RDAP del TLD no está disponible. |
| 503 | Registro ocupado y todavía no se sabe nada de este dominio. code es REGISTRY_BUSY y retryAt indica cuándo volver a intentarlo. |
Crea una clave API gratuita en tu panel. Pásala en el header Authorization como token Bearer. Las claves pueden tener una fecha de expiración opcional y se pueden revocar en cualquier momento.
Crear una clave API¿Qué TLDs están soportados?
Cualquier TLD con un servidor RDAP público en el archivo bootstrap de la IANA. La lista se actualiza diariamente. Explórala en la página de TLDs.
¿Cómo de recientes son los datos?
Los resultados se almacenan en caché hasta 7 días. Los usuarios autenticados pueden forzar una actualización desde la página de búsqueda del panel, una vez cada 24 horas.
¿Qué significa un error 502?
El servidor RDAP del registro no respondió. Es un problema temporal del registro, no una interrupción de Domain Sentinel. Reintenta en unos minutos.
¿Es gratuita la API?
Consultar un dominio es gratis: de forma anónima dentro de los límites por IP, o con una clave API gratuita hasta 500 llamadas al mes. El plan Pro sube la cuota a 10.000 llamadas al mes.
¿Buscas la lista de extensiones soportadas? Ver todos los TLDs
¿Usas un asistente de IA? Conéctalo a nuestro servidor MCP