Monitorear disponibilidad
La mayoría de las herramientas de disponibilidad revisan según su propio reloj, coincida o no con la forma real en que necesita vigilar su infraestructura. Esta api para monitorear si una web está caída funciona al revés: la llama según su propio horario, desde su propia automatización, y devuelve estado, tiempo de respuesta y alcanzabilidad justo en ese momento, sin nada corriendo de fondo que no haya pedido.
Disponibilidad sin un demonio siempre encendido
Los monitores de disponibilidad tradicionales corren como un servicio permanente, haciendo ping sin parar sin importar si necesita ese dato en ese instante, y ese modelo funciona bien para algunos equipos y mal para otros. Cualquiera que ya opere su propio programador, orquestador o infraestructura de cron suele querer lo contrario: una verificación única y precisa que dispara él mismo, que encaja en un pipeline o que corre justo después de un despliegue, en lugar de un monitor de caja negra haciendo polling en silencio en la nube de otro.
Qué devuelve una sola verificación
Una llamada a POST /web/uptime recibe una URL objetivo y realiza en ese momento una verificación de alcanzabilidad: si el endpoint respondió, su código de estado y cuánto tardó en contestar. Como la verificación corre en el instante en que la solicita y no en un intervalo interno fijo, usted decide por completo la cadencia: cada treinta segundos durante una ventana de despliegue, una vez por hora en estado estable, o disparada bajo demanda desde un script de respuesta a incidentes.
De la alarma de un buscapersonas a la verificación programable
Monitorear disponibilidad solía significar que un buscapersonas sonara porque alguien notó que un sitio estaba caído; luego llegaron los tableros y los verificadores externos siempre activos. El siguiente paso es tratar la verificación misma como un bloque de construcción y no como un producto fijo: algo que sus propios sistemas llaman igual que llamarían a cualquier otra API, en el horario que su infraestructura realmente necesita y no en el intervalo predeterminado de un proveedor.
Pensado para scripts, no para tableros
Cada solicitud es asíncrona: recibe un task_id de inmediato, y el resultado se entrega después mediante un webhook firmado, la opción práctica para alimentar un sistema de alertas o una página de estado de forma automática, o un enlace firmado válido por 24 horas para consultas manuales. Ese diseño encaja de forma natural en un generador de página de estado, en un runbook de respuesta a incidentes o en un pipeline de despliegue que condiciona un rollback al resultado de la verificación.
Un precio único y predecible
Cada verificación cuesta un valor fijo de $0.002 por solicitud, publicado sin niveles ocultos, y no hay plan gratuito ni período de prueba: el acceso requiere saldo prepago, lo que mantiene la capacidad de verificación rápida y libre de abuso. Una verificación fallida se reintenta automáticamente hasta tres veces antes de devolver un error claro, y una tarea que finalmente falla nunca se cobra.
Qué puede hacer con ella
Verificaciones de salud tras un despliegue
Dispare una verificación de disponibilidad justo después de que termine un despliegue y condicione un rollback a si el endpoint respondió correctamente.
Monitoreo de infraestructura con intervalo propio
Construya su propio programador para revisar endpoints críticos con la cadencia que corresponda a su nivel real de riesgo, desde cada pocos segundos hasta una vez al día.
Backend de una página de estado
Alimente una página de estado pública o interna disparando verificaciones con su propio temporizador y publicando el estado y la latencia que recibe.
Verificación al cerrar un incidente
Confirme que un endpoint volvió a estar alcanzable como paso final de un runbook de respuesta a incidentes antes de cerrar la alerta.
Preguntas frecuentes
¿En qué se diferencia esto de un monitor de disponibilidad tradicional?
Esta api para monitorear si una web está caída ejecuta una verificación solo cuando usted la llama, así que controla por completo el horario desde su propia automatización en lugar de depender del intervalo fijo de un proveedor.
¿El monitoreo de disponibilidad tiene una versión gratuita?
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é devuelve exactamente una verificación de disponibilidad?
Devuelve si la URL objetivo respondió, su código de estado y la latencia de respuesta en el momento en que se ejecutó la verificación, entregado por webhook o por enlace firmado.
¿Cómo configuro verificaciones recurrentes de disponibilidad?
Dispare POST /web/uptime desde su propio cron, programador o pipeline con el intervalo que necesite; la API realiza cada verificación bajo demanda en lugar de mantener su propio horario de polling.
¿Puedo recibir una alerta inmediata cuando una verificación falla?
Sí, configure un webhook firmado y entrega el resultado en el instante en que termina la verificación, así su sistema de alertas puede reaccionar apenas se detecta una falla.
¿Puedo monitorear muchos endpoints en volumen?
Sí, cada URL es una solicitud asíncrona independiente, así que revisar una lista completa de endpoints consiste simplemente en disparar la verificación para cada uno desde su propio programador.
¿Qué pasa si la verificación misma da timeout o falla?
La tarea se reintenta automáticamente hasta tres veces; si sigue fallando, recibe un error claro en lugar de un resultado ambiguo, y el intento fallido no se cobra.
¿Guardan el histórico de disponibilidad por mí?
No, los resultados se entregan y luego se eliminan tras el período de retención, y nunca se usan para entrenar modelos; construir un historial queda de su lado, normalmente registrando cada resultado de webhook.
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/uptime \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/web/uptime", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/uptime",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/uptime", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/uptime", 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
{
"input": "…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.uptime",
"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. |