# Crawl API: trasforma un intero sito web in file Markdown

> Crawl API che trasforma un intero sito web in Markdown per il RAG: fino a 10.000 pagine per job, sitemap e robots.txt rispettati, da 0,07 USD/1K pagine. Cripto.

- URL: https://webreaderapi.com/it/crawl-api/
- Ultimo aggiornamento: 2026-10-22
- Editore: WebReaderAPI (https://webreaderapi.com)

Fornisci un URL di partenza e un limite di pagine. Il crawler segue la sitemap del sito e i link nello stesso dominio, legge ogni pagina come Markdown e ti restituisce i risultati pagina per pagina. Un credito per pagina.

**Risposta rapida — Come posso fare il crawl di un intero sito web e ottenere ogni pagina come Markdown?**

Usa una crawl API: invii un URL di partenza e un limite, e ti restituisce ogni pagina del sito come Markdown. **WebReaderAPI** fa il crawl di fino a 10.000 pagine per job all'interno di un dominio, segue la sitemap, robots.txt e Crawl-delay, e addebita un credito per pagina letta, da 0,07 USD/1K pagine a ottobre 2026. Le pagine rifiutate da robots.txt sono gratuite. Senza KYC; paghi in criptovalute.

## Crawl API in breve

| Attributo | Valore |
| --- | --- |
| Avvia un crawl | `POST https://webreaderapi.com/api/v1/crawl` con `url`, `limit`, `max_depth`, `include_paths`, `exclude_paths` |
| Ottieni i risultati | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, paginati con un cursore |
| Ambito | 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 |
| Molti URL separati | `POST https://webreaderapi.com/api/v1/batch`: Fino a 100 URL per job batch |
| Fatturazione | 1 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 |
| Proprietari di siti | Rispettiamo robots.txt: il nostro crawler si identifica come WebReaderAPI, segue le regole scritte per lui o per tutti i robot e non legge una pagina che un sito vieta. Le pagine rifiutate non vengono addebitate |
| Prezzo | 14,25 USD per 50.000 pagine, 50 USD per 500.000 pagine |

## Come funziona un crawl job?

Un crawl è un job in background, perché leggere centinaia di pagine richiede più tempo di quanto dovrebbe durare una singola richiesta HTTP.

1. **Avvio:** `POST https://webreaderapi.com/api/v1/crawl` con l'URL di partenza e i tuoi limiti. Ricevi subito un `job_id`.
2. **Scoperta:** il crawler legge il robots.txt e la sitemap del sito, poi segue i link nello stesso dominio, in ampiezza, fino a `max_depth`.
3. **Lettura:** ogni pagina consentita viene letta con le stesse opzioni di `/read`: Markdown, contenuto principale, rendering quando serve.
4. **Raccolta:** fai polling su `GET https://webreaderapi.com/api/v1/jobs/{job_id}` e scorri i risultati con il cursor mentre il job è in corso, oppure una volta che è `done`.

Il job si ferma al tuo `limit`, così non paghi mai per più pagine di quelle che hai richiesto.

*Python: eseguire il crawl di un sito di documentazione in file 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"))

```

## Quali pagine visita il crawler e quali salta?

Resta nel dominio dell'URL di partenza e salta tutto ciò che il sito chiede ai robot di lasciare stare. In dettaglio:

- **Solo lo stesso dominio.** I link verso altri domini sono elencati nei risultati ma non vengono letti.
- **robots.txt prima di tutto.** Le pagine non consentite per `WebReaderAPI` o per tutti i robot vengono saltate e non addebitate.
- **Crawl-delay rispettato.** Se il sito ne imposta uno, il crawler aspetta quel tempo tra due pagine, quindi un sito grande può richiedere più tempo.
- **I tuoi filtri.** `include_paths` e `exclude_paths` accettano pattern semplici come `/blog/*`; usali per evitare pagine di tag, pagine di ricerca e archivi.
- **Duplicati rimossi.** La stessa pagina raggiunta da due URL, per esempio con parametri di tracciamento, viene letta una volta quando il sito dichiara un URL canonico.

## Devo usare un crawl o un batch?

Usa un crawl quando conosci il sito ma non le pagine; usa un batch quando hai già la lista degli URL. Un crawl scopre le pagine dalla sitemap e dai link. Un batch legge esattamente gli URL che invii, fino a 100 per job, su qualsiasi numero di siti.

Per un aggiornamento settimanale di una knowledge base, uno schema comune è un crawl per costruire l'indice, poi batch delle pagine il cui `lastmod` è cambiato nella sitemap. Così il costo settimanale resta limitato alle pagine che si sono effettivamente mosse.

## Quanto costa eseguire il crawl di un sito?

Un credito per pagina letta, due per le pagine che hanno richiesto un browser. Un sito di documentazione di 1.500 pagine che esegue il rendering sul server costa 1.500 crediti; lo stesso sito costruito come single-page app può costare fino a 3.000.

Tre job tipici, a ottobre 2026: un manuale prodotto di 300 pagine rientra nel pack 10.000 pagine (3,75 USD); dieci siti di documentazione di 2.000 pagine ciascuno rientrano in 50.000 pagine (14,25 USD); un archivio di 400.000 pagine rientra in 500.000 pagine (50 USD). Le pagine saltate e quelle fallite sono gratuite.

## Quale pack si adatta a un crawl?

Dimensiona il pack sul numero di pagine, poi aggiungi un margine per le pagine che richiedono un browser. I crediti non scadono mai, quindi il resto serve per il crawl successivo.

| Piano | Quantità | Prezzo | Prezzo per unità |
| --- | --- | --- | --- |
| Test | 10.000 pagine | 3,75 USD | 0,38 USD/1K pagine |
| Starter | 50.000 pagine | 14,25 USD | 0,28 USD/1K pagine |
| Build | 100.000 pagine | 21,75 USD | 0,22 USD/1K pagine |
| Scale | 500.000 pagine | 50 USD | 0,10 USD/1K 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

**Prima di pagare**

- Ricarica minima 25 USD. Ricarica una volta in criptovalute, poi acquista qualsiasi piano dal tuo saldo.
- Il tuo saldo non ha scadenza e può acquistare crediti pagina in qualsiasi momento. Se un pacchetto costa meno del top-up minimo, l'importo che hai aggiunto solo per raggiungere quel minimo può essere restituito su richiesta entro 30 giorni dal pagamento, in USDT o USDC, purché tu non l'abbia speso. Qualsiasi altro saldo non viene rimborsato salvo che la legge disponga diversamente.
- Accreditato non appena il tuo pagamento è verificato sulla blockchain. Tempo abituale di conferma della rete: 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

## Crawl API: domande frequenti

### Quante pagine può leggere un crawl?

Fino a 10.000 pagine per job, all'interno del dominio dell'URL di partenza. Per un sito più grande, suddividilo in più job con `include_paths`, per esempio uno per sezione.

### Il crawler usa la sitemap?

Sì. Legge la sitemap indicata in robots.txt o nella posizione abituale, poi segue i link sulle pagine che legge. Le pagine elencate solo nella sitemap vengono comunque lette se robots.txt le consente.

### Posso eseguire il crawl di un sito che blocca i crawler AI?

No, con WebReaderAPI. Se robots.txt vieta il nostro crawler o tutti i robot, quelle pagine vengono saltate e non addebitate. Se il sito dichiara `Content-Signal: ai-input=no`, non lo leggiamo per te. Non cerchiamo mai di aggirare queste scelte.

### Posso ottenere i risultati mentre il crawl è ancora in corso?

Sì. `GET https://webreaderapi.com/api/v1/jobs/{job_id}` restituisce le pagine lette finora con un cursor; continua a scorrere finché il job è `done` e non resta alcun cursor.

### Un crawl può leggere più pagine del mio limite?

No. I crediti sono conteggiati pagina per pagina, e il job si ferma quando raggiunge il `limit` che hai impostato. Le pagine saltate per robots.txt e quelle fallite non consumano crediti.

---

WebReaderAPI: WebReaderAPI è un'API web reader per agenti AI che converte qualsiasi pagina web pubblica in Markdown pulito, con pagamento in criptovalute e senza caricare documenti d'identità. I crediti prepagati da 0,07 USD/1K pagine non scadono mai e robots.txt viene rispettato. Senza KYC — niente documento, niente selfie, niente documenti. Paga in criptovalute.
