Sin KYC: ni documento de identidad, ni selfie, ni documentos. Paga con criptomonedas: BTC, USDT, USDC, ETH, SOL, LTC
Idioma: Español
Obtén una clave API

Caso de uso · generación aumentada por recuperación

Páginas web para RAG: convierte sitios en Markdown limpio y divisible en chunks

La recuperación trabaja con lo que metes en el índice. Un Markdown limpio con encabezados, metadatos y una URL de origen da mejores chunks, menos tokens desperdiciados y respuestas que pueden citar su página.

Última actualización: · 6 min de lectura

Respuesta rápida

¿Cómo ingiero páginas web en un pipeline de RAG?

Lee cada página como Markdown de su contenido principal, divídela por sus encabezados, adjunta la URL de origen y el título a cada chunk, y luego genera los embeddings y guárdalos. WebReaderAPI se encarga de la lectura: una petición por página, o un trabajo de rastreo (crawl) para un sitio entero de hasta 10.000 páginas, a un crédito por página desde 0,07 US$/1K páginas con fecha de octubre de 2026. Se respeta robots.txt. Sin KYC; paga con criptomonedas.

Ingesta para RAG con WebReaderAPI

Sitio enteroPOST https://webreaderapi.com/api/v1/crawl: Rastrea un sitio web por trabajo, hasta 10.000 páginas, siguiendo su sitemap, su robots.txt y su Crawl-delay
Lista de URLPOST https://webreaderapi.com/api/v1/batch: Hasta 100 URLs por trabajo por lotes
Por páginaMarkdown del contenido principal, título, autor, fecha, idioma, recuento de palabras
PDFsLos archivos PDF de hasta 20 MB y 100 páginas se convierten a Markdown, a 1 crédito por cada bloque de 10 páginas iniciado
Facturación1 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
Precio14,25 US$ por 50.000 páginas; los créditos nunca caducan

¿Por qué un Markdown limpio da mejor recuperación?

Los chunks hechos de texto repetitivo se recuperan mal. Cuando una página se divide con sus menús, el texto de cookies y el pie de página todavía dentro, muchos chunks contienen las mismas palabras de navegación, y la búsqueda vectorial los devuelve para preguntas que no tienen nada que ver. La extracción del contenido principal elimina ese ruido antes de generar los embeddings.

Los encabezados importan igual. Un chunk que empieza con ## Refund policy lleva su tema consigo, así que tanto el embedding como el modelo que lo lea después saben de qué trata. El texto plano pierde esa señal; el HTML en bruto la esconde bajo el marcado.

¿Cómo es un pipeline de ingesta?

Cinco pasos, sea cual sea el vector store que uses:

  1. Reúne las URL. Rastrea el sitio o envía como lote la lista que ya tienes.
  2. Léelo como Markdown. Usa main_content=true para artículos y documentación; usa false para páginas de listado.
  3. Divide por encabezados. Separa en #, ## y ###, y luego corta las secciones largas según tu límite de tamaño con un pequeño solapamiento.
  4. Añade metadatos. Guarda url, title, published_at y la ruta de encabezados con cada chunk, para que las respuestas puedan citar su fuente.
  5. Actualiza. Vuelve a leer las páginas cuyo sitemap lastmod haya cambiado y elimina los chunks de las páginas que ahora devuelvan un error.
Python: lee páginas y divídelas en chunks con su fuente
import os
import re

import requests

API = "https://webreaderapi.com/api/v1/read"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
URLS = [
    "https://docs.example.com/getting-started",
    "https://docs.example.com/billing",
]


def chunks_for(url, max_len=2000):
    page = requests.get(API, headers=HEADERS, params={"url": url}, timeout=90).json()
    if "markdown" not in page:
        return []
    out = []
    for section in re.split(r"\n(?=#{1,3} )", page["markdown"]):
        section = section.strip()
        heading = section.splitlines()[0] if section else ""
        for start in range(0, len(section), max_len):
            out.append({
                "text": section[start:start + max_len],
                "url": page.get("final_url", url),
                "title": page.get("title"),
                "heading": heading,
            })
    return out


