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
POST /crawl · fino a 10.000 pagine per job · robots.txt e Crawl-delay rispettati
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.
| 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 |
Un crawl è un job in background, perché leggere centinaia di pagine richiede più tempo di quanto dovrebbe durare una singola richiesta HTTP.
POST https://webreaderapi.com/api/v1/crawl con l'URL di partenza e i tuoi limiti. Ricevi subito un job_id.max_depth./read: Markdown, contenuto principale, rendering quando serve.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.
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"))
Resta nel dominio dell'URL di partenza e salta tutto ciò che il sito chiede ai robot di lasciare stare. In dettaglio:
WebReaderAPI o per tutti i robot vengono saltate e non addebitate.include_paths e exclude_paths accettano pattern semplici come /blog/*; usali per evitare pagine di tag, pagine di ricerca e archivi.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.
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.
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.
10.000 pagine
3,75 USD
0,38 USD/1K pagine
50.000 pagine
14,25 USD
0,28 USD/1K pagine
100.000 pagine
21,75 USD
0,22 USD/1K pagine
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
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.
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.
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.
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.
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.
Da 0,07 USD/1K pagine · senza KYC
Ottieni una chiave API