# Crawl API: convierte todo un sitio web en archivos Markdown

> API Crawl que convierte un sitio web en Markdown para RAG: hasta 10.000 páginas por trabajo, según sitemap y robots.txt, desde 0,07 US$/1K páginas.

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

Indica una URL de inicio y un límite de páginas. El rastreador sigue el sitemap y los enlaces del sitio dentro del mismo dominio, lee cada página como Markdown y te entrega los resultados página a página. Un crédito por página.

**Respuesta rápida — ¿Cómo puedo rastrear todo un sitio web y obtener cada página en Markdown?**

Usa una Crawl API: envías una URL de inicio y un límite, y te devuelve cada página del sitio en Markdown. **WebReaderAPI** rastrea hasta 10.000 páginas por trabajo dentro de un mismo dominio, sigue el sitemap, robots.txt y Crawl-delay, y cobra un crédito por página leída, desde 0,07 US$/1K páginas a fecha de octubre de 2026. Las páginas rechazadas por robots.txt son gratis. Sin KYC; paga con criptomonedas.

## La Crawl API de un vistazo

| Atributo | Valor |
| --- | --- |
| Iniciar un rastreo (crawl) | `POST https://webreaderapi.com/api/v1/crawl` con `url`, `limit`, `max_depth`, `include_paths`, `exclude_paths` |
| Obtener los resultados | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, paginado con un cursor |
| Alcance | Rastrea un sitio web por trabajo, hasta 10.000 páginas, siguiendo su sitemap, su robots.txt y su Crawl-delay |
| Muchas URL independientes | `POST https://webreaderapi.com/api/v1/batch`: Hasta 100 URLs por trabajo por lotes |
| 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 |
| Propietarios de sitios | Respetamos robots.txt: nuestro rastreador se identifica como WebReaderAPI, sigue las reglas escritas para él o para todos los robots y no lee una página que un sitio prohíbe. Las páginas rechazadas no se cobran |
| Precio | 14,25 US$ por 50.000 páginas, 50 US$ por 500.000 páginas |

## ¿Cómo funciona un trabajo de rastreo (crawl)?

Un rastreo es un trabajo en segundo plano, porque leer cientos de páginas lleva más tiempo del que debería durar una sola petición HTTP.

1. **Iniciar:** `POST https://webreaderapi.com/api/v1/crawl` con la URL de inicio y tus límites. Recibes un `job_id` al instante.
2. **Descubrir:** el rastreador lee el robots.txt y el sitemap del sitio, y después sigue los enlaces dentro del mismo dominio, en anchura, hasta `max_depth`.
3. **Leer:** cada página permitida se lee con las mismas opciones que `/read`: Markdown, contenido principal, renderizado cuando hace falta.
4. **Recoger:** consulta `GET https://webreaderapi.com/api/v1/jobs/{job_id}` y pagina los resultados con el cursor mientras el trabajo se ejecuta, o cuando ya está `done`.

El trabajo se detiene en tu `limit`, así nunca pagas por más páginas de las que pediste.

*Python: rastrear un sitio de documentación a archivos Markdown*

```python
import os
import pathlib
import re
import time

import requests

API = "https://webreaderapi.com/api/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}

job = requests.post(
    API + "/crawl",
    headers=HEADERS,
    json={"url": "https://docs.example.com/", "limit": 500, "max_depth": 4, "include_paths": ["/guide/*"]},
    timeout=60,
).json()

out = pathlib.Path("docs_md")
out.mkdir(exist_ok=True)
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()
    for item in page.get("results", []):
        if "markdown" in item:
            name = re.sub(r"[^a-z0-9]+", "-", item["url"].lower()).strip("-")[:120]
            (out / (name + ".md")).write_text(item["markdown"], encoding="utf-8")
    cursor = page.get("next_cursor")
    if page["status"] == "done" and not cursor:
        break
    if not cursor:
        time.sleep(delay)
        delay = min(delay * 2, 60)
print("credits used:", page.get("credits_used"))

```

