Documentación API

Consulta disponibilidad de dominios y datos RDAP desde tus propias aplicaciones. No se requiere cuenta para uso básico.

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

Endpoint

GET/v1/lookup/{domain}
Devuelve datos RDAP de un dominio. Los resultados se almacenan en caché hasta una semana; la caché es compartida entre todos los usuarios.
ParámetroUbicaciónDescripción
domainpathNombre de dominio completo con TLD (ej. github.com).
AuthorizationheaderOpcional. Token Bearer con tu clave API, para autenticarte y levantar el límite por IP.

Esquema de respuesta

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.

CampoTipoDescripción
availablebooleantrue si el dominio no está registrado.
ldhNamestring | nullNombre de dominio en forma LDH (letras-dígitos-guiones).
unicodeNamestring | nullNombre de dominio en forma Unicode (IDN).
handlestring | nullIdentificador único en el registro.
rdapServerstring | nullURL del servidor RDAP usado para esta consulta.
secureDNSboolean | nulltrue si el dominio tiene registros DNSSEC.
delegationSignedboolean | nulltrue si la delegación está firmada.
lookedUpAtstringMarca de tiempo ISO 8601 de cuándo se obtuvieron los datos.
registryBusy{ retryAt } | absentPresente 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.
entitiesEntity[]Registrador, titular y contactos.
nameserversNameserver[]Servidores de nombres con direcciones IP opcionales.
statusesstring[]Códigos de estado EPP (ej. clientTransferProhibited).
eventsEvent[]Eventos del registro: registro, expiración, último cambio, etc.

Ejemplos de código

# 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

Especificación OpenAPI (JSON)

Límites de tasa

Las 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.

ModoLímiteAl superar
Anónimo (sin clave)5 req/min y 50 req/día por IPHTTP 429
Clave API, plan Free500 llamadas al mesHTTP 402
Clave API, plan Pro10.000 llamadas al mesHTTP 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.

Códigos HTTP

200Éxito. Objeto de dominio devuelto.
400Solicitud incorrecta: nombre de dominio mal formado.
401Se ha enviado una clave API, pero no es válida o está revocada.
402Cuota mensual de tu plan alcanzada. El cuerpo incluye code PLAN_LIMIT, además de limit, plan, max y current. La llamada no se factura.
404TLD no soportado: no hay ningún servidor RDAP listado para esta extensión en el bootstrap de IANA.
429Límite de tasa superado. Ver el campo retryAfter.
502El servidor RDAP del TLD no está disponible.
503Registro ocupado y todavía no se sabe nada de este dominio. code es REGISTRY_BUSY y retryAt indica cuándo volver a intentarlo.

Autenticación

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

Preguntas frecuentes

¿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