Documentación · API de verificación
Autenticación
Hoy la API no requiere clave. Esta página explica qué regula el acceso actualmente, cómo funcionan los límites de solicitudes cuando se activan y qué cambiará cuando lleguen las claves.
Cómo funciona el acceso hoy
El servicio de datos es abierto: todos los puntos de acceso responden a solicitudes GET y POST anónimas, sin clave, token ni cuenta. Lo que usted puede hacer con las respuestas lo establecen nuestros términos, no una clave:
- Las consultas individuales, la debida diligencia sobre un asunto específico, el periodismo y la investigación académica son gratuitos conforme a los términos de uso.
- La verificación automatizada o sistemática, el uso en un proceso empresarial y la redistribución requieren una licencia comercial.
Nuestros términos se reservan el derecho de aplicar límites de frecuencia, topes de volumen o controles similares a los servicios gratuitos, y de rechazar el acceso que parezca automatizado, sistemático o comercial.
Límites de solicitudes
El servicio de datos cuenta con un límite de solicitudes por dirección que el operador puede activar. Está desactivado salvo que se configure, y aún no se ha publicado ninguna cifra de límite. Cuando está activado:
- cada respuesta incluye
X-RateLimit-Limit(solicitudes permitidas por minuto) yX-RateLimit-Remaining; - una solicitud que supera el límite recibe HTTP
429con un encabezadoRetry-After(en segundos) y este cuerpo:
{"error": "Too many requests", "limit_per_minute": 60}
La cifra del ejemplo es ilustrativa. Gestione 429 esperando Retry-After segundos antes de reintentar, y envíe hasta 20 partes en una sola solicitud de coincidencia en lugar de enviarlas una por una.
Claves de API
Todavía no emitimos claves de API. Cuando se introduzcan, esta página describirá cómo obtener una, el encabezado que la transporta y cómo rotarla. Hasta entonces, no envíe credenciales a la API: las ignora.
Mantenga las claves en secreto una vez emitidas. Trate cualquier clave futura como una contraseña: manténgala fuera del código fuente y de las páginas del navegador, y cárguela desde una variable de entorno o un almacén de secretos.
Ejemplo: un cliente preparado para claves
Mantenga la dirección base en un solo lugar para que agregar credenciales más adelante sea un cambio de una sola línea.
import os, requests
BASE = os.environ.get("CROWN_API_BASE", "https://api.crownintelligence.net")
session = requests.Session()
session.headers["User-Agent"] = "my-screening-tool/1.0 ([email protected])"
r = session.post(f"{BASE}/api/match/default", json={"schema": "Company", "properties": {"name": ["Example Trading LLC"]}}, timeout=60)
if r.status_code == 429:
print("Rate limited; retry after", r.headers.get("Retry-After"), "seconds")
r.raise_for_status()
print(r.json()["responses"]["q1"]["total"])const BASE = process.env.CROWN_API_BASE ?? "https://api.crownintelligence.net";
const headers = { "Content-Type": "application/json", "User-Agent": "my-screening-tool/1.0 ([email protected])" };
const res = await fetch(`${BASE}/api/match/default`, { method: "POST", headers,
body: JSON.stringify({ schema: "Company", properties: { name: ["Example Trading LLC"] } }) });
if (res.status === 429) console.log("Rate limited; retry after", res.headers.get("Retry-After"), "seconds");
console.log((await res.json()).responses.q1.total);Preguntas sobre el acceso: [email protected]. Condiciones comerciales: hable con ventas. Los límites y las cuotas también se tratan en las preguntas frecuentes de la API.
Última actualización 2026-10-03