En esta página
El precio de un competidor cambia un martes. El equipo de ingresos se entera el jueves, por un comercial que perdió el trato el miércoles.
La solución habitual es un scraper: un cron, un navegador headless, un diff y un mensaje en Slack — mantenido por quien tuviera tiempo libre el trimestre pasado. Funciona más o menos un mes. Después cambia una maquetación o se recicla la máquina en la que corría, y nadie se entera de que dejó de funcionar, porque un monitor que no encuentra nada y un monitor muerto producen exactamente el mismo silencio.
Una API de monitorización de la competencia para RevOps saca de tu lado la parte que hay que ejecutar. Tú describes qué vigilar; las comprobaciones, las comparaciones y los reintentos pasan a ser el problema de disponibilidad de otro.
Qué hace una API de monitorización de la competencia para RevOps
Haces un POST con un monitor — hasta 20 URLs, un calendario cron y a dónde van los resultados. El programador de CrawlForge ejecuta las comprobaciones, compara cada página con la anterior y entrega lo que cambió.
curl -X POST https://crawlforge.dev/api/v1/monitors \
-H "X-API-Key: cf_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "competitor pricing",
"targets": [
{ "url": "https://competitor-a.com/pricing", "selector": ".pricing-table" },
{ "url": "https://competitor-b.com/pricing", "selector": "main" }
],
"schedule_cron": "0 7 * * 1-5",
"timezone": "America/New_York",
"notify_emails": ["revops@example.com"],
"webhook_url": "https://example.com/hooks/crawlforge"
}'El selector decide si esto sobrevive al contacto con un sitio real. Limita la comparación a la tabla de precios y un rediseño de la navegación deja de ser un evento de precios; quítalo y salta con cualquier retoque de marketing.
La primera comprobación de un destino captura una línea base y la informa como new. Cada comprobación posterior compara con la anterior y avanza la línea base, así que lo que te llega es "cambió desde la última vez" y no "cambió desde un martes de marzo". No se ejecuta nada en tu infraestructura: el programador se despierta cada cinco minutos y arranca lo que toque. La referencia completa de los endpoints está en la documentación.
Cómo llega la señal al resto del stack
Por webhook, que es la razón por la que esto encaja en un stack de RevOps y no en la pestaña del navegador de alguien. Cada comprobación envía un evento monitor.page por cada página que no sea unchanged, y después un único resumen monitor.check.completed.
El payload de la página lleva change_percent, added_count y removed_count, además de hasta 20 líneas de muestra de cada lado del diff — suficiente para que tu handler decida sin descargar nada por su cuenta:
change_percentpor encima de tu umbral en una URL de precios — abre la tarea, publica en el canal del trato, avisa al PMM.- Cualquier otra cosa — regístralo y sigue.
Importan dos cabeceras. X-Webhook-Signature es sha256= seguido de un HMAC-SHA256 del cuerpo en crudo, firmado con el webhook_secret del monitor (se devuelve al crearlo y en un GET de un solo monitor, nunca en el listado) — verifícala antes de parsear. X-Webhook-ID es estable entre reintentos, y hay hasta cuatro intentos, así que deduplica por ahí o el cambio de precio de un competidor se convierte en cuatro tareas en el CRM.
Cuánto cuesta vigilar a un competidor
No hay cuota por monitor, y crear, listar o pausar uno es gratis. Cada comprobación retiene 3 credits por destino — el precio de track_changes — y los cobra por cada destino que vuelve como new, changed o unchanged. Los destinos que vuelven como blocked o error no se cobran, así que un muro de Cloudflare no cuesta nada.
| Calendario | Destinos | Ejecuciones / 30 días | Credits / mes |
|---|---|---|---|
0 9 * * * | 5 | 30 | 450 |
0 * * * * | 1 | 720 | 2,160 |
*/15 * * * * | 1 | 2,880 | 8,640 |
Cada monitor informa de su propio estimated_credits_per_month, que es el techo: esa cifra supone que todos los destinos se descargan y se comparan en cada ejecución. Cinco páginas de la competencia revisadas cada mañana son 450 credits al mes, así que los 1.000 credits únicos del plan gratuito cubren los dos primeros meses.
Qué no va a hacer
Lee las páginas que le indiques. No guarda contactos, ni datos firmográficos, ni organigramas, así que no sustituye a la base de datos sobre la que corre tu enriquecimiento — es la capa de vigilancia que va por encima de tus propias fuentes. Dos límites conviene conocerlos antes de integrarlo: robots.txt se respeta siempre, sin excepción, así que una ruta no permitida se informa como error con ROBOTS_DISALLOWED en cada comprobación y nunca se cobra; y entre dos ejecuciones consecutivas tienen que pasar al menos cinco minutos.
Si prefieres que Claude lea y resuma cada diff en lugar de enrutarlo en un handler, ese circuito es otro post, y track_changes es la misma primitiva para llamarla a mano.
Empieza gratis con 1.000 credits, o crea el primer monitor desde el panel y lee un payload real antes de escribir nada de código.
Pruébalo tú mismo — sin necesidad de registrarte
Ejecuta cualquiera de las 30 herramientas de scraping y extracción de CrawlForge disponibles en el playground y luego empieza gratis con 1,000 credits.
1,000 credits gratis • Por única vez • No se requiere tarjeta de crédito
Etiquetas
Sobre el autor
Mantente al día con los últimos artículos
Recibe tutoriales, novedades del producto y consejos de web scraping en tu bandeja de entrada.
Sin spam. Cancela tu suscripción cuando quieras.