ForHosting KIT · Web: scraping y monitoreo

Capturas programadas

Hay páginas que hay que vigilar, no solo fotografiar una vez: una tabla de precios, la portada de un competidor, un panel que solo usted puede ver. Esta API de captura programada saca esa tarea de su propio servidor de cron: le da una URL y una frecuencia, y ella dispara la captura a tiempo, siempre, entregada donde vive su webhook.

● EstablePor solicitud + por URL$0.040
Úselo desde WebAPIEmailApp prontoTelegram pronto

Por qué una captura única no alcanza

Una sola captura muestra cómo se veía una página en un momento dado. Los equipos que siguen una página de precios, una oferta de empleo, un aviso de estado o el tablón de un regulador necesitan la misma toma en el mismo horario, para que dos capturas cualquiera sean directamente comparables. Construir eso por cuenta propia implica mantener un servidor que nunca duerme, manejar reintentos y recordar zonas horarias — justamente la tarea que se quería delegar.

Cómo funciona la programación

Registra una URL con una frecuencia diaria o semanal y una ventana horaria opcional; a partir de ahí cada ejecución se comporta como una captura normal — un navegador real carga la página, espera a que se estabilice, y la renderiza en JPEG o PNG. Cada corrida obtiene su propio task_id y su propia entrega por webhook, así su sistema trata cada captura como un evento independiente en lugar de consultar un tablero para ver si algo cambió.

Qué llega, y cuándo

Los resultados nunca se envían por correo ni quedan guardados en una interfaz que hay que revisar — cada corrida programada publica su resultado en su webhook firmado, o deja un enlace firmado válido por 24 horas si prefiere ir a buscarlo. Eso mantiene el flujo de captura completamente dirigido por eventos: sin ciclo de consulta, sin inicio de sesión, solo un payload que llega cuando la corrida termina.

Una breve historia de vigilar páginas

Antes de que existieran APIs así, 'monitorear una página' solía significar una extensión de navegador consultando cada pocos minutos en el laptop de alguien, o un script frágil de Selenium pegado a un cron. El renderizado con navegador headless volvió confiable la captura del lado del servidor sin supervisión; la programación convierte esa confiabilidad en una tarea permanente en lugar de un favor puntual.

Dónde encaja en un flujo automatizado

Combine las capturas programadas con un paso de comparación río abajo — propio o de otra tarea de esta API — y obtiene detección de cambios sin escribir un scraper. Alimente el mismo cronograma a un archivo, y obtiene un rastro visual: qué decía la página, y cuándo, reconstruible indefinidamente a partir de imágenes con fecha en lugar de memoria.

Vigilancia de precios de la competencia

Capture cada mañana la página de precios de un competidor y mantenga un archivo de imágenes con fecha sin que nadie abra un navegador.

Chequeos de disponibilidad y maqueta

Programe una toma diaria de una página de aterrizaje crítica para detectar un despliegue roto o una imagen faltante antes que los clientes.

Rastro de auditoría y cumplimiento

Tome una captura semanal de una divulgación pública o página de términos para poder demostrar qué decía en una fecha determinada.

Snapshots de tableros internos

Programe capturas de un tablero de métricas para un resumen diario, sin exponer el tablero mismo a más inicios de sesión.

¿Cómo configuro una captura de pantalla programada?

Llame a POST /web/screenshot-scheduled con la URL, una frecuencia diaria o semanal y su webhook; cada corrida posterior se factura y se entrega de forma independiente.

¿Hay 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é pasa si una corrida falla?

La tarea reintenta automáticamente hasta tres veces; si sigue fallando recibe un error claro y esa corrida no se cobra.

¿Puedo cambiar la frecuencia después?

Sí, puede actualizar la frecuencia o la URL objetivo en cualquier momento; las corridas futuras usan la nueva configuración, las pasadas no se ven afectadas.

¿Cómo se cobra?

$0.040 por solicitud más $0.001 por URL, publicado y predecible — la misma tarifa sea que la corrida se dispare por programación o manualmente.

¿Tengo que consultar el resultado?

No. Cada corrida programada entrega su propio payload por webhook, o un enlace firmado válido por 24 horas si prefiere ir a buscarlo usted mismo.

¿Qué formatos de imagen soporta?

JPEG para archivos más livianos o PNG sin pérdida, las mismas opciones disponibles en una captura puntual.

¿Cuánto tiempo se conservan las capturas?

Las imágenes capturadas se eliminan al vencer el período de retención y nunca se usan para entrenamiento — cada entrega es el registro de ese instante.

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.

POSThttps://api.kit.forhosting.com/web/screenshot-scheduled

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

curl -X POST https://api.kit.forhosting.com/web/screenshot-scheduled \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://ejemplo.com"}'
{
  "url": "https://ejemplo.com"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.screenshot_scheduled",
  "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.

Por solicitud$0.040
Por URL$0.001

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

timeout_sec30
max_crawl_pages25
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.
422task_failedLa tarea falló tras 3 reintentos. No se cobra.

Ver la documentación completa del KIT →