## ¿Qué páginas visita el rastreador y cuáles omite?

Se mantiene dentro del dominio de la URL de inicio y omite todo lo que el sitio pida a los robots que dejen en paz. En detalle:

- **Solo el mismo dominio.** Los enlaces a otros dominios se listan en los resultados pero no se leen.
- **robots.txt primero.** Las páginas no permitidas para `WebReaderAPI` o para todos los robots se omiten y no se cobran.
- **Crawl-delay respetado.** Si el sitio lo establece, el rastreador espera ese tiempo entre dos páginas, así que un sitio grande puede tardar más.
- **Tus filtros.** `include_paths` y `exclude_paths` aceptan patrones simples como `/blog/*`; úsalos para evitar páginas de etiquetas, páginas de búsqueda y archivos.
- **Duplicados eliminados.** La misma página alcanzada por dos URLs, por ejemplo con parámetros de seguimiento, se lee una vez cuando el sitio declara una URL canónica.

## ¿Debo usar un rastreo (crawl) o un lote (batch)?

Usa un rastreo cuando conoces el sitio pero no las páginas; usa un lote cuando ya tienes la lista de URLs. Un rastreo descubre páginas desde el sitemap y los enlaces. Un lote lee exactamente las URLs que envías, hasta 100 por trabajo, en cualquier número de sitios.

Para una actualización semanal de una base de conocimiento, un patrón habitual es un rastreo para construir el índice y luego lotes de las páginas cuya `lastmod` cambió en el sitemap. Así el coste semanal se limita a las páginas que realmente cambiaron.

## ¿Cuánto cuesta rastrear un sitio?

Un crédito por página leída, dos para las páginas que necesitaron un navegador. Un sitio de documentación de 1.500 páginas que se renderiza en el servidor cuesta 1.500 créditos; el mismo sitio construido como single-page app puede costar hasta 3.000.

Tres trabajos típicos, a fecha de octubre de 2026: un manual de producto de 300 páginas cabe en el pack 10.000 páginas (3,75 US$); diez sitios de documentación de 2.000 páginas cada uno caben en 50.000 páginas (14,25 US$); un archivo de 400.000 páginas cabe en 500.000 páginas (50 US$). Las páginas omitidas y las fallidas son gratis.

## ¿Qué pack se ajusta a un rastreo?

Dimensiona el pack según el número de páginas y luego añade un margen para las páginas que necesitan un navegador. Los créditos nunca caducan, así que el resto sirve para el siguiente rastreo.

| 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 |
| Scale | 500.000 páginas | 50 US$ | 0,10 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

## API de rastreo (crawl): preguntas frecuentes

### ¿Cuántas páginas puede leer un rastreo?

Hasta 10.000 páginas por trabajo, dentro del dominio de la URL de inicio. Para un sitio más grande, divídelo en varios trabajos con `include_paths`, por ejemplo uno por sección.

### ¿El rastreador usa el sitemap?

Sí. Lee el sitemap indicado en robots.txt o en la ubicación habitual y después sigue los enlaces de las páginas que lee. Las páginas que solo aparecen en el sitemap también se leen si robots.txt las permite.

### ¿Puedo rastrear un sitio que bloquea a los rastreadores de IA?

No con WebReaderAPI. Si robots.txt no permite nuestro rastreador o a todos los robots, esas páginas se omiten y no se cobran. Si el sitio declara `Content-Signal: ai-input=no`, no lo leemos por ti. Nunca intentamos saltarnos esas decisiones.

### ¿Puedo obtener los resultados mientras el rastreo sigue en marcha?

Sí. `GET https://webreaderapi.com/api/v1/jobs/{job_id}` devuelve las páginas leídas hasta el momento con un cursor; sigue paginando hasta que el trabajo esté `done` y no quede ningún cursor.

### ¿Puede un rastreo leer más páginas que mi límite?

No. Los créditos se cuentan página a página y el trabajo se detiene al llegar al `limit` que estableciste. Las páginas que omite por robots.txt y las páginas que fallan no consumen créditos.

---

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.
