Senza KYC — niente documento, niente selfie, niente documenti. Paga in criptovalute: BTC, USDT, USDC, ETH, SOL, LTC
Lingua: Italiano
Ottieni una chiave API

Caso d'uso · retrieval-augmented generation

Pagine web per RAG: trasforma i siti in Markdown pulito e suddivisibile

Il retrieval lavora su ciò che metti nell'indice. Un Markdown pulito con titoli, metadati e URL di origine dà chunk migliori, meno token sprecati e risposte che possono citare la loro pagina.

Ultimo aggiornamento: · 6 min di lettura

Risposta rapida

Come inserisco le pagine web in una pipeline RAG?

Leggi ogni pagina come Markdown del suo contenuto principale, suddividila lungo i suoi titoli, allega l'URL di origine e il titolo a ogni chunk, poi genera gli embedding e salva. WebReaderAPI gestisce la lettura: una richiesta per pagina, oppure un crawl job per un intero sito fino a 10.000 pagine, a un credito per pagina da 0,07 USD/1K pagine a ottobre 2026. robots.txt viene rispettato. Senza KYC; paghi in criptovalute.

Ingestion RAG con WebReaderAPI

Intero sitoPOST https://webreaderapi.com/api/v1/crawl: Crawling di un sito web per job, fino a 10.000 pagine, seguendo la sua sitemap, il suo robots.txt e il suo Crawl-delay
Lista di URLPOST https://webreaderapi.com/api/v1/batch: Fino a 100 URL per job batch
Per paginaMarkdown del contenuto principale, titolo, autore, data, lingua, conteggio parole
PDFI file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato
Fatturazione1 credito = 1 pagina letta senza browser; 2 crediti quando la pagina richiede un browser per eseguire JavaScript. Una richiesta che fallisce, o che il robots.txt di un sito rifiuta, non viene addebitata
Prezzo14,25 USD per 50.000 pagine; i crediti non scadono mai

Perché un Markdown pulito dà un retrieval migliore?

I chunk fatti di boilerplate si recuperano male. Quando una pagina viene suddivisa con menu, testo dei cookie e footer ancora dentro, molti chunk contengono le stesse parole di navigazione, e la ricerca vettoriale li restituisce per domande non correlate. L'estrazione del contenuto principale rimuove quel rumore prima che tu generi gli embedding.

I titoli contano altrettanto. Un chunk che inizia con ## Refund policy porta con sé il suo argomento, così sia l'embedding sia il modello che lo legge dopo sanno di cosa parla. Il testo semplice perde quel segnale; l'HTML grezzo lo nasconde sotto il markup.

Come è fatta una pipeline di ingestion?

Cinque passaggi, qualunque vector store tu usi:

  1. Raccogli gli URL. Esegui il crawling del sito, oppure invia come batch la lista che hai già.
  2. Leggi come Markdown. Mantieni main_content=true per articoli e documentazione; usa false per le pagine di elenco.
  3. Dividi per heading. Spezza su #, ## e ###, poi riduci le sezioni lunghe al tuo limite di dimensione con un piccolo overlap.
  4. Allega i metadata. Salva url, title, published_at e il percorso degli heading con ogni chunk, così le risposte possono citare la fonte.
  5. Aggiorna. Rileggi le pagine il cui lastmod nella sitemap è cambiato, ed elimina i chunk delle pagine che ora restituiscono un errore.
Python: leggi le pagine e dividile in chunk con la loro fonte
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")

Quanto costa creare e aggiornare un indice?

La creazione costa un credito per pagina, due per le pagine che richiedono un browser. L'aggiornamento costa solo le pagine che rileggi. Tre esempi, ai prezzi di ottobre 2026:

  • L'help center di un prodotto da 800 pagine, aggiornato ogni mese per le pagine cambiate (circa il 10%): 800 crediti una volta, poi circa 80 al mese. 10.000 pagine (3,75 USD) durano anni.
  • Dieci siti di documentazione da 2.000 pagine ciascuno, aggiornati ogni settimana al 5%: 20.000 crediti, poi circa 4.000 al mese. 50.000 pagine (14,25 USD) coprono la creazione e sette mesi di aggiornamenti.
  • Un archivio di notizie da 300.000 articoli che non cambiano mai: 300.000 crediti una volta, che stanno in 500.000 pagine (50 USD).

Embedding e storage sono fatturati dai tuoi provider e non sono inclusi.

Posso indicizzare siti che non vogliono essere indicizzati?

Non tramite WebReaderAPI. Le pagine vietate da robots.txt al nostro crawler, o a tutti i robot, vengono saltate e non vengono addebitate; i siti che dichiarano Content-Signal: ai-input=no non vengono letti per te. Per i tuoi siti o quelli dei partner che bloccano i robot, chiedi al proprietario di consentire WebReaderAPI in robots.txt; la nostra pagina del crawler mostra le righe da aggiungere.

Questo conta anche per i tuoi utenti. Un assistente RAG che cita le fonti è più utile quando quelle fonti hanno acconsentito a essere lette.

Quale pack si adatta a un progetto RAG?

Conta le pagine per creare l'indice, aggiungi l'aggiornamento mensile e scegli il pack che copre qualche mese. I crediti non scadono mai.

Test

10.000 pagine

3,75 USD

0,38 USD/1K pagine

  • Provalo sui tuoi URL reali
  • La stessa API del pack più grande
  • I crediti non scadono mai
Scegli 10.000 pagine

Starter

50.000 pagine

14,25 USD

0,28 USD/1K pagine

  • Un AI agent o un prototipo RAG
  • Esegui il crawling di un sito di documentazione
  • I crediti non scadono mai
Scegli 50.000 pagine

Build

100.000 pagine

21,75 USD

0,22 USD/1K pagine

  • Agent di produzione e pipeline RAG
  • Job batch e di crawling
  • I crediti non scadono mai
Scegli 100.000 pagine

Scale

500.000 pagine

50 USD

0,10 USD/1K pagine

  • Basi di conoscenza di grandi dimensioni
  • Concorrenza più alta su richiesta
  • I crediti non scadono mai
Scegli 500.000 pagine

In ogni piano: Estrarre il contenuto principale · JavaScript rendering quando serve · Le pagine non riuscite e rifiutate non vengono addebitate · I crediti non scadono mai

Ingestion per RAG: domande frequenti

Che dimensione di chunk devo usare?

Dividi prima per heading, poi riduci le sezioni più lunghe di circa 500-1.000 token con un piccolo overlap. I chunk basati sugli heading contengono ciascuno un solo argomento, il che di solito dà risultati di retrieval migliori rispetto a finestre di dimensione fissa sull'intera pagina.

WebReaderAPI crea embedding o memorizza vettori?

No. WebReaderAPI legge le pagine e restituisce Markdown con i metadata. Fai l'embedding con il modello che preferisci e memorizzi nel tuo vector database; la pagina su LangChain e LlamaIndex mostra entrambi.

Come mantengo aggiornato l'indice?

Rileggi solo le pagine che sono cambiate. La maggior parte delle sitemap riporta una data lastmod per ogni URL; confrontala con la tua ultima lettura e invia come batch gli URL cambiati. Le pagine che ora falliscono vanno rimosse dall'indice.

Posso includere i PDF dello stesso sito?

Sì. Un crawl legge i link PDF sullo stesso dominio con gli stessi controlli robots.txt. I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato.

Da 0,07 USD/1K pagine · senza KYC

Ottieni una chiave API