Entender el modelo de créditos y el overage
La API pública de CaptainDNS se factura en créditos. Un lookup DNS simple cuesta 1 crédito, un score de entregabilidad cuesta 30. Cada plan incluye un cupo mensual de créditos; el exceso se factura al final del período a partir del plan Starter. Esta página explica los detalles.
Principio
Un crédito no es una unidad de tiempo ni de datos. Es una unidad de coste interno que refleja la cantidad de trabajo del backend de CaptainDNS:
- 1 crédito: un lookup DNS en caché.
- 2 a 3 créditos: una verificación multi-resolver o una cadena DNSSEC.
- 5 a 6 créditos: un blacklist check multi-RBL o un test SMTP completo.
- 8 a 10 créditos: un crawl HTTP con extracción de meta o una detección de phishing.
- 30 créditos: un score que agrega SPF, DKIM, DMARC, BIMI y reputación.
Con esto puedes estimar lo que consumirá una integración sin contar petición por petición: multiplica por el coste medio de los endpoints que llamas y obtienes tu volumen mensual aproximado.
Coste por endpoint
La tabla de abajo lista los endpoints principales. Para la lista exhaustiva de los 59 endpoints y sus costes, consulta la referencia OpenAPI. Incluye en particular las 15 herramientas de texto (1 crédito cada una) y los endpoints de certificados/BIMI que no se recogen aquí.
| Endpoint | Créditos | Scope |
|---|---|---|
POST /public/v1/resolve | 1 | dns:read |
POST /public/v1/resolve/propagation | 3 | dns:read |
POST /public/v1/dnssec/check | 3 | dns:read |
POST /public/v1/ip/whois | 2 | dns:read |
POST /public/v1/ip/nslookup | 1 | dns:read |
POST /public/v1/ip/netmask | 1 | dns:read |
POST /public/v1/rdap/lookup | 2 | dns:read |
POST /public/v1/domain/dns-check | 5 | dns:read |
POST /public/v1/spf/lookup | 1 | mail:read |
POST /public/v1/dkim/lookup | 1 | mail:read |
POST /public/v1/dmarc/lookup | 1 | mail:read |
POST /public/v1/bimi/lookup | 2 | mail:read |
POST /public/v1/mta-sts/lookup | 2 | mail:read |
POST /public/v1/tls-rpt/lookup | 2 | mail:read |
POST /public/v1/dane/lookup | 2 | mail:read |
POST /public/v1/blacklist/ip | 5 | mail:read |
POST /public/v1/smtp/check | 6 | mail:read |
POST /public/v1/mail/header-audit | 2 | mail:read |
POST /public/v1/mail/domain-check | 10 | mail:read |
GET /public/v1/spf/hosted | 1 | mail:read |
GET /public/v1/spf/hosted/{id} | 1 | mail:read |
GET /public/v1/spf/hosted/{id}/history | 2 | mail:read |
GET /public/v1/spf/hosted/{id}/stats | 2 | mail:read |
POST /public/v1/deliverability/score | 30 | mail:write |
POST /public/v1/dmarc/generate | 1 | mail:write |
POST /public/v1/spf/hosted/{id}/resolve | 5 | mail:write |
POST /public/v1/url/check | 3 | web:read |
POST /public/v1/page/crawl-check | 10 | web:read |
POST /public/v1/phishing/check | 8 | web:read |
POST /public/v1/http/headers-check | 2 | web:read |
POST /public/v1/http/hsts-check | 3 | web:read |
POST /public/v1/certificates/ssl/check | 2 | web:read |
Cupos por plan
| Plan | Precio mensual | Créditos incluidos | Rate limit (req/min/clave) | Overage |
|---|---|---|---|---|
| Free | 0 EUR | 30 | 10 | Hard cap (403) |
| Solo | 9 EUR | 5 000 | 10 | Hard cap (403) |
| Starter | 29 EUR | 50 000 | 60 | 1 EUR / 1 000 créditos |
| Pro | 99 EUR | 500 000 | 500 | 0,80 EUR / 1 000 créditos |
| Business | 199 EUR | 2 000 000 | 1 000 | 0,50 EUR / 1 000 créditos |
| Enterprise | A solicitar | 5 000 000 | 1 200 | 0,30 EUR / 1 000 créditos |
Facturación anual: se facturan 12 meses y solo pagas 10, es decir, dos meses gratis.
Hard cap: los planes Free y Solo no facturan overage. Una vez consumidos los créditos incluidos (30 en Free, 5 000 en Solo), cada petición devuelve 403 QUOTA_EXCEEDED hasta el final del mes. Para evitar el corte, pasa al plan Starter.
Overage suave: a partir de Starter, los planes permiten superar el cupo. Los créditos en exceso se contabilizan por separado y se facturan al cierre del mes.
Cabeceras devueltas por la API
Cada respuesta exitosa incluye tres cabeceras contables:
X-Credits-Limit: 50000
X-Credits-Remaining: 37547
X-Credits-Consumed: 2
X-Credits-Limit: cupo mensual incluido en el plan actual.X-Credits-Remaining: créditos todavía disponibles dentro del cupo del plan. Esta cabecera está acotada a 0 y nunca baja a valores negativos. En overage (Starter y superiores), el valor permanece en 0; para medir el volumen de overage, leeX-Credits-Overageo compara elX-Credits-Consumedacumulado conX-Credits-Limit.X-Credits-Consumed: créditos descontados por la petición actual.
Usa estas cabeceras para dirigir tu cliente: alertar al 80 % del cupo, encolar llamadas no críticas cerca del agotamiento.
Consultar tu uso
El dashboard de CaptainDNS (Perfil > Claves API) muestra el mes en curso y los 12 meses anteriores, con el detalle de los créditos consumidos, el overage y el historial de facturación.
Evitar sorpresas
Estimación previa: multiplica el número esperado de peticiones por el coste medio. Un crawler que llame a page-crawl-check 10 000 veces al mes consume 100 000 créditos, más que el cupo Starter.
Backoff cerca del cupo: vigila X-Credits-Remaining y, a partir del 10 % restante, ralentiza o encola las llamadas no urgentes.
Deduplicación: si tu integración puede recibir peticiones redundantes, usa la idempotencia. Un reintento en las 24 horas devuelve la respuesta almacenada sin consumir créditos adicionales.
Entornos separados: no pongas tu clave cdns_live_* en un job de CI que corre 20 veces por push. Crea una clave cdns_test_* dedicada.
Facturación del overage
El overage se factura automáticamente al cerrarse cada período mensual. El importe se calcula según la tarifa del plan y se cobra en una sola transacción. Si falla la facturación, el sistema reintenta automáticamente. Si el problema persiste, escribe al soporte de CaptainDNS.
Próximos pasos: el rate limiting explica cómo suavizar tus llamadas y la idempotencia, cómo ahorrar créditos en los reintentos.