Propagación DNS
Un registro DNS que acaba de cambiar no aparece en todas partes al instante: cada resolver del mundo lo guarda en caché según su propio calendario. Esta API de propagación DNS consulta un conjunto de resolvers en paralelo y le devuelve exactamente lo que cada uno resuelve en este momento, para que deje de adivinar y empiece a leer respuestas reales.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
Por qué una sola consulta desde su computadora no basta
Su equipo habla con un único resolver, normalmente el de su proveedor de internet o uno público que configuró alguna vez y olvidó. Esa respuesta aislada no dice nada sobre un visitante en otra región que consulta un resolver con caché desactualizada. Los equipos de soporte reciben tickets de 'no funciona' que en realidad son solo una caché sin limpiar en un resolver puntual, y sin una vista más amplia es imposible distinguir eso de un error real de configuración.
Qué devuelve exactamente el endpoint
Envíe un dominio y un tipo de registro a POST /web/dns-propagation y la tarea consulta un conjunto de resolvers de forma independiente, reuniendo el valor devuelto, el TTL y el tiempo de respuesta de cada uno. El resultado agrupa las respuestas para que vea de un vistazo cuáles resolvers ya coinciden y cuáles todavía conservan un valor anterior, sin tener que comparar decenas de respuestas crudas a mano.
Una peculiaridad del DNS que conviene entender
El DNS se diseñó en los años ochenta pensando en la caché como mecanismo de eficiencia, no en la consistencia instantánea: un TTL bajo sacrifica eficiencia de caché a cambio de actualizaciones más rápidas, mientras que un TTL alto hace lo contrario. Esa decisión de diseño es justamente la razón por la que existen las comprobaciones de propagación: el protocolo nunca se pensó para actualizarse en todas partes en el momento en que guarda los cambios, y entenderlo evita mucho pánico innecesario durante una migración.
Dónde encaja en su flujo de trabajo
Los equipos llaman a este endpoint justo después de cambiar servidores de nombres, migrar un proveedor de correo o repuntar un registro A para un lanzamiento, y de nuevo unas horas después para confirmar que todo convergió. Como la tarea es asíncrona, puede dispararla desde un pipeline de despliegue o una tarea programada y dejar que el webhook firmado le avise cuando el panorama esté claro, sin que nadie tenga que refrescar un verificador público en el navegador.
Cómo leer el resultado sin alarmarse de más
Que un puñado de resolvers vaya retrasado justo después de un cambio es normal y no indica un error en su configuración; que la mayoría siga en desacuerdo horas después, o que una respuesta que debería ser autoritativa nunca coincida, sí es la señal real para revisar su zona DNS o los ajustes en el registrador.
Qué puede hacer con ella
Migraciones de servidores de nombres
Confirme que un dominio movido a nuevos servidores de nombres realmente resuelve a través de ellos en todo el mundo antes de dar de baja al proveedor anterior.
Cambios de enrutamiento de correo
Revise los registros MX en distintos resolvers antes de activar una migración de correo, para que el correo entrante no rebote silenciosamente para parte de sus usuarios.
Cambios de registro A el día del lanzamiento
Verifique que un registro A repuntado ya sea visible ampliamente antes de una campaña de marketing, en vez de esperar a que la caché se limpie sola.
Triage de tickets de soporte
Adjunte una foto de la propagación a un ticket de 'el sitio no me carga' para distinguir rápido una caída real de un simple resolver local desactualizado.
Preguntas frecuentes
¿Qué comprueba exactamente una API de propagación DNS?
Consulta el mismo registro en un conjunto de resolvers DNS y reporta el valor, el TTL y el tiempo de respuesta que cada uno devuelve en este momento, para que vea dónde ya se aplicó el cambio y dónde no.
¿Cuánto tarda realmente en propagarse un cambio de DNS?
Depende del TTL que tenía el registro anterior y del comportamiento de caché de cada resolver; con TTL bajo puede resolverse en minutos, y con TTL alto puede tardar hasta 48 horas en casos extremos.
¿Hay un plan gratuito?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿Qué tipos de registro soporta?
Se pueden comprobar tipos de registro estándar como A, AAAA, MX, TXT, NS y CNAME; el tipo se indica en la solicitud.
¿Cómo recibo los resultados?
Mediante un webhook firmado cuando la tarea termina, que es lo recomendado, o mediante un enlace firmado válido por 24 horas si prefiere consultarlo usted mismo.
¿Se me cobra si una consulta falla?
No. Las tareas fallidas se reintentan automáticamente hasta tres veces y nunca se cobran; solo paga por las solicitudes que se completan.
¿Cuánto cuesta?
$0.002 por solicitud, facturado solo sobre tareas completadas, sin recargo oculto por resolver.
¿Puedo usar esto en vez de revisar el DNS manualmente desde varios países?
Sí, para eso exactamente sirve: una sola llamada asíncrona reemplaza cambiar de resolver a mano o pedirle a contactos en otras regiones que lo revisen por usted.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/web/dns-propagation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"domain":"ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/dns-propagation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"domain": "ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/dns-propagation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"domain": "ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/dns-propagation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"domain":"ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"domain":"ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/dns-propagation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"domain": "ejemplo.com"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.dns_propagation",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
timeout_sec | 30 |
max_crawl_pages | 25 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |