Prueba
10.000 páginas
3,75 US$
0,38 US$/1K páginas
- Pruébalo con tus URLs reales
- La misma API que el pack más grande
- Los créditos nunca caducan
POST /crawl · hasta 10.000 páginas por trabajo · se respetan robots.txt y Crawl-delay
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.
| 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 |
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.
POST https://webreaderapi.com/api/v1/crawl con la URL de inicio y tus límites. Recibes un job_id al instante.max_depth./read: Markdown, contenido principal, renderizado cuando hace falta.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.
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"))
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:
WebReaderAPI o para todos los robots se omiten y no se cobran.include_paths y exclude_paths aceptan patrones simples como /blog/*; úsalos para evitar páginas de etiquetas, páginas de búsqueda y archivos.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.
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.
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.
10.000 páginas
3,75 US$
0,38 US$/1K páginas
50.000 páginas
14,25 US$
0,28 US$/1K páginas
100.000 páginas
21,75 US$
0,22 US$/1K páginas
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
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.
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.
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.
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.
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.
Desde 0,07 US$/1K páginas · sin KYC
Obtén una clave API