all_chunks = [c for u in URLS for c in chunks_for(u)]
print(len(all_chunks), "chunks ready to embed")

¿Cuánto cuesta crear y actualizar un índice?

Crear cuesta un crédito por página, dos en las páginas que necesitan un navegador. Actualizar cuesta solo las páginas que vuelves a leer. Tres ejemplos, con los precios de octubre de 2026:

  • El centro de ayuda de un producto de 800 páginas, actualizado cada mes para las páginas que cambian (alrededor del 10%): 800 créditos una vez y luego unos 80 al mes. 10.000 páginas (3,75 US$) duran años.
  • Diez sitios de documentación de 2.000 páginas cada uno, actualizados cada semana al 5%: 20.000 créditos y luego unos 4.000 al mes. 50.000 páginas (14,25 US$) cubren la creación y siete meses de actualizaciones.
  • Un archivo de noticias de 300.000 artículos que nunca cambian: 300.000 créditos una vez, que caben en 500.000 páginas (50 US$).

El embedding y el almacenamiento los facturan tus propios proveedores y no están incluidos.

¿Puedo indexar sitios que no quieren ser indexados?

No a través de WebReaderAPI. Las páginas que robots.txt no permite para nuestro rastreador, o para todos los robots, se omiten y no se cobran; los sitios que declaran Content-Signal: ai-input=no no se leen por ti. Para tus propios sitios o sitios asociados que bloquean a los robots, pide al propietario que permita WebReaderAPI en robots.txt; nuestra página del rastreador muestra las líneas que hay que añadir.

Esto también importa a tus usuarios. Un asistente RAG que cita fuentes es más útil cuando esas fuentes aceptaron ser leídas.

¿Qué pack encaja en un proyecto RAG?

Cuenta las páginas para crear el índice, suma la actualización mensual y elige el pack que cubra unos cuantos meses. Los créditos no caducan.

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
Elige 10.000 páginas

Starter

50.000 páginas

14,25 US$

0,28 US$/1K páginas

  • Un agente de IA o un prototipo de RAG
  • Rastrear un sitio de documentación
  • Los créditos nunca caducan
Elige 50.000 páginas

Build

100.000 páginas

21,75 US$

0,22 US$/1K páginas

  • Agentes en producción y pipelines de RAG
  • Trabajos de batch y rastreo
  • Los créditos nunca caducan
Elige 100.000 páginas

Scale

500.000 páginas

50 US$

0,10 US$/1K páginas

  • Bases de conocimiento grandes
  • Mayor concurrencia bajo petición
  • Los créditos nunca caducan
Elige 500.000 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

Ingesta para RAG: preguntas frecuentes

¿Qué tamaño de chunk debería usar?

Divide primero por encabezados y luego corta las secciones de más de unos 500 a 1.000 tokens con un pequeño solapamiento. Los chunks basados en encabezados contienen un solo tema cada uno, lo que suele recuperar mejor que ventanas de tamaño fijo sobre toda la página.

¿WebReaderAPI crea embeddings o almacena vectores?

No. WebReaderAPI lee páginas y devuelve Markdown con metadatos. Tú generas los embeddings con el modelo que elijas y los almacenas en tu propia base de datos vectorial; la página de LangChain y LlamaIndex muestra ambos.

¿Cómo mantengo el índice actualizado?

Vuelve a leer solo las páginas que hayan cambiado. La mayoría de los sitemaps incluyen una fecha lastmod por URL; compárala con tu última lectura y envía como lote las URL que hayan cambiado. Las páginas que ahora fallen deben eliminarse del índice.

¿Puedo incluir PDFs del mismo sitio?

Sí. Un rastreo lee los enlaces a PDF del mismo dominio con las mismas comprobaciones de robots.txt. Los archivos PDF de hasta 20 MB y 100 páginas se convierten a Markdown, a 1 crédito por cada bloque de 10 páginas iniciado.

Desde 0,07 US$/1K páginas · sin KYC

Obtén una clave API