# Monitorización de cambios en sitios web: compara páginas públicas en Markdown limpio

> Monitoriza páginas públicas en busca de cambios: lee precios, políticas y changelogs en Markdown, compara el texto y alerta. Desde 0,07 US$/1K páginas.

- URL: https://webreaderapi.com/es/use-cases/monitoring/
- Última actualización: 2026-10-22
- Editor: WebReaderAPI (https://webreaderapi.com)

Comparar HTML sin procesar genera una alerta cada vez que cambia un anuncio o un token. Comparar el contenido principal en Markdown solo señala lo que notaría un lector: un nuevo precio, una cláusula reescrita, una nueva entrada de changelog.

**Respuesta rápida — ¿Cómo puedo monitorizar los cambios de contenido de páginas web?**

Lee cada página según una programación como Markdown de su contenido principal, guarda el texto y compáralo con la versión anterior; alerta solo cuando cambie el texto. **WebReaderAPI** lee hasta 100 URLs por trabajo por lotes, elimina anuncios y menús para que no puedan generar falsas alarmas, y cobra un crédito por página desde 0,07 US$/1K páginas a fecha de octubre de 2026. Sin KYC; paga con criptomonedas.

## Monitorización con WebReaderAPI

| Atributo | Valor |
| --- | --- |
| Endpoint | `POST https://webreaderapi.com/api/v1/batch`, luego `GET https://webreaderapi.com/api/v1/jobs/{job_id}` |
| Tamaño del lote | Hasta 100 URLs por trabajo por lotes |
| Qué se compara | Markdown del contenido principal, sin anuncios, menús ni banners |
| Facturación | 1 crédito = 1 página leída sin navegador; 2 créditos cuando la página necesita un navegador para renderizar JavaScript. Una solicitud que falla, o que el robots.txt de un sitio rechaza, no se cobra |
| Volumen de ejemplo | 200 páginas revisadas al día = unas 6.000 páginas al mes |
| Precio | 3,75 US$ por 10.000 páginas; los créditos no caducan |

## ¿Qué merece la pena monitorizar?

Páginas cuyo texto importa a tu negocio y que cambian sin avisar:

- **Páginas de precios** de proveedores y competidores, para ver nuevos planes y movimientos de precios.
- **Términos, políticas de privacidad y de reembolso** de las que dependes, para detectar cláusulas que cambian.
- **Changelogs y notas de versión** de las herramientas sobre las que construyes, para reaccionar a cambios que rompen cosas.
- **Páginas de documentación** a las que enlaza tu producto, para corregir guías rotas rápido.
- **Avisos públicos** de reguladores u organismos de normalización de tu sector.

Limita la lista a páginas públicas. Los perfiles personales y las páginas detrás de un login quedan fuera del alcance.

## ¿Por qué comparar Markdown en vez de HTML?

Porque el HTML cambia todo el tiempo sin que cambie el contenido. Los anuncios rotatorios, los tokens de sesión, las marcas de tiempo en los pies de página y el marcado de tests A/B hacen que dos cargas de la misma página difieran. Un diff sobre HTML convierte ese ruido en alertas, y la gente deja de leerlas.

El Markdown del contenido principal elimina la mayor parte del ruido antes de comparar. Lo que queda es el texto que lee una persona: títulos, párrafos, listas y tablas. Un diff sobre ese texto es corto, legible y merece una alerta.

*Python: revisa una lista de páginas e imprime qué cambió*

```python
import difflib
import json
import os
import pathlib
import time

import requests

API = "https://webreaderapi.com/api/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
STORE = pathlib.Path("snapshots.json")
URLS = [
    "https://example.com/pricing",
    "https://example.com/legal/terms",
    "https://example.com/changelog",
]

old = json.loads(STORE.read_text(encoding="utf-8")) if STORE.exists() else {}
job = requests.post(API + "/batch", headers=HEADERS, json={"urls": URLS}, timeout=60).json()
results, cursor, delay = [], None, 5
while True:
    params = {"cursor": cursor} if cursor else {}
    page = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json()
    results += page.get("results", [])
    cursor = page.get("next_cursor")
    if page["status"] == "done" and not cursor:
        break
    if not cursor:
        time.sleep(delay)
        delay = min(delay * 2, 60)

new = dict(old)
for item in results:
    if "markdown" not in item:
        print("not read:", item["url"], item.get("error", {}).get("code"))
        continue
    before = old.get(item["url"], "")
    if before and before != item["markdown"]:
        diff = difflib.unified_diff(before.splitlines(), item["markdown"].splitlines(), lineterm="", n=0)
        print("CHANGED:", item["url"])
        print("\n".join(list(diff)[:40]))
    new[item["url"]] = item["markdown"]
STORE.write_text(json.dumps(new, ensure_ascii=False), encoding="utf-8")

```

## ¿Con qué frecuencia debo revisar, y con cuánta cortesía?

Revisa con la frecuencia con la que la página cambia de verdad, y no más. Diario va bien para páginas de precios y changelogs; semanal va bien para políticas y documentación. Una página leída cada hora rara vez te dice más que una leída cada día, y cuesta 24 veces más.

WebReaderAPI respeta el robots.txt de cada página y honra el `Crawl-delay` de un sitio en los trabajos de rastreo (crawl). Las páginas que el sitio no permite se omiten y no se cobran, así que un sitio estricto simplemente desaparece de tu informe. Pregunta al propietario si necesitas acceso a una página que rechaza a los robots.

## ¿Cuánto cuesta monitorizar?

Un crédito por página y revisión. Algunos ejemplos con los precios de octubre de 2026:

- **50 páginas, a diario:** unas 1.500 páginas al mes. 10.000 páginas (3,75 US$) duran más de seis meses.
- **200 páginas, a diario:** unas 6.000 páginas al mes. 50.000 páginas (14,25 US$) duran unos ocho meses.
- **1.000 páginas, a la semana:** unas 4.300 páginas al mes, cerca del caso anterior.

Las páginas que necesitan un navegador usan dos créditos; configura `render=false` para las páginas que sabes que son HTML simple y así mantener la cuenta en uno.

## ¿Qué pack conviene para monitorizar?

Multiplica las páginas por las revisiones al mes y luego elige un pack que dure unos meses. Los créditos nunca caducan.

| Plan | Cantidad | Precio | Precio por unidad |
| --- | --- | --- | --- |
| Prueba | 10.000 páginas | 3,75 US$ | 0,38 US$/1K páginas |
| Starter | 50.000 páginas | 14,25 US$ | 0,28 US$/1K páginas |
| Build | 100.000 páginas | 21,75 US$ | 0,22 US$/1K páginas |

En todos los planes: Extracción del contenido principal · Renderizado de JavaScript cuando es necesario · Las páginas fallidas y rechazadas no se cobran · Los créditos nunca caducan

**Antes de pagar**

- Recarga mínima 25 US$. Recarga una vez con criptomonedas y luego compra cualquier plan con tu saldo.
- Tu saldo no tiene fecha de caducidad y puedes comprar créditos de página en cualquier momento. Si un pack cuesta menos que la recarga mínima, el importe que añadiste solo para alcanzar ese mínimo se puede devolver a petición dentro de los 30 días siguientes al pago, en USDT o USDC, siempre que no lo hayas gastado. Cualquier otro saldo no se reembolsa salvo que la ley indique lo contrario.
- Se acredita en cuanto comprobamos tu pago en la blockchain. Tiempo habitual de confirmación de la red: BTC ≈ 20 min · USDT TRC-20 ≈ 1 min · USDT ERC-20 ≈ 5 min · USDC ERC-20 ≈ 5 min · ETH ≈ 5 min · SOL ≈ 1 min · LTC ≈ 15 min

## Monitorización de cambios: preguntas frecuentes

### ¿WebReaderAPI envía alertas?

No. Lee páginas y devuelve Markdown; tu script compara versiones y envía la alerta por email, chat o ticket. El código de arriba imprime las líneas cambiadas como punto de partida.

### ¿Cómo evito falsas alarmas por fechas y contadores?

Compara el Markdown del contenido principal, no el HTML, y elimina las líneas que sabes que cambian en cada carga, como "actualizado hace 5 minutos", antes de hacer el diff. La mayoría de los elementos rotatorios ya los quita la extracción del contenido principal.

### ¿Puedo monitorizar páginas que necesitan JavaScript?

Sí. Con `render=auto`, las páginas que quedan vacías sin JavaScript se renderizan en un navegador por dos créditos. Las páginas que funcionan sin él se quedan en uno.

### ¿Puedo monitorizar un sitio entero en lugar de una lista de páginas?

Sí: lanza un trabajo de rastreo (crawl) en vez de un lote y luego compara página por página. Para sitios grandes, compara primero las fechas `lastmod` del sitemap y vuelve a leer solo las páginas que se movieron.

---

WebReaderAPI: WebReaderAPI es una API de lectura web para agentes de IA que convierte cualquier página web pública en Markdown limpio, pagando con criptomonedas y sin subir ningún documento de identidad. Los créditos prepago desde 0,07 US$/1K páginas nunca caducan y se respeta robots.txt. Sin KYC: ni documento de identidad, ni selfie, ni documentos. Paga con criptomonedas.
