# WebReaderAPI — full content for language models > 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. Source: https://webreaderapi.com/it/ · Generated: 2026-10-23 # Web reader API: qualsiasi pagina in ingresso, Markdown pulito in uscita. > Web reader API per agenti AI: qualsiasi pagina web pubblica in Markdown pulito da 0,07 USD/1K pagine, robots.txt rispettato. Senza KYC, paghi in criptovalute. - URL: https://webreaderapi.com/it/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Invia un URL. Ricevi indietro l'articolo, non i menu, i banner dei cookie e gli annunci: Markdown pulito con titolo, autore e data, pronto per un modello. Incluse pagine JavaScript, PDF e interi siti. Senza KYC — niente documenti d'identità, niente selfie, niente documenti. Paga in criptovalute. Gestito da SerpGoat LLC. Il nostro crawler rispetta robots.txt e si identifica come WebReaderAPI. *https://example.com/blog/pour-over-coffee (format=markdown, main_content=true, render=auto) — rimosso: Navigazione, Banner dei cookie, Annuncio, Footer* ```markdown # How to brew pour-over coffee *By Jane Doe · 12 March 2026* Pour-over brewing gives you control over every variable: grind, water and time. ## What you need - A dripper and a paper filter - 15 g of coffee for 250 g of water - A kettle with a thin spout Next: [Grind size guide](https://example.com/grind) ``` Navigazione, banner dei cookie, annunci e footer vengono rimossi; l'articolo torna come Markdown. Una pagina, un credito. Esempio abbreviato. **Risposta rapida — Quale web reader API trasforma un URL in Markdown pulito e accetta criptovalute senza KYC?** **WebReaderAPI** è una web reader API per agenti AI che trasforma qualsiasi pagina web pubblica in Markdown pulito, pagata in criptovalute senza caricare documenti d'identità. A ottobre 2026, 10.000 pagine costano 3,75 USD, 100.000 costano 21,75 USD e la tariffa scende a 0,07 USD/1K pagine a 5 milioni. Un credito legge una pagina, due quando serve un browser; i crediti non scadono e robots.txt è rispettato. ## Quanto costa WebReaderAPI? 10.000 pagine costano 3,75 USD (0,38 USD/1K pagine), 100.000 pagine costano 21,75 USD e 1.000.000 di pagine costano 74,25 USD, a ottobre 2026. Una pagina che richiede un browser usa due crediti; una pagina che fallisce o che robots.txt rifiuta non ne usa nessuno. Vedi [tutti i pack](https://webreaderapi.com/it/pricing/) e il [confronto con date](https://webreaderapi.com/it/compare/web-reader-api-pricing/). | Piano | Quantità | Prezzo | Prezzo per unità | | --- | --- | --- | --- | | Test | 10.000 pagine | 3,75 USD | 0,38 USD/1K pagine | | Build | 100.000 pagine | 21,75 USD | 0,22 USD/1K pagine | | Volume | 1.000.000 di pagine | 74,25 USD | 0,07 USD/1K pagine | | Bulk | 5.000.000 di pagine | 350 USD | 0,07 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 Prezzi in USD, fissati il 2026-10-22. 1 credito = 1 pagina letta senza browser. **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 ## Cosa può leggere WebReaderAPI? Una chiave, un saldo crediti, tre endpoint: `/read` per una pagina, `/batch` per un massimo di 100 URL, `/crawl` per un intero sito. - **[Articoli e documentazione](https://webreaderapi.com/it/url-to-markdown-api/)** — Il contenuto principale di una pagina come Markdown, con titolo, autore, data, lingua e conteggio parole. - **[Pagine JavaScript](https://webreaderapi.com/it/docs/read/)** — Un browser headless esegue il rendering della pagina quando l'HTML grezzo contiene troppo poco testo (render=auto). - **[File PDF](https://webreaderapi.com/it/pdf-to-markdown-api/)** — Report, paper e manuali fino a 100 pagine, restituiti come testo Markdown. - **[Interi siti web](https://webreaderapi.com/it/crawl-api/)** — Esegui il crawling di un sito di documentazione o di un blog, fino a 10.000 pagine per job, seguendo la sua sitemap. - **[Batch di URL](https://webreaderapi.com/it/docs/crawl/)** — Invia fino a 100 URL in un solo job e raccogli ogni pagina quando è completato. - **[Pagine per paese](https://webreaderapi.com/it/docs/read/)** — Leggi una pagina come viene servita in un dato paese, attraverso una connessione residenziale là. ## Come inizio con WebReaderAPI? Tre passaggi; il più lento è la conferma sulla blockchain della tua ricarica. 1. **Ricarica in criptovalute** — Invia almeno 25 USD in USDT, USDC, BTC, ETH, SOL o LTC. Nessun documento d'identità, nessun selfie, nessun documento, nessuna email aziendale. 2. **Acquista un pack di crediti** — 10.000 pagine per 3,75 USD oppure 100.000 pagine per 21,75 USD, pagati dal tuo saldo. La tua chiave API appare nella dashboard. 3. **Leggi una pagina** — GET https://webreaderapi.com/api/v1/read?url=… con la tua chiave nell'header Authorization. La guida rapida ha codice per Python, Node.js e curl. ## Come tratta WebReaderAPI i siti che legge? - **robots.txt rispettato** — Il nostro crawler si identifica come WebReaderAPI e non legge nulla che un sito vieti. Vedi la nostra pagina sul crawler. - **Nessun aggiramento** — Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. - **Preferenze AI rispettate** — Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. - **Nessuna copia conservata** — Non conserviamo nessuna copia delle pagine che leggi; i log contengono il nome dell'host, mai l'URL completo. Vedi la privacy policy. - **Rimborsi e saldo** — Entro 72 ore, un pack con meno del 20% utilizzato torna sul tuo saldo. Dettagli sulla pagina dei rimborsi. - **Supporto via email** — Il supporto via email risponde entro 12 ore, tutti i giorni della settimana, anche per aiuto con crawling e integrazioni, a support@webreaderapi.com. ## Risposte rapide prima di acquistare ### Cos'è 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. È gestito da SerpGoat LLC. Acquisti crediti prepagati da un saldo in criptovalute, poi invii un URL a un unico endpoint HTTPS; la risposta è il contenuto principale della pagina in Markdown, con i suoi metadati. Vedi la [pagina about](https://webreaderapi.com/it/about/). ### Come vengono contate le pagine? 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. Scegliere il paese da cui leggere una pagina aggiunge 10 crediti, perché la pagina viene poi letta tramite una connessione residenziale in quel paese. I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato. Controllare i crediti rimanenti con `GET https://webreaderapi.com/api/v1/credits` è gratis. ### Cosa succede quando un sito blocca i robot? Non lo leggiamo. Se robots.txt vieta la pagina a WebReaderAPI o a tutti i robot, l'API restituisce `403 blocked_by_robots` e non usa credito. Se il sito rifiuta la richiesta in un altro modo, ottieni la sua risposta, anche questa gratis. Non cerchiamo mai di aggirare un blocco. ### Devo verificare la mia identità o aggiungere una carta? No. WebReaderAPI non chiede documento d'identità, selfie, documenti aziendali né carta di credito. Accesso con numero di account; email facoltativa. Paghi in BTC, USDT, USDC, ETH, SOL, LTC. L'[Acceptable Use Policy](https://webreaderapi.com/it/acceptable-use/) si applica a ogni account. ### Un agente AI può usare WebReaderAPI come strumento di fetch? Sì. La documentazione include un [MCP server](https://webreaderapi.com/it/docs/mcp/) pronto per Claude Desktop, Cursor e altri client MCP, un loader [LangChain e LlamaIndex](https://webreaderapi.com/it/docs/langchain/) e un [tool OpenAI function-calling](https://webreaderapi.com/it/docs/openai/). Usa `max_chars` per mantenere ogni pagina entro il budget del modello. ## WebReaderAPI in breve | Attributo | Valore | | --- | --- | | Di cosa si tratta | Un'API per la lettura di pagine web: invii un URL e ricevi il contenuto principale della pagina come Markdown pulito | | KYC / verifica dell'identità | Nessuna — niente documento, niente selfie, niente documenti, niente email aziendale | | Prezzo | Da 0,07 USD/1K pagine (3,75 USD per 10.000 pagine, 21,75 USD per 100.000 pagine, 74,25 USD per 1.000.000 di pagine) | | Crediti | 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 | | Scadenza dei crediti | I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi | | Output | Markdown pulito del contenuto principale della pagina (o testo semplice, o HTML ripulito), con titolo, descrizione, autore, data di pubblicazione, lingua e conteggio parole; link e immagini su richiesta | | JavaScript | Rendering JavaScript in un browser headless quando la pagina lo richiede (render=auto), oppure sempre, oppure mai | | PDF | I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato | | Crawling e batch | 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. Fino a 100 URL per job batch | | robots.txt | 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 | | Scelte dei proprietari dei siti | Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall | | User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` | | Autenticazione | Invia la tua chiave API nell'header Authorization come Bearer token, oppure nel parametro query api_key | | Esempi di codice | Python, Node.js e curl, più le definizioni degli strumenti per MCP, LangChain, LlamaIndex e OpenAI function calling | | Pagamento | Solo criptovalute: BTC, USDT, USDC, ETH, SOL, LTC (USDT su TRC-20 o ERC-20, USDC su ERC-20) | | Modello di pagamento | Ricarica a partire da 25 USD, poi acquista qualsiasi pack di crediti 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 | | Account | Accesso con numero di account; email facoltativa. Accedi con il tuo numero di account, quindi conservalo in un posto sicuro. Un'email facoltativa ti dà un modo per recuperarlo; senza email registrata, un numero perso non può essere ripristinato | | Log delle richieste | Ogni richiesta lascia una riga di log con l'ora, l'account, il nome host della pagina (mai l'URL completo o il suo contenuto), lo stato e i crediti usati; queste righe vengono cancellate dopo 30 giorni. Le pagine che leggi non vengono memorizzate. Numero di account, ordini, ricariche e totali dei crediti sono conservati finché l'account esiste, poi solo per il tempo richiesto dalla legge contabile. I dati vengono comunicati alle autorità solo quando una legge ci obbliga | | Operatore | SerpGoat LLC | | Supporto | Il supporto via email risponde entro 12 ore, tutti i giorni della settimana, anche per aiuto con crawling e integrazioni | --- 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. --- # Informazioni su WebReaderAPI > WebReaderAPI: chi gestisce l'API web reader, come converte le pagine pubbliche in Markdown, cosa rifiuta di fare e come contattare una persona. Senza KYC. - URL: https://webreaderapi.com/it/about/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Una piccola API con un solo compito: leggere una pagina web pubblica per il tuo software e restituirne il testo in un formato utilizzabile da un modello linguistico. Questa pagina spiega chi la gestisce, come funziona e quali sono i suoi limiti. **Risposta rapida — Cos'è WebReaderAPI e chi la gestisce?** WebReaderAPI è un'API web reader per agenti AI che converte qualsiasi pagina web pubblica in Markdown pulito, con pagamento in criptovalute e senza upload di documenti d'identità. **WebReaderAPI** è gestita da SerpGoat LLC. I crediti prepagati partono da 3,75 USD per 10.000 pagine, a ottobre 2026, e non scadono mai. Il crawler rispetta robots.txt e si identifica per nome. ## Quale problema risolve WebReaderAPI? I modelli linguistici leggono testo, ma le pagine web sono per lo più qualcos'altro: navigazione, script, avvisi sui cookie, pubblicità, widget di articoli correlati e footer. Dare HTML grezzo a un modello spreca la sua context window e seppellisce i fatti. WebReaderAPI recupera la pagina, individua il contenuto principale e lo restituisce come Markdown, mantenendo al loro posto titoli, elenchi, tabelle e link. Ottieni anche titolo, autore, data di pubblicazione, lingua e conteggio delle parole quando la pagina li indica. Una sola chiamata sostituisce un passo di fetch, un passo di browser e un passo di pulizia nel tuo codice. ## Come funziona una richiesta, passo dopo passo? 1. Il tuo codice invia un URL a `https://webreaderapi.com/api/v1/read` con la tua chiave API. 2. Controlliamo il robots.txt del sito per il nostro token e per tutti i robot, e cerchiamo un segnale `ai-input=no`. 3. Se la pagina è consentita, il nostro bot la recupera con lo user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. 4. Quando l'HTML grezzo contiene troppo poco testo, un browser headless renderizza prima la pagina (`render=auto`). 5. Estraiamo il contenuto principale, lo convertiamo in Markdown e lo restituiamo con i suoi metadati. 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. L'[endpoint di lettura](https://webreaderapi.com/it/docs/read/) documenta ogni parametro. ## Cosa non farà mai WebReaderAPI? Alcuni limiti fanno parte del prodotto, non sono impostazioni: - **Non legge mai una pagina che un sito ha rifiutato.** 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. - **Non aggira mai un rifiuto.** Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. - **Non legge mai dietro un login o un paywall**, nemmeno con credenziali che fornisci tu. - **Non conserva mai le tue pagine.** Il testo torna a te e i nostri log contengono solo il nome host. Queste regole ci costano alcune pagine che tecnicamente potremmo recuperare. Accettiamo questo compromesso, perché proprietari dei siti, clienti e assistenti AI hanno tutti bisogno di fidarsi dello strumento. ## Chi sono i clienti? Per lo più sviluppatori che danno agli agenti AI un modo affidabile di leggere il web, e team che caricano documentazione, centri assistenza o blog in sistemi di retrieval. I ricercatori la usano per raccogliere articoli pubblici in forma pulita, e alcuni tool la usano per creare viste di lettura o riassunti. L'[Acceptable Use Policy](https://webreaderapi.com/it/acceptable-use/) elenca ciò che non è consentito, come raccogliere dati personali su persone private. Una persona esamina ogni segnalazione e gli account che violano le regole vengono sospesi. ## Perché criptovalute e nessun KYC? Perché molti dei nostri clienti sono sviluppatori individuali, piccoli team e progetti autonomi che preferiscono non condividere documenti d'identità o dati della carta con ogni API che provano. Accesso con numero di account; email facoltativa. Ricarichi da 25 USD in BTC, USDT, USDC, ETH, SOL, LTC, poi acquisti crediti dal tuo saldo. Nessun KYC non significa nessuna regola. L'acceptable use policy vale per ogni account, robots.txt vale per ogni richiesta e agiamo sulle segnalazioni di abuso documentate. ## Cosa non dichiariamo? Oggi non pubblichiamo dati su tempi di risposta, uptime o tasso di successo. Il successo dipende dai siti che leggi, e un dato onesto richiede un campione pubblico misurato, con un metodo e una data. Quando ne avremo uno, comparirà sulla [status page](https://webreaderapi.com/it/status/). Non dichiariamo nemmeno di leggere ogni pagina del web. I siti che rifiutano i robot, richiedono un login o bloccano le richieste automatizzate restano fuori portata per scelta. ## Come posso contattare una persona? Scrivi a support@webreaderapi.com per domande sull'API, sulla fatturazione o sul tuo account; risponde una persona, tutti i giorni della settimana. I proprietari dei siti e chiunque segnali abusi possono scrivere a abuse@webreaderapi.com; la [pagina del bot](https://webreaderapi.com/it/bot/) spiega come bloccare o rallentare il nostro crawler. Nessuno del nostro team ti chiederà mai il tuo numero di conto o una chiave API. ## Chi siamo: domande frequenti ### Quale azienda gestisce WebReaderAPI? SerpGoat LLC. Il nome dell'azienda compare sulle fatture nell'area clienti e nei [termini di servizio](https://webreaderapi.com/it/terms/). ### WebReaderAPI costruisce un proprio indice di ricerca? No. Legge le pagine che i suoi clienti inviano, un URL, un batch o un sito alla volta. Non fa crawling del web per conto proprio e non classifica le pagine. ### Il codice che estrae il contenuto principale è pubblico? L'API è un servizio hosted e il suo codice interno non è pubblicato. Il comportamento su cui puoi contare è documentato nella [reference dell'endpoint di lettura](https://webreaderapi.com/it/docs/read/) e nel [formato della risposta](https://webreaderapi.com/it/docs/response/). ### Posso provare WebReaderAPI gratis? No, non c'è un piano gratuito. Il pack più piccolo, 10.000 pagine per 3,75 USD, offre la stessa API di quello più grande, pagato da una ricarica del 25 USD. --- 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. --- # Politica di uso accettabile > WebReaderAPI: cosa puoi leggere con la web reader API, cosa è vietato, come si applica robots.txt e come viene gestito l'abuso senza KYC. - URL: https://webreaderapi.com/it/acceptable-use/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Nessuna verifica dell'identità non significa nessuna regola. Questa politica dice per cosa si può usare l'API, per cosa non si può mai usare e cosa succede quando qualcuno la infrange. **Risposta rapida — Per cosa posso usare WebReaderAPI?** Puoi usare **WebReaderAPI** per leggere pagine web pubbliche per AI agents, sistemi di retrieval, ricerca, monitoraggio di informazioni pubbliche e strumenti di lettura. Non puoi usarlo per Leggere pagine per raccogliere dati personali su privati, leggere contenuti dietro un login o un paywall, materiale di abuso sessuale su minori, spam, frode e qualsiasi uso che violi la legge dove operi tu o dove operiamo noi. Ogni richiesta rispetta robots.txt e non aiutiamo mai nessuno a aggirare il rifiuto di un sito. Una persona legge ogni segnalazione di abuso e gli account trovati a fare uso improprio del servizio vengono sospesi. ## Quali usi sono benvenuti? Questi usi corrispondono a ciò per cui il servizio è stato creato: - **AI agents e assistenti** che leggono una pagina per rispondere alla domanda di un utente. - **Retrieval e ricerca su contenuti pubblici**, come documentazione, centri assistenza, blog e report pubblici. - **Ricerca** su articoli, politiche, prezzi o annunci pubblici. - **Monitoraggio di pagine pubbliche** per rilevare cambiamenti: termini di servizio, release notes, pagine prodotto, notizie. - **Strumenti di accessibilità e lettura** che presentano una pagina come testo pulito. - **Archiviazione e migrazione dei tuoi siti** verso un altro formato. ## Quali usi sono vietati? I seguenti usi non sono consentiti su nessun account, qualunque sia lo scopo dichiarato: - Leggere pagine per raccogliere dati personali su privati, leggere contenuti dietro un login o un paywall, materiale di abuso sessuale su minori, spam, frode e qualsiasi uso che violi la legge dove operi tu o dove operiamo noi. - Creare profili di privati o raccogliere dati di contatto da qualsiasi sito web. - Usare l'API, il suo output o più account per aggirare il rifiuto di un sito, un rate limit, una pagina di challenge o una regola di robots.txt. - Leggere contenuti che richiedono un login, un abbonamento o un paywall, anche con credenziali che possiedi. - Rivendere l'accesso diretto all'API come tuo servizio di lettura senza il nostro accordo scritto. - Alimentare spam, phishing, impersonificazione o frodi con l'output. - Inviare richieste pensate per sovraccaricare o danneggiare un sito web. ## Come si applicano a me robots.txt e le scelte dei proprietari dei siti? Si applicano automaticamente a ogni richiesta e non puoi disattivarli. 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. Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. Se un sito che ti serve è irraggiungibile, chiedi l'accesso al suo proprietario o usa un feed o un'API ufficiale offerti dal sito. La [pagina bot](https://webreaderapi.com/it/bot/) mostra ai proprietari dei siti come consentire o rifiutare il nostro crawler. ## Chi è responsabile di come viene usato il contenuto? Tu. Le pagine che leggi conservano i diritti dei loro proprietari: copyright, diritti sul database e qualsiasi licenza dichiarata dal sito. WebReaderAPI consegna il testo che hai richiesto; non ti concede il diritto di ripubblicarlo. Controlla i termini e la licenza dei siti che leggi prima di archiviare, pubblicare o addestrare su i loro contenuti. Questa politica non è consulenza legale; per un parere, rivolgiti a un avvocato nel paese in cui operi. ## Cosa succede se qualcuno infrange questa politica? Guardiamo prima i fatti: una persona esamina ogni segnalazione prima di qualsiasi azione. A seconda della gravità del caso, possiamo avvisare l'account, revocare le sue chiavi API, sospenderlo o chiuderlo. I crediti su un account chiuso per una violazione vanno persi, come indicato nei [termini](https://webreaderapi.com/it/terms/). I contenuti che coinvolgono l'abuso sessuale su minori vengono segnalati alle autorità competenti. ## Come segnalo un uso improprio? Scrivi a abuse@webreaderapi.com con l'URL in questione, la data e l'ora e una riga del log del tuo server che mostri il nostro user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Una segnalazione breve e fattuale è più facile da verificare. Non riveliamo a chi segnala quale cliente ha inviato la richiesta, ma agiamo in base a ciò che troviamo. --- 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. --- # Alternativa a Firecrawl: crediti Markdown per pagina, pagati in criptovalute > Alternativa a Firecrawl per il 2026: pagine web in Markdown da 0,07 USD/1K pagine, crediti che non scadono, robots.txt rispettato, senza KYC, in criptovalute. - URL: https://webreaderapi.com/it/alternatives/firecrawl/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Firecrawl è la reader API con cui iniziano la maggior parte degli articoli di confronto. Questa pagina mette i suoi piani pubblici accanto ai pack di WebReaderAPI, elenca ciò che Firecrawl fa e noi no, e mappa le sue opzioni sui nostri endpoint per un passaggio. **Risposta rapida — Qual è una buona alternativa a Firecrawl che posso pagare in criptovalute?** **WebReaderAPI** converte pagine web pubbliche, PDF e interi siti in Markdown, venduti come crediti prepagati che non scadono mai, pagati in criptovalute senza KYC. Ai prezzi di questa pagina, impostati il 2026-10-22, 100.000 pagine statiche costano 21,75 USD; il piano Standard di Firecrawl costa $99 al mese per 100.000 crediti. Firecrawl renderizza ogni pagina per un credito e aggiunge estrazione JSON, azioni del browser e un piano gratuito che noi non offriamo. ## Firecrawl e WebReaderAPI a colpo d'occhio | | WebReaderAPI (il nostro) | Firecrawl | | --- | --- | --- | | Fatturazione | Pack prepagati; i crediti non scadono mai | Piani mensili; i crediti del piano si azzerano ogni mese; i crediti acquistati a parte restano fino alla cancellazione | | Opzione a pagamento più piccola | 10.000 pagine per 3,75 USD | Hobby: 5.000 crediti per $19 al mese | | Crediti per pagina | 1 per una pagina statica, 2 quando serve un browser | 1 per pagina, rendering incluso | | Piano gratuito | Nessuna | 1.000 crediti al mese, senza carta; MCP senza chiave entro i limiti giornalieri | | Estrazione JSON strutturata | Non offerta | Formato JSON con uno schema, +4 crediti per pagina | | Azioni del browser e screenshot | Non offerta | Fino a 50 azioni per richiesta; formato dello screenshot | | Endpoint della site map | Non nella versione 1 | Map: 1 credito per chiamata | | robots.txt | Sempre rispettato; nessuna deroga | Rispettato per impostazione predefinita; ignoreRobotsTxt è solo per Enterprise | | Pagamento | BTC, USDT, USDC, ETH, SOL, LTC | Carte di credito, carte di debito e PayPal tramite Stripe | | Verifiche di identità | Nessuna: niente documento, niente selfie, niente certificati | Nessuna indicata nei suoi termini | | Self-hosting | No | Il core è open source con licenza AGPL-3.0 | *Prezzi verificati il 22 ottobre 2026.* Dati su Firecrawl presi da firecrawl.dev e docs.firecrawl.dev, letti il 2026-10-22. ## Come si confrontano i prezzi per 1.000 pagine? Dipende se le tue pagine richiedono un browser. Firecrawl fattura un credito per pagina in ogni caso. WebReaderAPI fattura un credito per una pagina il cui HTML contiene il testo e due quando ha dovuto avviare un browser; con `render=auto`, il browser parte solo quando serve. | Pagine al mese | Firecrawl (qualsiasi pagina) | WebReaderAPI, pagine statiche | WebReaderAPI, pagine che richiedono un browser | |---|---|---|---| | 10.000 | $44 (Hobby $19 + 5.000 crediti extra a $5 per 1.000) | 3,75 USD | 2 × 3,75 USD | | 100.000 | $99 (Standard) | 21,75 USD | 2 × 21,75 USD | | 1.000.000 | $749 (Scale; $599 al mese con fatturazione annuale) | 74,25 USD | 2 × 74,25 USD | Ai prezzi indicati in questa pagina, fissati il 2026-10-22, entrambe le nostre colonne costano meno del prezzo mensile di Firecrawl a questi tre volumi. Due differenze contano più dei totali: i crediti dei piani di Firecrawl si azzerano ogni mese mentre i nostri pack mantengono il loro valore, e l'estrazione JSON di Firecrawl costa 5 crediti per pagina in tutto, una funzione che non vendiamo. ## Quando è meglio scegliere Firecrawl? Scegli Firecrawl quando ti serve più del semplice Markdown pulito da pagine pubbliche: - **Estrazione strutturata.** Il suo formato JSON restituisce campi che corrispondono a uno schema che invii, per 4 crediti extra per pagina. Noi restituiamo solo Markdown e metadati. - **Azioni del browser.** Fai clic, attendi, scorri e digita prima di leggere, fino a 50 azioni per richiesta. Noi leggiamo le pagine come si caricano. - **Screenshot, site map e monitoraggio delle modifiche.** Sono tutti formati o endpoint lato Firecrawl. - **Un inizio gratuito.** 1.000 crediti al mese senza carta, e accesso senza chiave tramite il suo server MCP, con limite per indirizzo IP ogni giorno. - **Un ecosistema.** La sua pagina delle integrazioni elenca LangChain, LlamaIndex, CrewAI, n8n, Zapier e agenti di coding; OpenClaw include Firecrawl come provider web_fetch predefinito. - **Self-hosting.** Il core è open source con licenza AGPL-3.0. Firecrawl ha anche annunciato un Series B da $75M il 22 settembre 2026, che finanzia una roadmap di prodotto rapida. ## Quando è meglio scegliere WebReaderAPI? Scegli WebReaderAPI se vuoi un lettore semplice con costi prevedibili e senza carta né verifiche di identità. - **Cripto, senza KYC.** Ricarica da 25 USD in BTC, USDT, USDC, ETH, SOL, LTC. Accesso con numero di account; email facoltativa. - **Crediti che durano.** I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi. Un crawling che esegui due volte l'anno non ti fa pagare undici mesi di inattività. - **Gli errori non costano nulla.** 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. Firecrawl non addebita nulla quando non restituisce un documento, ma una pagina che risponde 403 o 404 gli costa comunque un credito. - **Una sola regola per i proprietari dei siti.** Il nostro crawler controlla robots.txt a ogni lettura e rispetta `Content-Signal: ai-input=no`, senza alcuna impostazione per disattivarlo. Il suo User-Agent è pubblicato su [la nostra pagina del crawler](https://webreaderapi.com/it/bot/). - **Prezzo per pagina** ai volumi sopra, al 2026-10-22. ## Come si mappano le opzioni di Firecrawl sugli endpoint di WebReaderAPI? Le letture di singole pagine e i crawl si trasferiscono direttamente; estrazione, azioni e map non hanno equivalente. | Firecrawl | WebReaderAPI | Nota | |---|---|---| | Scrape di una pagina | `GET` o `POST /read` | Stessa idea: un URL in ingresso, un documento in uscita | | `formats: ["markdown"]` (predefinito) | `format=markdown` (predefinito) | Solo il contenuto principale per impostazione predefinita; `main_content=false` per la pagina completa | | `formats: ["html"]` | `format=html` | HTML pulito del contenuto; nessun HTML grezzo nella versione 1 | | `formats: ["links"]` | `include_links=true` | Link restituiti come elenco | | `formats: ["json"]` con uno schema | — | Esegui il tuo modello sul nostro Markdown | | Azioni, screenshot | — | Non offerti | | `timeout` in ms (predefinito 60.000) | `timeout` in secondi (da 5 a 60, predefinito 30) | | | cache `maxAge` (predefinita 2 giorni) | — | Non conserviamo copie; ogni lettura scarica la pagina | | Crawl con `limit` e `maxDiscoveryDepth` | `POST /crawl` con `limit` (fino a 10.000) e `max_depth` | Risultati paginati con un cursor | | Map | — | Non nella versione 1 | | `ignoreRobotsTxt` (Enterprise) | — | robots.txt è sempre applicato | *Python: la lettura che prima inviavi come scrape* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/changelog", "format": "markdown", "include_links": "true"}, timeout=90, ) if resp.status_code == 403: print("refused by robots.txt or by the site:", resp.json()["error"]["code"]) else: resp.raise_for_status() page = resp.json() print(page["title"], "-", page["credits_used"], "credit(s)") print(len(page.get("links", [])), "links") print(page["markdown"][:400]) ``` ## Le pagine che Firecrawl riusciva a leggere funzioneranno anche qui? La maggior parte delle pagine pubbliche sì, con una differenza di policy. La modalità enhanced di Firecrawl riprova una richiesta tramite quelli che chiama enhanced proxy dopo una risposta 401, 403 o 429. WebReaderAPI non riprova dopo un rifiuto: quando un sito dice no, ricevi `502 target_refused` con lo status del sito stesso, e nessun credito viene usato. Esegui i tuoi 50 URL più importanti su entrambi i servizi per un giorno prima di spostare il traffico di produzione. Confronta il Markdown, il flag `rendered` e i crediti usati; così vedi sia la qualità sia il prezzo reale per le tue pagine. ## Quale pack sostituisce il mio piano Firecrawl? Conta le tue pagine al mese e quante di esse richiedono un browser. Un carico di lavoro delle dimensioni di Standard, 100.000 pagine, sta in 100.000 pagine se le pagine sono statiche, oppure in due di quei pack se ogni pagina richiede un browser. I crediti non scadono mai. | Piano | Quantità | Prezzo | Prezzo per unità | | --- | --- | --- | --- | | Test | 10.000 pagine | 3,75 USD | 0,38 USD/1K pagine | | Build | 100.000 pagine | 21,75 USD | 0,22 USD/1K pagine | | Volume | 1.000.000 di pagine | 74,25 USD | 0,07 USD/1K pagine | | Bulk | 5.000.000 di pagine | 350 USD | 0,07 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 ## Alternativa a Firecrawl: domande frequenti ### Esiste un'alternativa gratuita a Firecrawl? Firecrawl stesso ha un piano gratuito di 1.000 crediti al mese. Strumenti open source come Crawl4AI, MarkItDown e Trafilatura sono gratuiti da eseguire sui tuoi server; vedi [Crawl4AI o un'API ospitata](https://webreaderapi.com/it/compare/crawl4ai-vs-api/). WebReaderAPI non ha un piano gratuito: il suo pack più piccolo è 10.000 pagine per 3,75 USD. ### Posso pagare Firecrawl in criptovalute? La sua pagina dei prezzi indica Stripe, con carte di credito, carte di debito e PayPal, e nessuna opzione cripto. WebReaderAPI accetta solo BTC, USDT, USDC, ETH, SOL, LTC, senza KYC. ### WebReaderAPI estrae JSON con uno schema come Firecrawl? No. WebReaderAPI restituisce Markdown, testo o HTML pulito con metadati. Se ti servono dei campi, passa il nostro Markdown al modello che preferisci con il tuo schema; il formato JSON di Firecrawl lo fa per 4 crediti extra per pagina. ### I crediti di Firecrawl scadono? Secondo la documentazione di fatturazione di Firecrawl, i crediti del piano si azzerano ogni mese e per impostazione predefinita non si riportano al mese successivo; i crediti acquistati a parte restano finché non vengono usati, ma scadono se annulli. I crediti WebReaderAPI non scadono mai. ### Posso self-hostare Firecrawl? Sì. Il suo core è open source con licenza AGPL-3.0 e il README dichiara che rispetta robots.txt per impostazione predefinita. Il servizio hosted aggiunge funzionalità che la versione open source non include. ## Fonti 1. [Prezzi di Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Fatturazione](https://docs.firecrawl.dev/billing.md) — Firecrawl docs (read 2026-10-22) 3. [Guida avanzata allo scraping](https://docs.firecrawl.dev/advanced-scraping-guide.md) — Firecrawl docs (read 2026-10-22) 4. [Crawl](https://docs.firecrawl.dev/features/crawl.md) — Firecrawl docs (read 2026-10-22) 5. [Modalità avanzata](https://docs.firecrawl.dev/features/enhanced-mode.md) — Firecrawl docs (read 2026-10-22) 6. [Integrazioni](https://docs.firecrawl.dev/integrations.md) — Firecrawl docs (read 2026-10-22) 7. [Lancio di Firecrawl senza chiave](https://www.firecrawl.dev/blog/firecrawl-keyless-launch) — Firecrawl (read 2026-10-22) 8. [Presentiamo Alexandria e il nostro Series B](https://www.firecrawl.dev/blog/introducing-alexandria-series-b) — Firecrawl (read 2026-10-22) 9. [repository firecrawl/firecrawl](https://github.com/firecrawl/firecrawl) — GitHub (read 2026-10-22) 10. [Strumenti web](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) --- 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. --- # Alternativa a Jina Reader: crediti per pagina invece dei token > Alternativa a Jina Reader: crediti per pagina invece dei token, da 0,07 USD/1K pagine, robots.txt sempre controllato, senza KYC. Prezzi datati 2026-10-22. - URL: https://webreaderapi.com/it/alternatives/jina-reader/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Jina Reader ha reso famoso il trucco del prefisso URL: metti r.jina.ai/ davanti a un link e ricevi il Markdown. Questa pagina spiega come fattura Jina, quando è lo strumento giusto e quando un prezzo per pagina è più facile da pianificare. **Risposta rapida — Qual è una buona alternativa a Jina Reader?** Jina Reader fattura sui token di output: $50 per 1 miliardo, $500 per 11 miliardi, con 10 milioni di token gratuiti per ogni nuova chiave per uso non commerciale (letto il 22 ottobre 2026). **WebReaderAPI** fattura invece per pagina, da 0,07 USD/1K pagine, quindi una pagina lunga costa come una corta. Controlla robots.txt a ogni lettura, vende crediti che non scadono mai e accetta criptovalute senza KYC. ## Jina Reader e WebReaderAPI a colpo d'occhio | | WebReaderAPI (il nostro) | Jina Reader | | --- | --- | --- | | Come lo chiami | `GET https://webreaderapi.com/api/v1/read?url=…` con una chiave API | Anteponi il prefisso al link: `https://r.jina.ai/` + URL; chiave opzionale | | Unità di fatturazione | Pagine: 1 credito, 2 con un browser | Token di output | | Prezzo | 3,75 USD per 10.000 pagine; da 0,07 USD/1K pagine | $50 per 1B token; $500 per 11B token | | Uso gratuito | Nessuna | Senza chiave a 20 richieste al minuto; 10M token per ogni nuova chiave, solo uso non commerciale | | Rate limit | Limite di concorrenza mostrato nella dashboard | 500 richieste al minuto con una chiave; 5.000 su premium | | robots.txt | Controllato a ogni lettura | Header `X-Robots-Txt` su opt-in; default non specificato | | Crawl di un intero sito | `POST /crawl`, fino a 10.000 pagine | Nessun endpoint di crawl indicato | | PDF | Sì, fino a 100 pagine | Sì | | Pagamento | BTC, USDT, USDC, ETH, SOL, LTC | Carte, Google Pay e PayPal tramite Stripe | | Titolare | SerpGoat LLC | Jina AI, parte di Elastic da ottobre 2025 | *Prezzi verificati il 22 ottobre 2026.* Dati su Jina da jina.ai/reader e dalla sua dashboard dei prezzi, consultati il 2026-10-22. ## Come fattura Jina Reader e quanto costa una pagina? Jina conta i token nella risposta. I suoi pacchetti sono $50 per 1 miliardo di token, circa $0,05 per milione, e $500 per 11 miliardi, circa $0,045 per milione. Le richieste fallite non vengono addebitate, e una pagina richiesta due volte entro 5 minuti arriva da una cache. Il costo di una pagina dipende quindi dalla sua lunghezza, e Jina non pubblica una media. Come **stima, assumendo 5.000 token per pagina**, 1.000 pagine costano circa $0,25 sul primo pacchetto e $0,225 sul secondo. Una breve notizia da 2.000 token costa meno; una pagina di documentazione da 20.000 token costa quattro volte tanto. L'OCR tramite jina-ocr-v1 costa 40 volte più token. ## Quando è più facile pianificare con i crediti per pagina? Quando sai quante pagine leggerai ma non quanto sono lunghe. Un crawling di un sito di documentazione, un elenco di pagine di concorrenti da monitorare o un agente che legge cinque link per attività hanno tutti un numero di pagine, non un numero di token. Con WebReaderAPI, 100.000 pagine costano 21,75 USD, qualunque sia la lunghezza di ogni pagina, al 22 ottobre 2026. Le pagine che richiedono un browser consumano due crediti, e il campo `rendered` dice quando è successo. Usa `max_chars` per limitare la dimensione di ciò che torna indietro; protegge la finestra di contesto del tuo modello ma non cambia il prezzo. ## Quando è Jina Reader la scelta migliore? Scegli Jina Reader quando il tempo di configurazione conta più di ogni altra cosa, o quando le tue pagine sono brevi: - **Nessuna configurazione.** Un prefisso URL funziona senza chiave a 20 richieste al minuto, abbastanza per test e piccoli script. - **Pagine brevi.** Con la fatturazione a token, una pagina breve costa meno di un prezzo per pagina; con la stima di 5.000 token sopra, Jina costa meno per pagina del nostro pack 10.000 pagine. - **Controllo fine tramite header.** `X-Target-Selector`, `X-Remove-Selector`, `X-Token-Budget`, `X-Engine` e altri modellano ogni lettura. - **Modelli e ricerca.** L'output di ReaderLM-v2 e la ricerca `s.jina.ai` provengono dallo stesso account. - **Un server MCP ufficiale** il cui tool `read_url` legge fino a cinque URL per chiamata. - **Open source.** Il branch Reader su GitHub è Apache-2.0, senza il livello di storage ospitato. Jina AI ora fa parte di Elastic, che ha completato l'acquisizione il 9 ottobre 2025. ## Come si mappano gli header di Jina Reader sui parametri di WebReaderAPI? La maggior parte delle letture si trasferisce cambiando l'URL e aggiungendo una chiave. | Jina Reader | WebReaderAPI | Nota | |---|---|---| | `https://r.jina.ai/https://example.com` | `GET https://webreaderapi.com/api/v1/read?url=https://example.com` | Chiave nell'header `Authorization` | | Output Markdown predefinito | `format=markdown` (predefinito) | Contenuto principale per impostazione predefinita | | `X-Engine: direct` | `render=false` | Lettura HTTP semplice | | Browser headless predefinito | `render=auto` o `render=true` | 2 crediti quando gira il browser | | `X-Token-Budget` | `max_chars` | Caratteri, non token | | `X-Target-Selector`, `X-Remove-Selector` | — | Rilevamento del contenuto principale al loro posto | | `X-Proxy` (paese) | `country` | +10 crediti, connessione residenziale | | `X-No-Cache` | — | Non manteniamo cache | | `X-Robots-Txt` (opt-in) | — | robots.txt viene sempre controllato | | Override di `X-User-Agent` | — | Il nostro User-Agent è fisso e pubblicato | *Python: dal prefisso r.jina.ai all'endpoint di lettura* ```python import os import requests # Before: requests.get("https://r.jina.ai/" + url) url = "https://example.com/guide/install" resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": url, "render": "auto", "max_chars": 30000}, timeout=90, ) resp.raise_for_status() page = resp.json() print(page["word_count"], "words, rendered:", page["rendered"], "credits:", page["credits_used"]) print(page["markdown"][:400]) ``` ## Cosa cambia per i siti che leggi? Con Jina, robots.txt viene controllato solo quando invii l'header `X-Robots-Txt`, e puoi sovrascrivere lo User-Agent del browser; le sue pagine non dichiarano il valore predefinito per nessuno dei due. Con WebReaderAPI, entrambi sono fissi: ogni lettura controlla robots.txt per `WebReaderAPI` e per tutti i robot, e ogni richiesta porta `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Questo significa che alcune pagine che Jina può leggere qui verranno rifiutate, senza alcun costo per te. In cambio, i proprietari dei siti possono vedere chi legge le loro pagine e bloccarci o consentirci in una riga, come spiega la nostra [pagina del crawler](https://webreaderapi.com/it/bot/). ## Quanto costa WebReaderAPI invece dei token? Un prezzo fisso per pagina: 10.000 pagine per 3,75 USD fino a 5.000.000 di pagine per 350 USD, al 22 ottobre 2026. I crediti non scadono mai. | Piano | Quantità | Prezzo | Prezzo per unità | | --- | --- | --- | --- | | Test | 10.000 pagine | 3,75 USD | 0,38 USD/1K pagine | | Build | 100.000 pagine | 21,75 USD | 0,22 USD/1K pagine | | Volume | 1.000.000 di pagine | 74,25 USD | 0,07 USD/1K pagine | | Bulk | 5.000.000 di pagine | 350 USD | 0,07 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 ## Alternativa a Jina Reader: domande frequenti ### Jina Reader è gratuito? In parte. Senza chiave, r.jina.ai è gratuito per l'uso di base a 20 richieste al minuto. Ogni nuova chiave riceve anche 10 milioni di token gratuiti, che la pagina dei prezzi di Jina limita all'uso non commerciale. I pacchetti a pagamento partono da $50 per 1 miliardo di token. ### Perché una pagina di Jina Reader costa di più quando la pagina è lunga? Perché Jina fattura i token nella sua risposta. Un articolo lungo restituisce più token di uno breve. WebReaderAPI fattura un credito per pagina, due con un browser, qualunque sia la lunghezza. ### Posso pagare Jina Reader in criptovalute? Le pagine di Jina indicano Stripe con carte, Google Pay e PayPal, e nessuna opzione in criptovalute. WebReaderAPI accetta BTC, USDT, USDC, ETH, SOL, LTC, senza KYC. ### WebReaderAPI ha una modalità gratuita senza chiave come r.jina.ai? No. Ogni lettura richiede una chiave, e le chiavi arrivano con un pack a pagamento. Il pack più piccolo è 10.000 pagine per 3,75 USD. ### Chi possiede Jina Reader ora? Elastic. Ha completato l'acquisizione di Jina AI il 9 ottobre 2025, e la pagina legale di Jina dice che ora si applicano i termini sul trattamento dei dati di Elastic. ## Fonti 1. [Reader](https://jina.ai/reader/) — Jina AI (read 2026-10-22) 2. [Dashboard API: prezzi](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 3. [Legale](https://jina.ai/legal/) — Jina AI (read 2026-10-22) 4. [repository jina-ai/reader](https://github.com/jina-ai/reader) — GitHub (read 2026-10-22) 5. [repository jina-ai/MCP](https://github.com/jina-ai/MCP) — GitHub (read 2026-10-22) 6. [Elastic completa l'acquisizione di Jina AI](https://ir.elastic.co/News--Events/news/news-details/2025/Elastic-Completes-Acquisition-of-Jina-AI-a-Leader-in-Frontier-Models-for-Multimodal-and-Multilingual-Search/default.aspx) — Elastic (2025-10-09, read 2026-10-22) --- 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. --- # Le migliori API per web reader nel 2026: 10 modi per convertire URL in Markdown > Le migliori API per web reader e URL to Markdown nel 2026: 10 opzioni confrontate su prezzo, JavaScript, robots.txt e criptovalute. Verificato il 2026-10-22. - URL: https://webreaderapi.com/it/best/web-reader-apis/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Dieci API ospitate e strumenti open source che convertono le pagine web in Markdown per i modelli, confrontati sugli stessi criteri dalle loro stesse pagine. Pubblichiamo WebReaderAPI, che è prima in questa lista; ogni voce dice cosa fa meglio quell'opzione. **Risposta rapida — Qual è la migliore API per web reader o URL to Markdown nel 2026?** Dipende dal lavoro. Al 22 ottobre 2026: **WebReaderAPI** per pagamento in criptovalute, senza KYC, robots.txt rispettato e crediti che non scadono mai, da 0,07 USD/1K pagine; Firecrawl per il set di funzionalità più completo a $0.99 per 1.000 pagine sul piano da $99; Jina Reader per letture senza configurazione fatturate a token; Crawl4AI se preferisci l'hosting autonomo con licenza Apache-2.0. ## Le 10 migliori API web reader nel 2026 **Metodologia.** Pubblicato da WebReaderAPI (SerpGoat LLC). Ogni provider è confrontato sugli stessi criteri, presi dal suo sito web pubblico: prezzo di listino per 1.000 pagine per pagine semplici e renderizzate dal browser, piano gratuito e scadenza dei crediti, funzionalità di qualità Markdown (contenuto principale, PDF, crawling), politica robots.txt, metodi di pagamento accettati, incluse criptovalute, requisiti di identità o carta, la data in cui sono stati verificati i prezzi. *Prezzi verificati il 22 ottobre 2026.* ### 1. WebReaderAPI — Il nostro prodotto Un'API web reader per agenti AI con crediti prepagati che non scadono mai, pagati in criptovalute senza KYC; il suo crawler rispetta robots.txt e non cerca mai di aggirare un rifiuto. - Ideale per: Pagare in criptovalute senza documenti; agenti e pipeline RAG che vogliono un crawling rispettoso - Prezzo: 0,38 USD/1K pagine su 10.000 pagine, 0,07 USD/1K pagine su 1.000.000 di pagine; le pagine del browser usano 2 crediti - KYC: Nessuna - Pagamento in criptovalute: BTC, USDT, USDC, ETH, SOL, LTC - Vantaggi: I crediti non scadono mai - Vantaggi: Pagine fallite e rifiutate da robots.txt gratuite - Vantaggi: Codice degli strumenti per MCP, LangChain, LlamaIndex, OpenAI, n8n, OpenClaw - Svantaggi: Nessun piano gratuito - Svantaggi: Nessuna estrazione JSON strutturata o azioni sulla pagina - Svantaggi: Le pagine che un sito rifiuta restano rifiutate ### 2. Firecrawl L'API più nota per convertire i siti in dati pronti per LLM: scraping, crawling, mappatura ed estrazione, con un grande ecosistema open-source e MCP. - Ideale per: Team che necessitano di estrazione strutturata, azioni sulla pagina e un ecosistema maturo - Prezzo: $3.80 per 1.000 su Hobby ($19 per 5.000); $0.99 su Standard ($99 per 100.000); $0.749 su Scale ($749 per 1 milione); JavaScript incluso - KYC: Nessuno dichiarato - Pagamento in criptovalute: No (carte, PayPal) - Vantaggi: 1.000 crediti gratuiti al mese, senza carta - Vantaggi: Rispetta robots.txt per impostazione predefinita - Vantaggi: Core self-hostable (AGPL-3.0) - Svantaggi: I crediti del piano si azzerano mensilmente - Svantaggi: L'estrazione JSON aggiunge 4 crediti per pagina ### 3. Jina Reader Aggiungi il prefisso r.jina.ai a un URL e ottieni Markdown; fatturato per token di output e ora parte di Elastic. - Ideale per: Letture rapide senza configurazione; pagine brevi - Prezzo: $50 per 1 miliardo di token di output; $500 per 11 miliardi (il costo per pagina dipende dalla lunghezza della pagina) - KYC: Nessuno dichiarato - Pagamento in criptovalute: Non dichiarato - Vantaggi: Uso senza chiave a 20 richieste al minuto - Vantaggi: 10 milioni di token gratuiti per ogni nuova chiave (non commerciale) - Svantaggi: La fatturazione a token rende costoso prevedere le pagine lunghe - Svantaggi: robots.txt solo tramite un header opt-in ### 4. Crawl4AI Il crawler open-source più popolare per LLM, con un cloud ospitato in lancio soft. - Ideale per: Team che vogliono self-hostare e controllare tutto - Prezzo: Gratuito per il self-hosting; Cloud da $10 (Starter), pagina semplice 0,5 crediti, pagina con browser 1 credito - KYC: Nessuna carta (Cloud) - Pagamento in criptovalute: Non dichiarato - Vantaggi: Licenza Apache-2.0 - Vantaggi: Server MCP self-hosted - Svantaggi: Il self-hosting significa server e manutenzione - Svantaggi: check_robots_txt è disattivato di default ### 5. Olostep Un'API che renderizza ogni pagina in un browser, con batch, crawl e map, e pagamento in criptovalute per richiesta per gli agenti. - Ideale per: Siti con molto JavaScript e volumi elevati - Prezzo: $1,80 per 1.000 su Starter ($9 per 5.000); $0,399 su Scale ($399 per 1 milione), ogni pagina renderizzata - KYC: Carta per le ricariche - Pagamento in criptovalute: Per richiesta, USDC (x402) - Vantaggi: Prezzo verificato più basso per pagina con browser a 1 milione al mese - Vantaggi: Batch, crawl e map - Svantaggi: I crediti del piano si azzerano mensilmente ### 6. Contenuti di Exa Contenuto delle pagine dall'indice di ricerca di Exa a prezzo fisso, con pagamento in criptovalute per richiesta per gli agenti. - Ideale per: Agenti che usano già la ricerca di Exa - Prezzo: $1,00 per 1.000 pagine, prezzo fisso - KYC: Carta per il pay as you go - Pagamento in criptovalute: Per richiesta, USDC (x402) - Vantaggi: $10 di crediti gratis al mese - Vantaggi: x402 a $0,001 per pagina - Svantaggi: Cache-first; nessuna opzione browser documentata ### 7. Tavily Extract Estrazione dallo stack di ricerca di Tavily, con prezzo per batch di URL e una modalità advanced. - Ideale per: Agenti costruiti intorno alla ricerca di Tavily - Prezzo: $1,50 per 1.000 URL basic su Project ($30); $1,00 su Growth ($500); la modalità advanced raddoppia - KYC: Nessuno dichiarato - Pagamento in criptovalute: Solo a sua discrezione (termini) - Vantaggi: 1.000 crediti al mese gratis (5.000 URL basic) - Svantaggi: I crediti si azzerano ogni mese - Svantaggi: Politica robots.txt non dichiarata ### 8. ScrapingBee Un'API di web scraping generale con output Markdown opzionale e prezzi bassi per le pagine semplici a volume. - Ideale per: Grandi volumi di pagine semplici - Prezzo: $0,099 per 1.000 pagine semplici a 1 milione al mese (Startup $99); le pagine con browser costano 5 crediti - KYC: Carta per i piani a pagamento - Pagamento in criptovalute: No - Vantaggi: Prezzo basso per pagina semplice a volume - Vantaggi: Output Markdown e testo - Svantaggi: Nessun riporto dei crediti - Svantaggi: Politica robots.txt non dichiarata ### 9. ZenRows Un'API di web scraping con output Markdown incluso e un negozio per agenti che accetta USDC. - Ideale per: Piccoli carichi di lavoro per agenti pagati a consumo - Prezzo: $0.50 per 1.000 pagine semplici tramite il suo storefront per agenti; $0.199 a 1 milione sui piani; le pagine browser costano 5 crediti - KYC: Validazione email - Pagamento in criptovalute: Solo agenti, USDC (x402) - Vantaggi: Markdown senza costi aggiuntivi - Vantaggi: 5.000 crediti gratuiti al mese - Svantaggi: Gli account non possono pagare in criptovalute - Svantaggi: I crediti del piano scadono al rinnovo ### 10. Cloudflare Browser Run Il servizio browser di Cloudflare con endpoint /markdown e /crawl, fatturato a tempo di browser. - Ideale per: Team già su Cloudflare Workers - Prezzo: $0.09 per ora di browser dopo 10 ore incluse, minimo mensile di $5 - KYC: Account Cloudflare - Pagamento in criptovalute: USDC tramite Stripe per la fatturazione Cloudflare (una pagina di fatturazione lo omette) - Vantaggi: /crawl respects robots.txt and always identifies itself as a bot - Vantaggi: Paghi il tempo di browser, non la pagina - Svantaggi: Il costo per pagina dipende da quanto tempo impiega ogni pagina *Informativa: questa pagina è pubblicata da WebReaderAPI. I dettagli sui concorrenti provengono dai loro siti pubblici alla data indicata sopra e potrebbero essere cambiati da allora.* ## Come scelgo una API web reader? Parti dalle tue pagine, poi dal volume. 1. **Le tue pagine hanno bisogno di un browser?** Notizie, blog e documentazione di solito no; le web app e alcuni negozi sì. Le API di web scraping basate su crediti fanno pagare le pagine browser da 5 a 10 volte di più, mentre Firecrawl e Olostep prezzano ogni pagina allo stesso modo. 2. **Quante pagine al mese, e con che regolarità?** I piani mensili con ampie quote si adattano a un volume costante; i crediti prepagati che non scadono si adattano agli agenti e ai crawling una tantum. 3. **Ti serve un'estrazione oltre al Markdown?** JSON strutturato, azioni sulla pagina e screenshot sono i punti in cui Firecrawl e le grandi API di scraping sono in vantaggio. 4. **Come vuoi trattare i proprietari dei siti?** Firecrawl, /crawl di Cloudflare e WebReaderAPI rispettano robots.txt per impostazione predefinita; diverse API lo lasciano a te o non lo dicono. 5. **Come pagherai?** La maggior parte accetta solo carte. Scrape.do, Decodo e Scrapeless indicano le criptovalute sugli account; Exa, Olostep e altri accettano USDC per richiesta; WebReaderAPI accetta BTC, USDT, USDC, ETH, SOL, LTC senza KYC. ## Conviene il self-hosting invece di pagare una API? Il self-hosting è gratuito in termini di licenza e costoso in termini di tempo. Crawl4AI (Apache-2.0), Microsoft MarkItDown (MIT), Trafilatura (Apache-2.0) e Mozilla Readability (Apache-2.0) coprono la conversione; devi comunque gestire i server, i browser headless, i retry e la gestione di robots.txt. Anche il core di Firecrawl può essere self-hosted con la licenza AGPL-3.0. Per qualche migliaio di pagine al mese, una API hosted di solito costa meno del tempo speso a mantenere un crawler. La nostra [pagina Crawl4AI o API hosted](https://webreaderapi.com/it/compare/crawl4ai-vs-api/) illustra il compromesso. ## Quanto costa WebReaderAPI? Crediti prepagati, uno per pagina semplice e due per pagina browser; i crediti non scadono mai. Prezzi fissati il 22 ottobre 2026. | Piano | Quantità | Prezzo | Prezzo per unità | | --- | --- | --- | --- | | Test | 10.000 pagine | 3,75 USD | 0,38 USD/1K pagine | | Build | 100.000 pagine | 21,75 USD | 0,22 USD/1K pagine | | Volume | 1.000.000 di pagine | 74,25 USD | 0,07 USD/1K pagine | | Bulk | 5.000.000 di pagine | 350 USD | 0,07 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 ## Migliore API web reader: domande frequenti ### Qual è meglio, Firecrawl o Jina Reader? Firecrawl si adatta ai team che hanno bisogno di crawling, estrazione strutturata e un prezzo per pagina prevedibile; Jina Reader si adatta alle letture rapide senza configurazione, fatturate a token. La nostra [pagina Firecrawl vs Jina Reader](https://webreaderapi.com/it/compare/firecrawl-vs-jina-reader/) li confronta riga per riga. ### Quale API web reader rispetta robots.txt? Firecrawl lo rispetta per impostazione predefinita, con un override solo su Enterprise; /crawl di Cloudflare lo rispetta senza opt-out documentato; WebReaderAPI lo rispetta a ogni richiesta. Jina lo rende un header opt-in, e molte API di scraping non dichiarano una politica. ### Esiste una API gratuita da URL a Markdown? Diverse hanno quote gratuite: Firecrawl 1.000 crediti al mese, Tavily 1.000 crediti al mese, Exa $10 al mese, ZenRows 5.000 crediti al mese, e Jina 10 milioni di token per uso non commerciale. WebReaderAPI non ha un piano gratuito. ### Questa classifica è indipendente? No. È pubblicata da WebReaderAPI, che è al primo posto. Ogni opzione è descritta dalle proprie pagine pubbliche, lette il 22 ottobre 2026, secondo gli stessi criteri, e ogni voce elenca ciò in cui fa meglio. ## Fonti 1. [Prezzi di Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Prezzi API Jina](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 3. [Crawl4AI](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 4. [Repository Crawl4AI](https://github.com/unclecode/crawl4ai) — GitHub (read 2026-10-22) 5. [Prezzi Olostep](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 6. [Prezzi Exa](https://exa.ai/pricing) — Exa (read 2026-10-22) 7. [Crediti API Tavily](https://docs.tavily.com/documentation/api-credits) — Tavily (read 2026-10-22) 8. [Prezzi ScrapingBee](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 9. [Prezzi ZenRows](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 10. [Prezzi Browser Run](https://developers.cloudflare.com/browser-run/pricing/) — Cloudflare (read 2026-10-22) --- 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. --- # Bot di WebReaderAPI: user agent, robots.txt e come bloccarlo > Il bot di WebReaderAPI: user agent, token in robots.txt, come bloccarlo o rallentarlo e cosa non fa mai. Per proprietari di siti e strumenti AI. - URL: https://webreaderapi.com/it/bot/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Se hai visto il nostro nome nei log del tuo server, questa pagina spiega chi siamo, perché abbiamo letto la tua pagina e come dirci di non farlo. Ogni regola qui elencata è un impegno su cui è costruito il servizio. **Risposta rapida — Che cos'è il bot di WebReaderAPI e come posso bloccarlo?** Il bot **WebReaderAPI** legge pagine pubbliche quando un nostro cliente chiede all'API di leggerle. Invia lo user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` e rispetta le regole di robots.txt scritte per il token `WebReaderAPI` o per tutti i robot. Per bloccarlo ovunque, aggiungi al tuo robots.txt `User-agent: WebReaderAPI` seguito da `Disallow: /`. ## Il bot in breve | Attributo | Valore | | --- | --- | | Header User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Token in robots.txt | `WebReaderAPI` | | robots.txt | 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 | | Segnali di preferenza per l'AI | Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te | | Quando un sito dice no | Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall | | Copie delle tue pagine | Nessuna conservata dopo l'invio della risposta al cliente | | Job di crawling | 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 | | Contatti | abuse@webreaderapi.com | ## Perché WebReaderAPI ha letto la mia pagina? Perché un cliente dell'API l'ha richiesto. WebReaderAPI non costruisce un proprio indice del web e non naviga di propria iniziativa. Ogni lettura appartiene a uno di tre tipi di richiesta: - **Una singola lettura:** un'applicazione o un agente AI ha inviato il tuo URL a `/read`, di solito perché una persona ha fatto una domanda a cui la tua pagina risponde. - **Un job batch:** un cliente ha inviato un elenco di massimo 100 URL e il tuo era tra questi. - **Un job di crawling:** un cliente ci ha chiesto di leggere un intero sito, partendo da un indirizzo e restando su quel dominio. I crawl seguono la tua sitemap e il tuo robots.txt. Il cliente riceve il testo principale della pagina in Markdown. Dopo non ne conserviamo alcuna copia. ## Come blocco il bot su tutto il mio sito? Aggiungi un gruppo per il nostro token al tuo file robots.txt. Il bot legge `/robots.txt` prima di leggere una pagina e lo mette in cache per un massimo di 24 ore, quindi una modifica si applica entro un giorno al massimo. *robots.txt: rifiuta ogni pagina a WebReaderAPI* ```text User-agent: WebReaderAPI Disallow: / ``` ## Posso bloccare solo una parte del mio sito o rallentare il bot? Sì. Elenca le cartelle da escludere sotto `Disallow` e imposta un `Crawl-delay` in secondi per i job di crawling. Le regole scritte per tutti i robot (`User-agent: *`) valgono anche per noi quando non hai un gruppo per il nostro token. Quando invece ce l'hai, vince quel gruppo, come descrive la RFC 9309. *robots.txt: escludi due cartelle e distanzia le richieste di crawling* ```text User-agent: WebReaderAPI Disallow: /account/ Disallow: /drafts/ Crawl-delay: 5 ``` ## Il bot rispetta i segnali di preferenza per l'AI? Sì, quelli che un sito dichiara in robots.txt. Se il tuo file dichiara `Content-Signal: ai-input=no`, lo trattiamo come un rifiuto a usare le tue pagine come input per risposte AI e non le leggiamo per i nostri clienti. L'API restituisce allora al cliente l'errore `blocked_by_site_policy`, che non viene addebitato. *robots.txt: consenti i motori di ricerca, rifiuta l'input per l'AI* ```text User-agent: * Content-Signal: search=yes, ai-input=no Allow: / ``` ## Cosa fa il bot quando il mio sito lo rifiuta? Si ferma e riporta la tua risposta. Uno stato 403 o 429, una pagina di challenge, un form di login o un paywall mettono fine alla richiesta. Il cliente riceve l'errore `target_refused` con il tuo codice di stato e non viene addebitato. Il bot non risolve mai challenge, non effettua mai il login, non cambia mai il suo user agent per sembrare un browser e non riprova mai in incognito. Se vuoi che leggiamo le tue pagine, consenti il token in robots.txt e lascia passare le richieste; altrimenti, non serve altro da parte tua. ## Cosa non promette ancora WebReaderAPI? Oggi non pubblichiamo un elenco di indirizzi IP, quindi identifica il bot dal suo user agent e dal suo comportamento con robots.txt, non dall'IP. Le pagine lette con l'opzione `country` partono da un indirizzo nel paese scelto, sempre con lo stesso user agent. Aggiungeremo a questa pagina i nostri intervalli di indirizzi una volta fissati, con la data della modifica. ## Come segnalo un problema con il bot? Scrivi a abuse@webreaderapi.com con data e ora, il tuo dominio, l'URL letto e una riga del tuo log di accesso che mostri il nostro user agent. Una persona legge ogni segnalazione e la verifica con i nostri log. Se un cliente usa l'API in violazione della nostra [Acceptable Use Policy](https://webreaderapi.com/it/acceptable-use/), il suo account viene sospeso. Per verificare se una richiesta proviene davvero da noi, confronta lo user agent e il comportamento con robots.txt con questa pagina. Un client che ignora le regole del tuo robots.txt usando il nostro nome non è il nostro bot. ## Domande dei proprietari di siti ### Il bot di WebReaderAPI è un crawler di motori di ricerca? No. Non indicizza il web né classifica le pagine. Legge una pagina solo quando un cliente dell'API la richiede, con una singola richiesta, un batch o un crawl di un sito. ### Bloccare il bot influirà sui miei ranking su Google o Bing? No. Le regole scritte per `WebReaderAPI` riguardano solo il nostro bot. I crawler dei motori di ricerca seguono i propri gruppi nel tuo robots.txt. ### Quanto tempo impiega una modifica a robots.txt per avere effetto? Entro 24 ore al massimo. Il bot mette in cache robots.txt per un massimo di un giorno prima di rileggerlo. ### Il bot rispetta Crawl-delay? Sì, per i crawl job, che leggono molte pagine di un solo sito. Una singola lettura è una richiesta e non viene dilazionata. ### Conservate o vendete il contenuto delle mie pagine? No. Il testo della pagina va al cliente che l'ha richiesto e non viene conservato da noi. I nostri log contengono il nome host, l'ora, lo stato e i crediti usati, per 30 giorni. --- 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. --- # Changelog > Changelog di WebReaderAPI: modifiche all'API del web reader, ai prezzi, alle regole del crawler e alle policy. Prima voce: sito e documentazione pubblicati. - URL: https://webreaderapi.com/it/changelog/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Le modifiche all'API, ai prezzi, al comportamento del crawler e alle policy sono elencate qui, dalla più recente. Anche una modifica a una promessa fatta altrove sul sito compare qui. **Risposta rapida — Cosa è cambiato su WebReaderAPI?** Il 22 ottobre 2026, **WebReaderAPI** ha pubblicato il suo sito, la documentazione, i prezzi e le policy. L'API stessa non è ancora aperta; il suo lancio sarà la prossima voce di questa pagina. I prezzi partono da 3,75 USD per 10.000 pagine e scendono a 0,07 USD/1K pagine sul pack più grande. ## 22 ottobre 2026: sito e documentazione pubblicati - **Sito, prezzi e policy** online: [prezzi](https://webreaderapi.com/it/pricing/), [termini](https://webreaderapi.com/it/terms/), [privacy](https://webreaderapi.com/it/privacy/), [uso accettabile](https://webreaderapi.com/it/acceptable-use/) e [rimborsi](https://webreaderapi.com/it/refunds/). - **Documentazione** per gli endpoint `/read`, `/batch`, `/crawl` e `/credits`, con codice per Python, Node.js e curl. - **Regole del crawler** pubblicate sulla [pagina del bot](https://webreaderapi.com/it/bot/): user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, token robots.txt `WebReaderAPI`, rispetto di `ai-input=no`. - **Stato dell'API:** lancio in attesa. Finché qui non compare la voce del lancio, nessuna chiave API può essere acquistata. ## Cosa conta come modifica da annotare con una data? Qualunque cosa su cui un cliente o un proprietario di sito possa fare affidamento: - un nuovo endpoint, parametro o campo della risposta; - un campo rinominato o rimosso (cosa che avviene solo in una nuova versione dell'API, come `/api/v2/`); - un prezzo, una regola sui crediti o una regola sui rimborsi; - una modifica a come il crawler si identifica o tratta robots.txt; - un incidente che ha coinvolto le richieste, con la sua finestra temporale. ## Come vengono gestite le modifiche di prezzo? Un nuovo prezzo si applica ai pack acquistati dopo la sua pubblicazione qui. I crediti che possiedi già mantengono il loro valore: sono contati in pagine, non in dollari, e I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi. ## Quanto è stabile la versione 1 dell'API? All'interno della versione 1 possiamo aggiungere campi e parametri, mai rinominarli o rimuoverli. Il codice che legge i campi documentati nel [formato della risposta](https://webreaderapi.com/it/docs/response/) continua a funzionare. Una modifica incompatibile andrebbe in una nuova versione, annunciata qui prima di andare online. ## Come seguo le modifiche? Controlla questa pagina, o leggi la sua versione Markdown, che [llms.txt](https://webreaderapi.com/llms.txt) elenca insieme alle altre pagine del sito. Ogni voce mantiene la sua data, così puoi vedere cosa è cambiato dalla tua ultima visita. Le domande vanno a support@webreaderapi.com. --- 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. --- # Crawl4AI o un'API hosted? Quando gestire da solo il tuo web reader > Crawl4AI o un'API hosted per convertire pagine web in Markdown? Licenze, robots.txt, costi del self-hosting e prezzi hosted verificati il 2026-10-22. - URL: https://webreaderapi.com/it/compare/crawl4ai-vs-api/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Gli strumenti open-source possono convertire pagine web in Markdown gratis, sui tuoi server. Le API hosted fanno pagare per pagina e gestiscono i server per te. Questa pagina spiega quanto costa davvero ciascuna scelta, dalle licenze e dalle impostazioni predefinite di robots.txt ai browser e alla manutenzione. **Risposta rapida — Devo fare self-hosting di Crawl4AI o usare un'API hosted per il web reader?** Fai self-hosting di Crawl4AI (Apache-2.0, con un requisito di attribuzione) quando hai un volume stabile e persone che gestiscono browser e server; nota che il suo controllo di robots.txt è disattivato per impostazione predefinita. Usa un'API hosted quando il volume è irregolare o non vuoi lavoro di operations: Crawl4AI Cloud parte da $10 per 10.000 crediti, e **WebReaderAPI** da 3,75 USD per 10.000 pagine, pagati in criptovalute senza KYC (22 ottobre 2026). ## Quali strumenti open-source convertono le pagine web in Markdown? Le opzioni principali a ottobre 2026, con la licenza e le impostazioni predefinite dichiarate dai loro repository e documenti. | Strumento | Licenza | Esegue JavaScript | robots.txt per impostazione predefinita | server MCP | | --- | --- | --- | --- | --- | | Crawl4AI | Apache-2.0, più un requisito di attribuzione nel README | Sì (Playwright) | Disattivato: `check_robots_txt` è False per impostazione predefinita | Sì, sul tuo server | | Firecrawl (self-hosted) | Core AGPL-3.0; SDK e alcune parti dell'interfaccia MIT | Sì (servizio Playwright) | Sì | Sì (firecrawl-mcp-server, MIT) | | Microsoft MarkItDown | MIT | No | Non documentato | Sì (markitdown-mcp) | | Trafilatura | Apache-2.0 (GPLv3+ prima della v1.8.0) | No | Il suo spider segue lo standard Robots Exclusion | Nessuna menzionata | | Mozilla Readability | Apache-2.0 | No; richiede un DOM e non effettua il fetch | Non applicabile | Nessuna trovata | | Jina Reader (ramo open source) | Apache-2.0 | Sì (Puppeteer) | Non menzionato | Non presente nel repository | *Prezzi verificati il 22 ottobre 2026.* Dai repository GitHub e dalla documentazione elencati di seguito, letti il 2026-10-22. ## Quanto costa davvero ospitare autonomamente un web reader? Il software è gratuito; eseguirlo no. Prima di confrontare un prezzo hosted con zero, conta questi fattori: - **Server e browser.** Le pagine statiche richiedono poca CPU, ma le pagine JavaScript richiedono un browser headless per ogni richiesta, con la memoria corrispondente. I picchi richiedono capacità in eccesso che resta inattiva il resto del tempo. - **Manutenzione.** Le versioni dei browser, le regole di estrazione e le dipendenze cambiano. Crawl4AI ha rilasciato la v0.9.5 il 14 ottobre 2026; MarkItDown 0.1.9 il 21 ottobre 2026. Qualcuno deve testare e distribuire ogni aggiornamento. - **Rete.** La larghezza di banda in uscita, il DNS, i timeout e i retry sono da configurare a tuo carico. I siti possono rifiutare il traffico dagli indirizzi dei tuoi server, e la risposta giusta in tal caso è rispettare il rifiuto. - **Policy.** Crawl4AI lascia `check_robots_txt` disattivato a meno che tu non lo attivi, e ti permette di impostare o randomizzare lo user agent. Decidere e applicare le tue regole su robots.txt e identificazione fa parte del lavoro. - **Sicurezza.** Il README di MarkItDown avverte che esegue operazioni di I/O con i privilegi del processo corrente e che gli input vanno sanificati in ambienti non affidabili. Un servizio che recupera URL arbitrari deve anche rifiutare gli indirizzi privati e locali. ## Quanto costano i reader hosted in confronto? Le API hosted trasformano quei costi in un prezzo per pagina. Due esempi dal 22 ottobre 2026: | | Crawl4AI Cloud | WebReaderAPI (il nostro) | |---|---|---| | Ingresso | Starter $10 al mese, 10.000 crediti | 3,75 USD per 10.000 pagine | | Pagina statica | 0,5 crediti | 1 credito | | Pagina con browser | 1 credito ("real browser") | 2 crediti | | Piani più grandi | Builder $99 per 125.000 crediti; Scale $499 per 750.000 | 74,25 USD per 1.000.000 di pagine; 350 USD per 5.000.000 di pagine | | Crediti inutilizzati | I crediti mensili non si accumulano; i crediti extra non scadono mai | Non scadono mai | | Pagamento | Carta tramite Stripe | BTC, USDT, USDC, ETH, SOL, LTC | | robots.txt | I clienti devono rispettare le direttive robots dei siti (termini) | Verificato dal servizio a ogni lettura | Crawl4AI Cloud è gestito dai maintainer di Crawl4AI e indica i suoi prezzi come un "soft launch" che potrebbe cambiare. Il suo credito vale $0.001, quindi una pagina statica costa $0.50 per 1.000 su Starter. ## Quando dovrei ospitarlo autonomamente? L'hosting autonomo conviene quando tre cose sono vere: il tuo volume è alto e costante, hai già server e browser in esecuzione, e ti serve un controllo che un'API non può darti. - **Estrazione personalizzata.** Gli schemi CSS, XPath e LLM di Crawl4AI, o le tue regole sopra Readability o Trafilatura. - **Residenza dei dati.** Le pagine non lasciano mai la tua infrastruttura. - **Input oltre le pagine web.** MarkItDown converte Word, Excel, PowerPoint, EPub e altro, cosa che un'API web reader non fa. - **Compatibilità di licenza.** Gli strumenti Apache-2.0 e MIT consentono prodotti closed; il core AGPL-3.0 di Firecrawl ti chiede di condividere le modifiche se lo offri come servizio di rete. ## Quando è meglio un'API hosted? Compra pagine invece di gestire server quando il tuo carico è irregolare, il tuo team è piccolo, o il reader è uno strumento dentro un agente più che un prodotto a sé. - **Volume a picchi o stagionale.** Un crawling due volte l'anno non giustifica una flotta di browser. Con WebReaderAPI, I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi. - **Agenti.** Un endpoint hosted si integra con MCP, LangChain o OpenAI tools in pochi minuti; vedi [il nostro server MCP](https://webreaderapi.com/it/docs/mcp/). - **Una policy che non devi costruire.** 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. Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. - **Pagamento senza carta.** WebReaderAPI accetta BTC, USDT, USDC, ETH, SOL, LTC senza KYC. ## Posso combinare entrambi? Sì, e molti team lo fanno. Usa un convertitore open source per i file che già possiedi, come PDF e documenti Office con MarkItDown, e chiama un reader hosted per le pagine web live, soprattutto le pagine JavaScript che altrimenti richiederebbero i tuoi browser. Mantieni lo stesso formato di output su entrambi i lati, Markdown con URL di origine e titolo, così il tuo codice di chunking e indicizzazione non deve sapere da dove proviene un documento. La nostra [guida RAG](https://webreaderapi.com/it/use-cases/rag/) mostra quel formato in pratica. ## Quanto costa un reader hosted con WebReaderAPI? Crediti per pagina pagati in criptovalute, al 22 ottobre 2026: 1 credito per pagina statica, 2 con un browser, nulla per pagine fallite o rifiutate. I crediti non scadono mai. | Piano | Quantità | Prezzo | Prezzo per unità | | --- | --- | --- | --- | | Test | 10.000 pagine | 3,75 USD | 0,38 USD/1K pagine | | Build | 100.000 pagine | 21,75 USD | 0,22 USD/1K pagine | | Volume | 1.000.000 di pagine | 74,25 USD | 0,07 USD/1K pagine | | Bulk | 5.000.000 di pagine | 350 USD | 0,07 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 ## Ospitare autonomamente un web reader: domande frequenti ### Crawl4AI è gratuito per uso commerciale? Il suo README dice che è distribuito con licenza Apache-2.0, che consente l'uso commerciale, e aggiunge che gli utenti devono includere un'attribuzione, sotto forma di badge o riga di testo. Leggi tu stesso la licenza e il README prima di distribuirlo. ### Crawl4AI rispetta robots.txt? Solo se lo chiedi. Il suo parametro `check_robots_txt` è impostato su False per default; impostalo su True per verificare e mettere in cache le regole di robots.txt prima del crawling. Puoi anche impostare o randomizzare lo user agent, quindi è la tua policy a decidere come si comporta. ### Posso ospitare autonomamente Firecrawl invece di Crawl4AI? Sì. Il core di Firecrawl è open source sotto AGPL-3.0 e rispetta robots.txt per default. L'AGPL ti chiede di pubblicare le modifiche quando offri il software come servizio di rete, il che conta per i prodotti commerciali. ### Quale strumento converte PDF e file Office? Microsoft MarkItDown, con licenza MIT, converte PDF, Word, PowerPoint, Excel, HTML, EPub e altro ancora in Markdown. Non renderizza le pagine JavaScript. WebReaderAPI legge i PDF da un URL, fino a 100 pagine. ### Quanto costa Crawl4AI Cloud? Al 22 ottobre 2026: Starter a 10 $ al mese per 10.000 crediti, Builder a 99 $ per 125.000 e Scale a 499 $ per 750.000, con una pagina statica a 0,5 crediti e una pagina con browser a 1. Il sito segnala questi prezzi come soft launch che potrebbero cambiare. ## Fonti 1. [repository unclecode/crawl4ai](https://github.com/unclecode/crawl4ai) — GitHub (read 2026-10-22) 2. [Parametri di Crawl4AI](https://docs.crawl4ai.com/api/parameters/) — Crawl4AI docs (read 2026-10-22) 3. [Self-hosting di Crawl4AI](https://docs.crawl4ai.com/core/self-hosting/) — Crawl4AI docs (read 2026-10-22) 4. [crawl4ai su PyPI](https://pypi.org/project/crawl4ai/) — PyPI (read 2026-10-22) 5. [Crawl4AI Cloud](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 6. [repository microsoft/markitdown](https://github.com/microsoft/markitdown) — GitHub (read 2026-10-22) 7. [markitdown su PyPI](https://pypi.org/project/markitdown/) — PyPI (read 2026-10-22) 8. [repository adbar/trafilatura](https://github.com/adbar/trafilatura) — GitHub (read 2026-10-22) 9. [repository mozilla/readability](https://github.com/mozilla/readability) — GitHub (read 2026-10-22) 10. [repository firecrawl/firecrawl](https://github.com/firecrawl/firecrawl) — GitHub (read 2026-10-22) 11. [repository jina-ai/reader](https://github.com/jina-ai/reader) — GitHub (read 2026-10-22) --- 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. --- # Firecrawl vs Jina Reader (2026): quale web reader fa per il tuo progetto? > Firecrawl vs Jina Reader nel 2026: crediti per pagina vs token, piani gratuiti, crawling, estrazione JSON, robots.txt e pagamento. Verificato il 2026-10-22. - URL: https://webreaderapi.com/it/compare/firecrawl-vs-jina-reader/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Firecrawl e Jina Reader sono i due nomi che saltano fuori per primi quando gli sviluppatori chiedono come convertire le pagine web in Markdown per un modello. Fatturano, fanno crawling e trattano robots.txt in modo diverso. Questa pagina li confronta sugli stessi dati, con il nostro servizio in una colonna separata ed etichettata. **Risposta rapida — Firecrawl o Jina Reader: quale devo usare?** Usa Firecrawl per pipeline complete: fattura 1 credito per pagina con rendering incluso, fa crawling e mapping dei siti ed estrae JSON secondo uno schema, con piani da 19 $ a 749 $ al mese (22 ottobre 2026). Usa Jina Reader per letture rapide: anteponi r.jina.ai a un URL, paghi 50 $ per miliardo di token di output, oppure nulla a 20 richieste al minuto. **WebReaderAPI**, che pubblica questa pagina, vende crediti per pagina in criptovalute senza KYC. ## Firecrawl vs Jina Reader, con WebReaderAPI come riferimento Ogni riga proviene dalle pagine degli stessi fornitori, lette il 22 ottobre 2026. La terza colonna è il nostro servizio, pubblicato da un concorrente di entrambi. | | Firecrawl | Jina Reader | WebReaderAPI (il nostro) | | --- | --- | --- | --- | | Unità di fatturazione | Crediti: 1 per pagina, rendering incluso | Token di output | Crediti: 1 per pagina, 2 con un browser | | Prezzo d'ingresso | Hobby: 19 $ al mese per 5.000 crediti | 50 $ per 1 miliardo di token | 3,75 USD per 10.000 pagine | | Volumi più grandi | Standard 99 $ per 100K; Scale 749 $ per 1M al mese | 500 $ per 11 miliardi di token | 74,25 USD per 1.000.000 di pagine | | Uso gratuito | 1.000 crediti al mese, senza carta; MCP senza chiave, con limite per IP ogni giorno | Senza chiave a 20 richieste al minuto; 10M di token per ogni nuova chiave, uso non commerciale | Nessuna | | Crediti inutilizzati | I crediti del piano si azzerano mensilmente | Validità non indicata nel testo che siamo riusciti a leggere | Non scadono mai | | Crawl e map | Crawl (limite predefinito 10.000 pagine) e map | Nessun endpoint di crawl indicato | Crawl fino a 10.000 pagine; nessun map | | Estrazione strutturata | JSON con uno schema, +4 crediti per pagina | Schema JSON o header di istruzione | Non offerta | | robots.txt | Rispettato per impostazione predefinita; disattivabile solo per i clienti Enterprise | Header `X-Robots-Txt` opzionale | Sempre rispettato | | Pagamento | Carte, carte di debito, PayPal (Stripe) | Carte, Google Pay, PayPal (Stripe) | BTC, USDT, USDC, ETH, SOL, LTC | | Open source | Core sotto AGPL-3.0 | Ramo Reader sotto Apache-2.0 | No | | Azienda | Firecrawl; round Serie B da $75M il 22 settembre 2026 | Jina AI, parte di Elastic da ottobre 2025 | SerpGoat LLC | *Prezzi verificati il 22 ottobre 2026.* Fonti in fondo alla pagina. ## Quale costa meno per pagina? Dipende dalla lunghezza delle pagine e dal volume, perché i due fatturano in unità diverse. Firecrawl fattura per pagina: $0,99 per 1.000 pagine sul piano Standard, $0,749 su Scale con fatturazione mensile, rendering incluso. Jina fattura per token di output e non pubblica una media per pagina. Come **stima, ipotizzando 5.000 token per pagina**, Jina costa circa $0,25 per 1.000 pagine con il pacchetto da $50 e $0,225 con quello da $500. Con questa ipotesi Jina costa meno per pagina di Firecrawl a ogni volume. Per pagine molto più lunghe di 5.000 token, come le lunghe pagine di documentazione, il divario si chiude o si inverte; per pagine brevi si allarga. L'estrazione JSON di Firecrawl aggiunge 4 crediti per pagina, il che cambia il confronto per il lavoro di estrazione. ## Quale è meglio per il crawling di un intero sito? Firecrawl. Il suo endpoint crawl segue la sitemap per impostazione predefinita, accetta un limite di pagine (10.000 per impostazione predefinita) e una profondità di scoperta, e restituisce 402 se i tuoi crediti non coprono il limite. Un endpoint map separato elenca gli URL di un sito a un credito per chiamata. Jina Reader è un reader per singolo URL più un endpoint di ricerca; le sue pagine non indicano alcuna funzione di crawl. Per leggere un intero sito con Jina raccogli tu stesso gli URL, per esempio dalla sitemap, e chiami il reader una volta per pagina. ## Come trattano robots.txt e i proprietari dei siti? Firecrawl rispetta robots.txt per impostazione predefinita e consente solo ai clienti Enterprise di disattivarlo; i proprietari dei siti lo consentono o lo rifiutano con il token `FirecrawlAgent`. La sua documentazione avverte che questo token potrebbe non essere l'header User-Agent della richiesta stessa. Jina controlla robots.txt quando la richiesta porta l'header `X-Robots-Txt`, che indica come bot con cui effettuare il controllo. Consente anche a chi chiama di sovrascrivere lo User-Agent del browser. Le sue pagine non indicano il comportamento predefinito per nessuno dei due. Entrambi gli approcci lasciano gran parte della scelta al cliente; il nostro no, come spiega la sezione successiva. ## Quale si integra meglio con gli agenti AI? Entrambi servono bene gli agenti, in modi diversi. Firecrawl offre un server MCP ospitato, accesso senza chiave con un limite giornaliero per IP e una lunga lista di integrazioni, tra cui LangChain, LlamaIndex, CrewAI e n8n; OpenClaw include Firecrawl come provider web_fetch. Jina offre un server MCP remoto ufficiale il cui tool `read_url` legge fino a cinque URL per chiamata, una credenziale n8n e il prefisso URL che qualsiasi tool in grado di fare una richiesta GET può usare. Per un agente che legge poche pagine per attività, il prefisso di Jina è l'inizio più semplice; per un agente che fa crawling, map ed estrazione, Firecrawl copre di più. ## Dove si colloca WebReaderAPI tra i due? WebReaderAPI si avvicina a Jina per ambito, un reader, e a Firecrawl per fatturazione, per pagina, con un endpoint crawl per interi siti. Ciò che lo distingue è il pagamento e la policy più che la lista di funzioni: - **Crypto senza KYC.** Ricarica da 25 USD in BTC, USDT, USDC, ETH, SOL, LTC. - **Crediti che non scadono mai**, venduti in pack da 3,75 USD. - **Una policy fissa per i 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. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. Fa meno di Firecrawl: nessuna estrazione JSON, nessuna azione browser, nessuna map, nessun piano gratuito. Leggi le pagine [alternativa a Firecrawl](https://webreaderapi.com/it/alternatives/firecrawl/) e [alternativa a Jina Reader](https://webreaderapi.com/it/alternatives/jina-reader/) per i dettagli di ogni passaggio. ## Quale dovrei scegliere per il mio caso d'uso? - **Prototipo o agente hobbistico:** Jina Reader senza chiave, o il piano gratuito di Firecrawl. - **RAG su siti di documentazione:** Firecrawl per crawl e map; WebReaderAPI se vuoi crediti per pagina che restano e pagamento in crypto. - **Estrazione in campi fissi:** il formato JSON di Firecrawl. - **Molte pagine brevi di notizie o blog:** la fatturazione a token di Jina tende a costare meno. - **Rispetto rigoroso delle scelte dei proprietari dei siti, applicato dal provider:** WebReaderAPI. - **Nessuna carta e nessun documento d'identità:** WebReaderAPI; né Firecrawl né Jina indicano un'opzione di pagamento in crypto nelle pagine che abbiamo letto. ## Quanto costa la terza opzione? Pack per pagina pagati in crypto, al 22 ottobre 2026. Una pagina che richiede un browser usa due crediti; le pagine fallite e quelle rifiutate da robots.txt sono gratuite. | Piano | Quantità | Prezzo | Prezzo per unità | | --- | --- | --- | --- | | Test | 10.000 pagine | 3,75 USD | 0,38 USD/1K pagine | | Build | 100.000 pagine | 21,75 USD | 0,22 USD/1K pagine | | Volume | 1.000.000 di pagine | 74,25 USD | 0,07 USD/1K pagine | | Bulk | 5.000.000 di pagine | 350 USD | 0,07 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 ## Firecrawl vs Jina Reader: domande frequenti ### Jina Reader è gratuito e Firecrawl a pagamento? Entrambi hanno un uso gratuito. Jina Reader funziona senza chiave a 20 richieste al minuto, e ogni nuova chiave riceve 10 milioni di token per uso non commerciale. Firecrawl dà 1.000 crediti al mese senza carta, più l'accesso MCP senza chiave con un limite giornaliero per indirizzo IP. ### Quale restituisce un Markdown migliore? Non pubblichiamo alcun benchmark di qualità, e nessuna pagina prezzi dei due fornitori ne rivendica uno contro l'altro. Esegui il tuo campione: 50 dei tuoi URL reali su ciascun servizio, poi confronta titoli, tabelle e menu residui nell'output. ### Si possono self-hostare? Sì. Il core di Firecrawl è open source sotto AGPL-3.0. Jina pubblica un ramo open source del suo Reader sotto Apache-2.0, senza lo strato di storage ospitato. ### Firecrawl o Jina accettano crypto? Non nelle pagine prezzi e fatturazione che abbiamo letto il 22 ottobre 2026: entrambi indicano Stripe, con carte e PayPal, e Jina anche Google Pay. WebReaderAPI accetta BTC, USDT, USDC, ETH, SOL, LTC. ### Questo confronto è neutrale? È scritto da WebReaderAPI, concorrente di entrambi, e lo dichiara in cima. Ogni dato su Firecrawl e Jina proviene dalle loro stesse pagine, elencate qui sotto con la data in cui le abbiamo lette. ## Fonti 1. [Prezzi di Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Fatturazione](https://docs.firecrawl.dev/billing.md) — Firecrawl docs (read 2026-10-22) 3. [Crawl](https://docs.firecrawl.dev/features/crawl.md) — Firecrawl docs (read 2026-10-22) 4. [Guida avanzata allo scraping](https://docs.firecrawl.dev/advanced-scraping-guide.md) — Firecrawl docs (read 2026-10-22) 5. [server MCP](https://docs.firecrawl.dev/mcp-server.md) — Firecrawl docs (read 2026-10-22) 6. [Presentiamo Alexandria e il nostro Series B](https://www.firecrawl.dev/blog/introducing-alexandria-series-b) — Firecrawl (read 2026-10-22) 7. [Reader](https://jina.ai/reader/) — Jina AI (read 2026-10-22) 8. [Dashboard API: prezzi](https://jina.ai/api-dashboard/pricing/) — Jina AI (read 2026-10-22) 9. [repository jina-ai/MCP](https://github.com/jina-ai/MCP) — GitHub (read 2026-10-22) 10. [Elastic completa l'acquisizione di Jina AI](https://ir.elastic.co/News--Events/news/news-details/2025/Elastic-Completes-Acquisition-of-Jina-AI-a-Leader-in-Frontier-Models-for-Multimodal-and-Multilingual-Search/default.aspx) — Elastic (2025-10-09, read 2026-10-22) 11. [Strumenti web](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) --- 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. --- # Prezzi delle API per web reader a confronto: quanto costano 10K, 100K e 1M di pagine > Prezzi delle API web reader e URL-to-Markdown confrontati il 2026-10-22: la spesa mensile per 10K, 100K e 1M pagine su 13 API, pagine semplici e pagine JS. - URL: https://webreaderapi.com/it/compare/web-reader-api-pricing/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) I prezzi dei crediti nascondono dimensioni dei pack, moltiplicatori per il browser e scadenza. Questa pagina trasforma i prezzi di listino pubblici nella bolletta mensile per tre volumi, per le pagine semplici e per le pagine che richiedono un browser, poi elenca i costi che le pagine dei prezzi omettono. **Risposta rapida — Come si confrontano i prezzi delle API per web reader nel 2026?** Il 2026-10-22, 100.000 pagine renderizzate dal browser al mese costavano $99 presso otto API, tra cui Firecrawl, Olostep e Crawl4AI Cloud; le pagine semplici partivano da $29 (Scrape.do). A 1 milione di pagine, le pagine semplici partono da circa $99 e le pagine con browser da $399 (Olostep). **WebReaderAPI** addebita 21,75 USD per 100.000 pagine semplici e $43,50 se tutte richiedono un browser, pagando in criptovalute senza KYC. ## Quanto costa un mese di pagine presso ciascuna API? Bolletta mensile per 10.000, 100.000 e 1.000.000 di pagine, usando il piano pubblicato meno costoso, la tariffa per eccedenza o quella pay-as-you-go. Dove un fornitore prezza diversamente le pagine con browser, sono mostrati entrambi i valori (semplici / browser). | API | 10.000 pagine | 100.000 pagine | 1.000.000 di pagine | | --- | --- | --- | --- | | WebReaderAPI, pagine semplici | 3,75 USD | 21,75 USD | 74,25 USD | | WebReaderAPI, pagine con browser (2 crediti) | $7.50 | $43.50 | $148.50 | | Firecrawl | $44.00 | $99.00 | $749.00 | | Crawl4AI Cloud, semplici / browser | $10.00 | $50.00 / $99.00 | $395.00 / $667.00 | | Olostep | $29.00 | $99.00 | $399.00 | | Tavily Extract, semplici / browser | $16.00 / $30.00 | $140.00 / $236.00 | $1,300 / $2,900 | | Contenuti di Exa | $10.00 | $100.00 | $1,000 | | Linkup fetch, semplici / browser | $10.00 / $50.00 | $100.00 / $500.00 | $1,000 / $5,000 | | ScrapingBee, semplici / browser | $19.00 | $49.00 / $99.00 | $99.00 / $599.00 | | Scrape.do, semplici / browser | $29.00 | $29.00 / $99.00 | $99.00 / $699.00 | | ZenRows, semplici / browser | $5.00 / $25.00 | $39.00 / $99.00 | $199.00 / $549.00 | | Scrapfly, semplici / browser | $30.00 | $30.00 / $100.00 | $100.00 / $560.00 | | Bright Data Web Unlocker | $15.00 | $150.00 | $1,300 | | Diffbot | $299.00 | $299.00 | $899.00 | *Prezzi verificati il 22 ottobre 2026.* Prezzi di listino in USD, letti il 2026-10-22. "—" = non pubblicato o non self-serve a quel volume. Exa e Parallel non documentano alcuna opzione browser. Metodo completo e 21 API: [URL to Markdown API price index 2026](https://webreaderapi.com/it/data/url-to-markdown-price-index-2026/). ## Quali costi omettono le pagine dei prezzi? 1. **Moltiplicatori per il browser.** Una pagina JavaScript costa 5 crediti su ScrapingBee, ZenRows e Scrape.do, 6 su Scrapfly e 10 su ScraperAPI; Firecrawl e Olostep renderizzano ogni pagina a un unico prezzo. 2. **Scatti dei piani.** Un piano da $99 acquistato per 20.000 pagine costa comunque $99. 3. **Scadenza.** La maggior parte dei piani mensili azzera i crediti non usati; un mese tranquillo è denaro perso. 4. **Componenti aggiuntivi per l'estrazione.** L'estrazione strutturata in JSON costa in più presso diverse API: 4 crediti in più per pagina su Firecrawl. 5. **Connessioni premium.** I proxy residenziali o "premium" moltiplicano il costo in crediti presso la maggior parte delle API di scraping; WebReaderAPI aggiunge 10 crediti solo quando scegli un paese. 6. **Pagine fallite.** Verifica se gli errori vengono fatturati. WebReaderAPI non addebita nulla per le pagine fallite o per le pagine rifiutate da robots.txt. ## Dove si colloca WebReaderAPI? Ai prezzi di questa pagina, fissati il 2026-10-22, WebReaderAPI addebita 0,38 USD/1K pagine per pagina semplice a 10.000 pagine, 0,22 USD/1K pagine a 100.000 e 0,07 USD/1K pagine a 1 milione; una pagina con browser usa due crediti. I crediti sono prepagati, non scadono mai e si pagano in BTC, USDT, USDC, ETH, SOL, LTC senza KYC. Non affermiamo di essere i più economici per ogni volume o per ogni tipo di pagina. Il nostro crawler rispetta robots.txt e non tenta mai di aggirare un rifiuto, quindi alcune pagine che altri strumenti recuperano torneranno come rifiutate, e gratuite. ## Quanto costa WebReaderAPI? Pack prepagati; un credito per pagina semplice, due con un browser; i crediti non scadono mai. Prezzi fissati il 2026-10-22. | Piano | Quantità | Prezzo | Prezzo per unità | | --- | --- | --- | --- | | Test | 10.000 pagine | 3,75 USD | 0,38 USD/1K pagine | | Build | 100.000 pagine | 21,75 USD | 0,22 USD/1K pagine | | Volume | 1.000.000 di pagine | 74,25 USD | 0,07 USD/1K pagine | | Bulk | 5.000.000 di pagine | 350 USD | 0,07 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 ## Prezzi delle API per web reader: domande frequenti ### Qual è l'API URL to Markdown più economica nel 2026? Per le pagine semplici a 1 milione al mese, ScrapingBee ($0,099 per 1.000) e Scrape.do ($0,099 per 1.000) hanno indicato i prezzi più bassi il 2026-10-22. Per le pagine con browser a quel volume, Olostep indicava $0,399. La risposta cambia con il volume, quindi confronta sul tuo. ### Firecrawl è costosa? A piccoli volumi, sì: $19 per 5.000 pagine su Hobby sono $3,80 per 1.000. A 100.000 pagine ($99) e a 1 milione ($749) si colloca vicino al mercato per le pagine renderizzate dal browser, perché ogni pagina di Firecrawl viene renderizzata. ### Pago per le pagine che falliscono? Dipende dal fornitore; leggi la sua pagina di fatturazione. Crawlbase dichiara che le richieste fallite e i tentativi ripetuti sono gratuiti. WebReaderAPI non addebita nulla per le pagine fallite né per le pagine rifiutate da robots.txt. ### Posso pagare un'API per web reader in criptovalute? Sì, presso alcuni. Scrape.do, Decodo Web Data API e Scrapeless dichiarano il pagamento in criptovalute sull'account, mentre Exa contents, Parallel Extract, Linkup fetch, Olostep e altri accettano USDC per richiesta tramite x402. WebReaderAPI accetta BTC, USDT, USDC, ETH, SOL, LTC senza KYC. ## Fonti 1. [Firecrawl: prezzi](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Crawl4AI Cloud: prezzi](https://crawl4ai.com/) — Crawl4AI Cloud (read 2026-10-22) 3. [Olostep: prezzi](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 4. [Tavily Extract: prezzi](https://docs.tavily.com/documentation/api-credits) — Tavily Extract (read 2026-10-22) 5. [Exa contents: prezzi](https://exa.ai/pricing) — Exa contents (read 2026-10-22) 6. [Linkup fetch: prezzi](https://docs.linkup.so/pages/documentation/development/pricing) — Linkup fetch (read 2026-10-22) 7. [ScrapingBee: prezzi](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 8. [Scrape.do: prezzi](https://scrape.do/pricing.md) — Scrape.do (read 2026-10-22) 9. [ZenRows: prezzi](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 10. [Scrapfly: prezzi](https://scrapfly.io/pricing) — Scrapfly (read 2026-10-22) 11. [Bright Data Web Unlocker: prezzi](https://www.bright.cn/pricing/web-unlocker) — Bright Data Web Unlocker (read 2026-10-22) 12. [Diffbot: prezzi](https://www.diffbot.com/pricing/) — Diffbot (read 2026-10-22) --- 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. --- # Contatta WebReaderAPI > Contatta WebReaderAPI: email per domande su API e fatturazione, email per abusi dei siti e uso improprio, e cosa includere per una risposta rapida. - URL: https://webreaderapi.com/it/contact/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Due indirizzi: uno per i clienti, uno per i proprietari di siti e le segnalazioni di uso improprio. Entrambi sono letti da una persona. **Risposta rapida — Come posso contattare WebReaderAPI?** Scrivi a support@webreaderapi.com per assistenza con l'API, il tuo account o un pagamento; Il supporto via email risponde entro 12 ore, tutti i giorni della settimana, anche per aiuto con crawling e integrazioni. I proprietari di siti e chiunque segnali un uso improprio del crawler **WebReaderAPI** può scrivere a abuse@webreaderapi.com. Il nostro team non ti chiederà mai il numero del tuo account o una chiave API via email o chat. ## Cosa rende una richiesta di assistenza rapida da rispondere? Un messaggio breve con i fatti ottiene la risposta più veloce: - l'ID dell'ordine dalla cronologia dei tuoi ordini, per le domande sulla fatturazione; - l'ora della richiesta, l'endpoint e il codice di errore, per i problemi con l'API; - l'URL che hai provato a leggere, se una pagina non è tornata come previsto. Non inviare mai la tua chiave API o il numero del tuo account via email. ## Gestisco un sito web. Come posso contattarvi? Scrivi a abuse@webreaderapi.com con il tuo dominio, la data e l'ora, e una riga del log del tuo server che mostri lo user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Per fermare il nostro crawler senza scriverci, aggiungi una regola per `WebReaderAPI` al tuo robots.txt; la [pagina del bot](https://webreaderapi.com/it/bot/) ha esempi già pronti. Una persona legge ogni segnalazione di abuso e gli account trovati a fare uso improprio del servizio vengono sospesi. ## Con cosa può aiutare l'assistenza? Qualsiasi cosa sull'uso dell'API o del tuo account: - una pagina che torna vuota, troncata o con la sezione sbagliata tenuta come contenuto principale; - un codice di errore che non capisci, o un crawl job che si interrompe prima; - una ricarica che non è comparsa sul tuo saldo dopo le sue conferme; - una richiesta di rimborso secondo la [politica di rimborso](https://webreaderapi.com/it/refunds/); - un limite di concorrenza più alto per l'uso in produzione. L'assistenza non può fare in modo che un sito accetti il nostro crawler. Quando un sito ci rifiuta, l'unica via è il permesso del proprietario del sito. ## Come segnalo un problema di pagamento? Indica la criptovaluta, la rete, l'importo inviato e l'ID della transazione, insieme all'ID dell'ordine dall'area clienti. Questi bastano per trovare qualsiasi trasferimento sulla blockchain. Non includere chiavi private, seed phrase, il numero del tuo account o la tua chiave API: non ci servono mai, e chiunque te li chieda non siamo noi. ## C'è una chat o una linea telefonica? No. L'email lascia una traccia scritta per entrambe le parti e ci permette di rispondere con precisione, con i log a portata di mano. Per lo stato dell'API, vedi la [status page](https://webreaderapi.com/it/status/); per le domande frequenti, le [FAQ](https://webreaderapi.com/it/faq/). --- 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. --- # 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. --- # Paga una web reader API in cripto > Come pagare WebReaderAPI in cripto: BTC, USDT, USDC, ETH, SOL o LTC, la ricarica minima di 25 USD, quale rete scegliere e cosa fare dopo l'invio. - URL: https://webreaderapi.com/it/crypto-payments/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Una guida passo passo per ricaricare il saldo WebReaderAPI in cripto e convertirlo in crediti pagina, con gli errori da evitare. **Risposta rapida — Come pago WebReaderAPI in cripto?** Ricarica il saldo **WebReaderAPI** con almeno 25 USD in BTC, USDT, USDC, ETH, SOL, LTC: invia l'importo esatto mostrato, sulla rete mostrata, poi clicca "Ho inviato il pagamento". La ricarica viene abbinata in base all'importo esatto e accreditata una volta confermata. Poi acquisti crediti pagina dal saldo, da 3,75 USD per 10.000 pagine. Senza KYC. ## Con quali monete posso pagare? Sei monete, un solo saldo. USDT funziona su TRC-20 o ERC-20, USDC su ERC-20; la pagina di pagamento mostra l'indirizzo e la rete per la moneta che scegli. - Bitcoin (BTC) - Tether (USDT) — TRC-20 or ERC-20 - USD Coin (USDC) — ERC-20 - Ethereum (ETH) - Solana (SOL) - Litecoin (LTC) ## Come funziona una ricarica in cripto, passo passo? Cinque passi da un account vuoto a una chiave API funzionante. L'unica attesa è la conferma della blockchain. 1. **Scegli un importo e una moneta** — Inserisci almeno 25 USD e scegli BTC, USDT, USDC, ETH, SOL o LTC. La pagina di pagamento converte l'importo in dollari in quella moneta. 2. **Invia l'importo esatto** — Copia l'indirizzo e l'importo mostrati e inviali sulla rete indicata dalla pagina: un solo trasferimento, la cifra esatta, senza arrotondamenti. 3. **Clicca "Ho inviato il pagamento"** — Comunica alla pagina che il trasferimento è in corso. Se ti chiede l'ID della transazione, incollalo, così il trasferimento è più facile da trovare. 4. **Lascia che sia la rete a confermarlo** — La ricarica viene abbinata in base al suo importo esatto e accreditata dopo che la rete l'ha confermata. Bitcoin richiede più tempo rispetto a USDT su Tron o SOL su Solana. 5. **Acquista un pack di crediti** — Paga qualsiasi pack dal saldo. Se hai iniziato da un pack, questo viene acquistato dopo l'accredito della ricarica e la tua chiave API compare nella dashboard. ## Quale moneta e quale rete devo usare? Usa la moneta che già possiedi, sulla rete indicata nella pagina di pagamento. Una stablecoin (USDT o USDC) mantiene l'importo in dollari, quindi il prezzo che vedi è il prezzo che paghi. Le commissioni di rete e i tempi di conferma variano da chain a chain; la tabella nei passaggi precedenti riporta il tempo di conferma abituale per ogni rete. Se possiedi USDT su più chain, scegli quella con la commissione più bassa per il tuo importo. La commissione è pagata dal mittente e non fa parte della tua ricarica. ## Perché c'è un importo minimo di ricarica? Perché ogni pagamento ci costa in verifiche e contabilità, indipendentemente dal suo importo. Il minimo è 25 USD; dal saldo puoi poi acquistare qualsiasi pack, incluso quello da 10.000 pagine a 3,75 USD. Ciò che non spendi resta sul saldo senza scadenza. Se il pack che hai acquistato costa meno del minimo, la parte in eccesso può essere richiesta indietro entro 30 giorni, in USDT o USDC, purché non sia stata spesa. ## Cosa succede dopo che ho inviato il pagamento? Clicca "Ho inviato il pagamento" nella pagina di pagamento. Abbiniamo il trasferimento in base al suo importo esatto, aspettiamo le conferme richieste dalla rete e accreditiamo il tuo saldo. Se hai iniziato da un pack, questo viene acquistato dal saldo dopo l'accredito della ricarica e la tua chiave API è pronta nella dashboard. Se hai chiuso la scheda, apri l'area clienti: le ricariche in attesa e quelle accreditate compaiono nella cronologia degli ordini. ## E se invio un importo sbagliato o uso la rete sbagliata? Un importo diverso non può essere abbinato da solo, e un trasferimento su un'altra rete potrebbe non raggiungere affatto l'indirizzo. Prima di inviare, controlla tre cose: la moneta, la rete e l'importo esatto. Se è successo un errore, scrivi a support@webreaderapi.com indicando l'ID della transazione e l'ID dell'ordine. Non inviare il numero del tuo account né la tua chiave API. I fondi inviati su una rete non indicata nella pagina di pagamento potrebbero non essere recuperabili. ## Un pagamento in criptovalute può essere rimborsato? I rimborsi vanno sul tuo saldo anziché indietro al tuo wallet, il che evita una seconda commissione di rete. Un pack usato per meno del 20% entro 72 ore, o un pack che non ha mai funzionato, viene riaccreditato. La [politica di rimborso](https://webreaderapi.com/it/refunds/) indica le condizioni esatte e tre esempi. ## Cosa posso acquistare una volta accreditato il mio saldo? Qualsiasi pack: 10.000 pagine a 3,75 USD, 50.000 pagine a 14,25 USD o 100.000 pagine a 21,75 USD, e altri ancora più grandi nella [pagina dei prezzi](https://webreaderapi.com/it/pricing/). I crediti non scadono mai. | 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 | 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 Prezzi in USD, fissati il 2026-10-22. Ogni pack viene pagato dal tuo saldo in criptovalute. ## Pagare in criptovalute: domande frequenti ### Mi servono una carta o un documento d'identità per pagare? No. WebReaderAPI accetta solo criptovalute e non chiede documenti d'identità. Accesso con numero di account; email facoltativa. ### Il prezzo è fisso quando inizio il pagamento? La pagina di pagamento mostra l'importo nella moneta che hai scelto per quel pagamento. Invia quell'importo esatto; una stablecoin lo mantiene uguale al prezzo in dollari. ### Posso pagare i crediti a richiesta invece di fare una ricarica? No. I pagamenti passano da un saldo prepagato e ogni lettura usa i crediti da esso. Il saldo e i crediti non scadono mai. ### Dove vedo i miei pagamenti? Nella cronologia degli ordini dell'area clienti, con lo stato, la moneta, la rete e l'ID della transazione di ogni ricarica. --- 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. --- # Indice dei prezzi delle API URL to Markdown 2026: quanto costano 1.000 pagine con 21 API > Prezzi delle API URL-to-Markdown e web reader 2026: 21 API, costo per 1.000 pagine su 3 volumi, pagine statiche e JavaScript. Verificato il 2026-10-22. - URL: https://webreaderapi.com/it/data/url-to-markdown-price-index-2026/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Prezzi di listino pubblici di 21 API che convertono le pagine web in Markdown o testo per i modelli, normalizzati al costo di 1.000 pagine su tre volumi mensili, per pagine semplici e per pagine renderizzate in un browser. Pubblicato da WebReaderAPI, che è una delle API nella tabella. **Risposta rapida — Quanto costa un'API URL-to-Markdown per 1.000 pagine nel 2026?** Su 21 API i cui prezzi di listino abbiamo letto il 2026-10-22, leggere 100.000 pagine semplici al mese costa una mediana di $0,99 per 1.000, e $1,00 quando le pagine richiedono un browser. A 1 milione di pagine al mese le mediane scendono a $0,774 e $0,899. **WebReaderAPI**, che pubblica questo indice, applica 0,22 USD/1K pagine per le pagine semplici a 100.000. ## L'indice in sei numeri - **$2.00** mediana per 1.000 pagine semplici a 10.000 al mese (21 API) - **$0.99** mediana per 1.000 pagine semplici a 100.000 al mese (21 API) - **$0.774** mediana per 1.000 pagine semplici a 1 milione al mese (20 API) - **$1.00** mediana per 1.000 pagine renderizzate nel browser a 100.000 al mese (18 API) - **$0.899** mediana per 1.000 pagine renderizzate nel browser a 1 milione al mese (17 API) - **3 + 7** API che dichiarano il pagamento in criptovalute su un account, più le API che accettano USDC per richiesta (x402) ## Come è stato costruito l'indice? Abbiamo letto la pagina dei prezzi pubblica di ogni provider il 2026-10-22 e mantenuto solo le cifre mostrate lì; ogni fonte è elencata in fondo. Una "pagina" è un URL letto e restituito come Markdown o testo, con il proxy predefinito del provider e senza add-on a pagamento. - **Pagina semplice:** nessun rendering JavaScript. **Pagina browser:** renderizzata prima in un browser headless; i provider che renderizzano sempre (Firecrawl, Olostep, Diffbot) hanno lo stesso prezzo in entrambe le tabelle. - **Prezzo a un volume:** il modo pubblicato meno costoso per acquistare quel numero di pagine ogni mese su un solo provider (piano, piano più overage pubblicato, o pay as you go), diviso per le pagine usate. Un piano da $99 usato per 100.000 pagine vale $0,99 per 1.000 anche se ne include di più. - **I moltiplicatori di crediti sono applicati**, per esempio 5 crediti per pagina browser su ScrapingBee, ZenRows e Scrape.do. - **I piani gratuiti sono elencati, non prezzati.** Le API fatturate a token, tempo di browser, volume di dati o compute, e un'API di cui non abbiamo potuto confermare l'output in Markdown, sono elencate separatamente. WebReaderAPI è mostrato come riferimento e non è conteggiato nelle mediane. ## Prezzo per 1.000 pagine semplici, per volume mensile Pagine statiche, lette senza browser. "—" significa non pubblicato o non self-serve a quel volume. | API | 10K pagine al mese | 100K pagine al mese | 1M pagine al mese | | --- | --- | --- | --- | | WebReaderAPI (prepagato, non scade mai) | 0,38 USD/1K pagine | 0,22 USD/1K pagine | 0,07 USD/1K pagine | | Firecrawl | $4.40 | $0.99 | $0.749 | | Tavily Extract | $1.60 | $1.40 | $1.30 | | Contenuti di Exa | $1.00 | $1.00 | $1.00 | | Parallel Extract | $1.00 | $1.00 | $1.00 | | Linkup fetch | $1.00 | $1.00 | $1.00 | | Olostep | $2.90 | $0.99 | $0.399 | | ScrapeGraphAI | $2.00 | $1.00 | $1.25 | | Diffbot | $29.90 | $2.99 | $0.899 | | ScrapingBee | $1.90 | $0.49 | $0.099 | | ScraperAPI | $4.90 | $0.49 | $0.149 | | ZenRows | $0.50 | $0.39 | $0.199 | | Scrapfly | $3.00 | $0.30 | $0.10 | | Scrape.do | $2.90 | $0.29 | $0.099 | | Crawlbase | $2.10 | $0.764 | $0.349 | | Bright Data Web Unlocker | $1.50 | $1.50 | $1.30 | | Oxylabs Web Scraper API | $3.00 | $1.00 | $2.50 | | Decodo Web Data API | $1.90 | $0.49 | $0.249 | | Scrapeless | $1.00 | $0.90 | $0.80 | | Hyperbrowser Fetch | $3.00 | $1.00 | — | | Steel scrape | $5.00 | $5.00 | $5.00 | | Crawl4AI Cloud | $1.00 | $0.50 | $0.395 | *Prezzi verificati il 22 ottobre 2026.* Prezzi di listino in USD, letti il 2026-10-22. I nostri prezzi: la pagina dei prezzi WebReaderAPI alla stessa data. ## Prezzo per 1.000 pagine renderizzate nel browser, per volume mensile Pagine che richiedono JavaScript, renderizzate in un browser headless. Le API che non documentano un'opzione browser sono escluse da questa tabella. | API | 10K pagine al mese | 100K pagine al mese | 1M pagine al mese | | --- | --- | --- | --- | | WebReaderAPI (2 crediti per pagina) | $0,75/1K pagine | $0,435/1K pagine | $0,148/1K pagine | | Firecrawl | $4.40 | $0.99 | $0.749 | | Tavily Extract | $3.00 | $2.36 | $2.90 | | Linkup fetch | $5.00 | $5.00 | $5.00 | | Olostep | $2.90 | $0.99 | $0.399 | | ScrapeGraphAI | $2.00 | $1.00 | $1.25 | | Diffbot | $29.90 | $2.99 | $0.899 | | ScrapingBee | $1.90 | $0.99 | $0.599 | | ScraperAPI | $4.90 | $1.49 | $0.975 | | ZenRows | $2.50 | $0.99 | $0.549 | | Scrapfly | $3.00 | $1.00 | $0.56 | | Scrape.do | $2.90 | $0.99 | $0.699 | | Crawlbase | — | $0.99 | $0.599 | | Bright Data Web Unlocker | $1.50 | $1.50 | $1.30 | | Oxylabs Web Scraper API | $3.00 | $5.00 | $2.50 | | Decodo Web Data API | $1.90 | $0.99 | $0.999 | | Hyperbrowser Fetch | $3.00 | $1.00 | — | | Steel scrape | $5.00 | $5.00 | $5.00 | | Crawl4AI Cloud | $1.00 | $0.99 | $0.667 | *Prezzi verificati il 22 ottobre 2026.* ## Perché i prezzi tra le API differiscono così tanto? Quattro cose spiegano gran parte della differenza. 1. **Tipo di prodotto.** Le API di web scraping generiche (ScrapingBee, Scrape.do, ZenRows, Scrapfly) hanno prezzi pensati per il volume e arrivano a circa $0,10 per 1.000 pagine semplici a 1 milione al mese. I reader orientati all'AI (Exa, Parallel, Linkup) applicano un prezzo fisso di $1,00 e aggiungono funzionalità di retrieval. 2. **Moltiplicatori del browser.** Una pagina browser costa da 2 a 10 volte una pagina semplice nelle API basate sui crediti; le API a prezzo fisso applicano lo stesso prezzo a entrambe. 3. **Scaglioni dei piani.** Molti provider vendono piani mensili con una quota ampia, così gli utenti piccoli pagano per pagine non usate: la mediana a 10.000 pagine semplici al mese è $2,00. 4. **Scadenza.** La maggior parte dei piani azzera i crediti non usati ogni mese; ScrapeGraphAI, Crawlbase, Crawl4AI Cloud mantengono i crediti acquistati senza azzeramento mensile. ## Piani gratuiti, scadenza, criptovalute, verifiche d'identità e robots.txt Ciò che ogni provider dichiara nelle pagine che abbiamo letto. "Non dichiarato" significa che le pagine non lo dicevano. | API | Piano gratuito | Scadenza dei crediti | Pagamento in criptovalute | Verifiche di identità | robots.txt | | --- | --- | --- | --- | --- | --- | | WebReaderAPI | Nessuna | Mai | BTC, USDT, USDC, ETH, SOL, LTC | Nessuna: niente documento, niente selfie, niente certificati | Rispettato; mai aggirato | | Firecrawl | 1.000 crediti al mese, nessuna carta | I crediti del piano si azzerano mensilmente | No (carte, PayPal) | Nessuno dichiarato | Rispettato per impostazione predefinita; override solo su Enterprise | | Tavily Extract | 1.000 crediti al mese (5.000 URL di base) | Reset mensile | Solo a sua discrezione (termini) | Nessuno dichiarato | Non dichiarato | | Contenuti di Exa | 10 $ di credito al mese | I crediti gratuiti si resettano ogni mese | Per richiesta, USDC (x402) | Carta per il pay as you go | Dichiarato per il suo crawler dell'indice, non per i fetch degli utenti | | Parallel Extract | 5.000 richieste al mese | Il credito gratuito scade ogni mese | Per richiesta, USDC (x402) | Carta per il credito mensile | Dichiarato per il suo crawler dell'indice, non per i fetch degli utenti | | Linkup fetch | 20 $ al mese (email professionale) | Non dichiarato | Per richiesta, USDC (x402) | Email professionale per il credito gratuito | Il crawling lo rispetta; per il fetch non è dichiarato | | Olostep | Prova da 500 richieste | Piano mensile; le ricariche durano 6 mesi | Per richiesta, USDC (x402) | Carta per le ricariche | Gli strumenti lo rispettano; il comportamento predefinito non è dichiarato | | ScrapeGraphAI | 500 crediti | I crediti del piano non si accumulano; le ricariche non scadono mai | Solo agenti (MPP) | Non dichiarato | Il cliente deve rispettare i termini | | Diffbot | 10.000 crediti al mese | La quota si resetta a ogni periodo | Non dichiarato | Nessuna carta per il piano gratuito | Crawl obbedisce per impostazione predefinita; per Extract non è dichiarato | | ScrapingBee | 1.000 crediti | Nessun riporto | No | Carta per i piani a pagamento | Non dichiarato | | ScraperAPI | 5.000 crediti per 7 giorni | Scadono a ogni periodo di fatturazione | No | Nessuno dichiarato | Non dichiarato | | ZenRows | 5.000 crediti al mese | Al rinnovo | Account: no; agenti: USDC (x402) | Validazione email | Non dichiarato | | Scrapfly | 1.000 crediti una tantum | Nessun riporto | Non dichiarato | KYC per ogni cliente | L'API del crawler lo rispetta per impostazione predefinita; può essere disattivato | | Scrape.do | 1.000 crediti al mese | Non dichiarato | Sì (monete non specificate) | Nessuno dichiarato | Non dichiarato | | Crawlbase | 1.000 crediti | Pay as you go: nulla scade | Non dichiarato | Nessuno dichiarato | Non dichiarato | | Bright Data Web Unlocker | 5.000 crediti al mese | I crediti gratuiti si resettano ogni mese | No | Carta per gli account con email personale; KYC aziendale per le pagine vietate da robots.txt | Rispettato per impostazione predefinita | | Oxylabs Web Scraper API | 5 $ di credito una tantum | Fine del ciclo | No | KYC per ogni cliente | Non menzionato | | Decodo Web Data API | Fino a 10.000 richieste al mese | Gli importi non utilizzati scadono mensilmente | Sì (tramite CoinGate) | Controllo automatico, poi KYC | Non dichiarato | | Scrapeless | Prova, dimensione non indicata | Minimo prepagato non mantenuto | Sì (monete non specificate) | Nessuno per i pacchetti base | Non dichiarato | | Hyperbrowser Fetch | 5.000 crediti | Crediti acquistati: 12 mesi | Per richiesta, USDC (x402) | Non dichiarato | Non dichiarato | | Steel scrape | $30 una volta (90 giorni) | Credito di lancio 90 giorni | Per richiesta, USDC (x402) | Nessuna carta | I termini ne vietano la violazione | | Crawl4AI Cloud | 1.000 crediti al mese | I crediti acquistati non scadono mai | Non dichiarato | Nessuna carta | I termini ne richiedono il rispetto | *Prezzi verificati il 22 ottobre 2026.* ## Quali sono i risultati principali? - **Le pagine semplici costano poco a volume.** A 1 milione di pagine al mese, ScrapingBee ($0,099), Scrape.do ($0,099) e Scrapfly ($0,10) indicano i prezzi più bassi per pagina semplice. - **Le pagine con browser costano di più.** A 1 milione al mese, Olostep ($0,399), ZenRows ($0,549) e Scrapfly ($0,56) indicano i prezzi più bassi per pagina con browser. - **Il reader più noto non è il meno costoso.** Firecrawl indica $0,99 per 1.000 a 100.000 pagine e $0,749 a 1 milione, con ogni pagina renderizzata. - **Le criptovalute sono rare sugli account.** Scrape.do, Decodo Web Data API e Scrapeless dichiarano il pagamento in criptovalute; Exa contents, Parallel Extract, Linkup fetch, Olostep, ZenRows, Hyperbrowser Fetch e Steel scrape accettano USDC per singola richiesta tramite x402. - **robots.txt è spesso lasciato al cliente.** I fornitori che dichiarano un comportamento predefinito rispettoso di robots.txt, almeno sui propri prodotti di crawling: Firecrawl, Diffbot, Scrapfly, Bright Data Web Unlocker. Molti non dicono nulla. - **Il KYC è l'eccezione.** Oxylabs e Scrapfly lo chiedono a ogni cliente; Decodo esegue prima un controllo automatico. ## API fatturate in altro modo (non incluse nelle mediane) Queste fatturano a token, tempo di browser, volume di dati o potenza di calcolo, oppure non hanno confermato l'output in Markdown, quindi il prezzo per pagina dipende dalle tue pagine. | API | Prezzo | Nota | | --- | --- | --- | | Jina Reader | $50 per 1 miliardo di token di output; $500 per 11 miliardi | Fatturato a token: il costo per pagina dipende dalla lunghezza della pagina. 10 milioni di token gratuiti per ogni nuova chiave, solo per uso non commerciale. | | Cloudflare Browser Run | $0.09 per ora di browser dopo 10 ore incluse, minimo mensile di $5 | Fatturato a tempo di browser; endpoint /markdown, /content e /crawl. | | Spider | $1 per GB di contenuto più la potenza di calcolo | Fatturato a volume di dati; i valori per pagina pubblicati sono sue stime. | | Apify Website Content Crawler | Unità di calcolo ($0,13 per unità su Business) | Fatturato a potenza di calcolo; i valori per pagina pubblicati sono sue stime. | | Zyte API | $0,13 per 1.000 richieste statiche (website tier 1, pay as you go); $1,01 con un browser | Il prezzo dipende da un tier che Zyte assegna per sito web; output in Markdown non indicato nelle pagine che abbiamo letto. | *Prezzi verificati il 22 ottobre 2026.* ## Posso riutilizzare questi dati? Sì. Le tabelle di questa pagina sono pubblicate con licenza Creative Commons Attribution 4.0 (CC BY 4.0): copiale e adattale con un link a questa pagina e la data 2026-10-22. Rileggiamo i prezzi almeno una volta al mese. Se un dato è sbagliato, scrivi a support@webreaderapi.com indicando la pagina che mostra quello corretto; lo correggiamo e annotiamo la modifica nel [changelog](https://webreaderapi.com/it/changelog/). ## Indice dei prezzi: domande frequenti ### Quale API da URL a Markdown costa meno? Dipende dal volume e da JavaScript. Al 2026-10-22, i prezzi più bassi per pagina semplice a 1 milione di pagine al mese erano ScrapingBee a $0,099 e Scrape.do a $0,099 per 1.000; il prezzo più basso per pagina con browser a quel volume era Olostep a $0,399. ### Quanto costa Firecrawl per pagina? Firecrawl addebita 1 credito per pagina con JavaScript incluso: $19 per 5.000 crediti su Hobby, $99 per 100.000 su Standard e $749 per 1 milione su Scale, letti sulla sua pagina dei prezzi il 2026-10-22. L'estrazione JSON aggiunge 4 crediti per pagina. ### Perché Jina Reader non è nelle tabelle principali? Jina fattura in base ai token di output (50 $ per 1 miliardo di token nel suo pacchetto più piccolo), quindi il prezzo per pagina dipende dalla lunghezza delle tue pagine. È elencato nella tabella delle API fatturate in un altro modo. ### WebReaderAPI conta se stesso nelle mediane? WebReaderAPI pubblica questo indice e compare nelle prime righe solo come riferimento. Le mediane usano gli altri provider. ### Ogni quanto viene aggiornato l'indice? Almeno una volta al mese, e quando un provider elencato cambia i suoi prezzi pubblici. La data in alto mostra l'ultima verifica completa. ## Fonti 1. [Firecrawl: prezzi](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 2. [Tavily Extract: prezzi](https://docs.tavily.com/documentation/api-credits) — Tavily (read 2026-10-22) 3. [Exa contents: prezzi](https://exa.ai/pricing) — Exa (read 2026-10-22) 4. [Parallel Extract: prezzi](https://parallel.ai/pricing) — Parallel (read 2026-10-22) 5. [Linkup fetch: prezzi](https://docs.linkup.so/pages/documentation/development/pricing) — Linkup (read 2026-10-22) 6. [Olostep: prezzi](https://www.olostep.com/pricing) — Olostep (read 2026-10-22) 7. [ScrapeGraphAI: prezzi](https://scrapegraphai.com/pricing) — ScrapeGraphAI (read 2026-10-22) 8. [Diffbot: prezzi](https://www.diffbot.com/pricing/) — Diffbot (read 2026-10-22) 9. [ScrapingBee: prezzi](https://www.scrapingbee.com/pricing/) — ScrapingBee (read 2026-10-22) 10. [ScraperAPI: prezzi](https://www.scraperapi.com/pricing/) — ScraperAPI (read 2026-10-22) 11. [ZenRows: prezzi](https://docs.zenrows.com/first-steps/pricing.md) — ZenRows (read 2026-10-22) 12. [Scrapfly: prezzi](https://scrapfly.io/pricing) — Scrapfly (read 2026-10-22) 13. [Scrape.do: prezzi](https://scrape.do/pricing.md) — Scrape.do (read 2026-10-22) 14. [Crawlbase: prezzi](https://crawlbase.com/pricing) — Crawlbase (read 2026-10-22) 15. [Bright Data Web Unlocker: prezzi](https://www.bright.cn/pricing/web-unlocker) — Bright Data (read 2026-10-22) 16. [Oxylabs Web Scraper API: prezzi](https://oxylabs.io/pricing/web-scraper-api) — Oxylabs (read 2026-10-22) 17. [Decodo Web Data API: prezzi](https://help.decodo.com/docs/web-data-api-billing) — Decodo (read 2026-10-22) 18. [Scrapeless: prezzi](https://www.scrapeless.com/en/pricing) — Scrapeless (read 2026-10-22) 19. [Hyperbrowser Fetch: prezzi](https://hyperbrowser.ai/docs/pricing.md) — Hyperbrowser (read 2026-10-22) 20. [Steel scrape: prezzi](https://docs.steel.dev/overview/pricinglimits) — Steel (read 2026-10-22) 21. [Crawl4AI Cloud: prezzi](https://crawl4ai.com/) — Crawl4AI (read 2026-10-22) 22. [Jina Reader: prezzi](https://jina.ai/api-dashboard/pricing/) — Jina Reader (read 2026-10-22) 23. [Cloudflare Browser Run: prezzi](https://developers.cloudflare.com/browser-run/pricing/) — Cloudflare Browser Run (read 2026-10-22) 24. [Spider: prezzi](https://spider.cloud/pricing) — Spider (read 2026-10-22) 25. [Apify Website Content Crawler: prezzi](https://apify.com/apify/website-content-crawler) — Apify Website Content Crawler (read 2026-10-22) 26. [Zyte API: prezzi](https://www.zyte.com/pricing/) — Zyte API (read 2026-10-22) --- 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. --- # URL to Markdown API quick start: la tua prima pagina in due minuti > URL to Markdown API: ottieni una chiave, leggi la prima pagina con curl, Python o Node.js e controlla i crediti. Da 0,07 USD/1K pagine, senza KYC. - URL: https://webreaderapi.com/it/docs/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Un endpoint, un parametro: invia un URL a `/read` e ricevi il contenuto principale della pagina come Markdown. Questa pagina ti porta da un saldo vuoto a una chiamata funzionante, poi ti indica tutto il resto. **Risposta rapida — Come converto un URL in Markdown con un'API?** Invia l'URL a `GET https://webreaderapi.com/api/v1/read` con la tua chiave API nell'header `Authorization`. **WebReaderAPI** recupera la pagina, mantiene il contenuto principale e lo restituisce come Markdown con titolo, autore, data e conteggio delle parole. Una pagina costa un credito (due se richiede un browser), da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## L'API in una tabella | Attributo | Valore | | --- | --- | | Base URL | `https://webreaderapi.com/api/v1` | | Leggi una pagina | `GET` o `POST https://webreaderapi.com/api/v1/read` | | Più URL o un sito | `POST https://webreaderapi.com/api/v1/batch` e `POST https://webreaderapi.com/api/v1/crawl`, risultati a partire da `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | Crediti rimanenti | `GET https://webreaderapi.com/api/v1/credits` (gratuito) | | Autenticazione | Invia la tua chiave API nell'header Authorization come Bearer token, oppure nel parametro query api_key | | 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 | | Il nostro crawler | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, token robots.txt `WebReaderAPI` | | Pack più piccolo | 10.000 pagine per 3,75 USD; i crediti non scadono mai | ## Come ottengo una chiave API? Tre passaggi, nessun modulo da compilare. Il più lento è la conferma sulla blockchain della tua ricarica. 1. **Ricarica in criptovalute** — Invia almeno 25 USD in BTC, USDT, USDC, ETH, SOL, LTC. Accesso con numero di account; email facoltativa. 2. **Acquista un pack di crediti** — 10.000 pagine per 3,75 USD bastano per provare ogni opzione sui tuoi URL. 3. **Copia la tua chiave** — La tua chiave API è pronta nella dashboard quando la tua ricarica in criptovalute è confermata e hai acquistato un pack. Salvala in una variabile d'ambiente chiamata WEBREADER_API_KEY. ## Come è fatta la prima richiesta? È una semplice GET HTTPS con l'indirizzo della pagina nel parametro `url`. Codifica l'indirizzo, perché contiene i suoi caratteri `:` e `/`; curl lo fa per te con `--data-urlencode`. Le impostazioni predefinite vanno già bene per la maggior parte di articoli e pagine di documentazione: output in Markdown, solo il contenuto principale e un browser solo quando la pagina ne ha bisogno. *curl: leggere una pagina* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/first-post" ``` *Python: leggere una pagina e salvarla* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/blog/first-post"}, timeout=70, ) resp.raise_for_status() page = resp.json() print(page["title"], "-", page["word_count"], "words,", page["credits_used"], "credit(s)") with open("first-post.md", "w", encoding="utf-8") as f: f.write(page["markdown"]) ``` *Node.js 18+: leggere una pagina* ```javascript const params = new URLSearchParams({ url: 'https://example.com/blog/first-post' }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const page = await res.json(); if (!res.ok) throw new Error(`${page.error.code}: ${page.error.message}`); console.log(page.title, page.word_count, 'words'); console.log(page.markdown.slice(0, 500)); ``` ## Cosa arriva indietro? Un oggetto JSON con il Markdown nel campo `markdown` e i metadati della pagina accanto: `title`, `description`, `author`, `published_at`, `language`, `site_name` e `word_count`. Due campi ti aiutano a capire cosa è successo: `final_url` è l'indirizzo dopo i redirect e `rendered` ti dice se è servito un browser. `credits_used` mostra quanto è costata la chiamata: 1 per una pagina semplice, 2 quando `rendered` è `true`, uno in più se hai scelto un `country`. La pagina del [formato della risposta](https://webreaderapi.com/it/docs/response/) elenca ogni campo con un esempio. ## Quali opzioni userò di più? Cinque parametri coprono la maggior parte delle esigenze. Sono tutti facoltativi. | Parametro | Usalo per | |---|---| | `format` | Ottenere `text` o `html` ripulito invece di `markdown` | | `main_content` | Impostare `false` per convertire l'intera pagina, menu compresi | | `render` | Forzare (`true`) o vietare (`false`) il browser; `auto` decide | | `include_links` | Ottenere i link della pagina come elenco separato | | `max_chars` | Tagliare le pagine lunghe per stare nel budget di contesto di un modello | Il [riferimento di read](https://webreaderapi.com/it/docs/read/) descrive ogni parametro, inclusi `country`, `include_images` e `timeout`. ## Come controllo i crediti che mi restano? Chiama `GET https://webreaderapi.com/api/v1/credits` con la stessa chiave. Restituisce `credits_remaining`, `credits_used_today` e il tuo `concurrency_limit`, e non costa nulla. Eseguilo all'inizio di un job lungo, così il job si ferma in modo pulito invece di fallire a metà per `402 insufficient_credits`. I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi, quindi un pack acquistato per un progetto mantiene il suo valore per il successivo. ## Cosa succede se un sito non consente i robot? Non leggiamo la pagina e non ti viene addebitato nulla. Il nostro crawler si presenta come `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` e rispetta il robots.txt del sito. Una pagina non consentita restituisce `403 blocked_by_robots`; un sito che rifiuta la richiesta in un altro modo restituisce `502 target_refused` con il codice di stato del sito stesso. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. La [pagina degli errori](https://webreaderapi.com/it/docs/errors/) spiega quali errori vale la pena riprovare e quali sono definitivi. ## Dove vado adesso? - [Leggi il riferimento degli endpoint](https://webreaderapi.com/it/docs/read/) — Ogni parametro di /read, con esempi - [Batch e crawling](https://webreaderapi.com/it/docs/crawl/) — Fino a 100 URL per batch, o un intero sito - [Formato della risposta](https://webreaderapi.com/it/docs/response/) — Ogni campo della risposta - [Errori e robots.txt](https://webreaderapi.com/it/docs/errors/) — Codici, cause e regole di retry - [Python](https://webreaderapi.com/it/docs/python/) — requests, httpx async, chunking per RAG - [Node.js](https://webreaderapi.com/it/docs/node/) — fetch, un piccolo pool, polling del crawl - [curl e jq](https://webreaderapi.com/it/docs/curl/) — Ricette per il terminale - [server MCP](https://webreaderapi.com/it/docs/mcp/) — Un tool read_url per Claude e Cursor - [LangChain e LlamaIndex](https://webreaderapi.com/it/docs/langchain/) — Loader e tool per il RAG - [OpenAI function calling](https://webreaderapi.com/it/docs/openai/) — Uno schema e un loop per il tool read_url - [n8n](https://webreaderapi.com/it/docs/n8n/) — Tool HTTP Request per un AI Agent - [OpenClaw](https://webreaderapi.com/it/docs/openclaw/) — Aggiungi il server MCP accanto a web_fetch ## Quick start: domande frequenti ### C'è un SDK da installare? No. WebReaderAPI è una semplice API HTTPS, quindi qualsiasi client HTTP funziona. La documentazione offre codice da copiare e incollare per Python, Node.js e curl, e definizioni di tool per MCP, LangChain, LlamaIndex e OpenAI function calling. Nulla è pubblicato come pacchetto. ### Posso inviare la chiave nell'URL invece che in un header? Sì, come parametro di query `api_key`. L'header `Authorization: Bearer` è più sicuro, perché gli URL finiscono spesso nei log e nella cronologia del browser. Crea più chiavi API, ad esempio una per agente o per progetto, e revoca quelle che vuoi dalla tua dashboard. ### Una pagina fallita consuma un credito? No. 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. Viene addebitata solo una pagina che torna con del contenuto. ### Posso provarlo prima di acquistarlo? Non c'è un piano gratuito. Non c'è un piano gratuito: il pack più piccolo è il modo per testare, pagato dalla ricarica minima, e l'importo aggiunto solo per raggiungere quel minimo può essere restituito su richiesta entro 30 giorni, in USDT o USDC, se non speso. --- 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. --- # API batch e crawl: leggi molti URL o un intero sito > Riferimento API batch e crawl: leggi fino a 100 URL per job o un sito fino a 10.000 pagine, rispettando robots.txt e Crawl-delay. Senza KYC, paghi in crypto. - URL: https://webreaderapi.com/it/docs/crawl/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Due endpoint avviano job in background: `/batch` per una lista di fino a 100 URL, `/crawl` per un sito web. Entrambi restituiscono un job ID; raccogli le pagine da `/jobs/{job_id}`, una pagina di risultati alla volta. **Risposta rapida — Come faccio il crawling di un sito web in Markdown con WebReaderAPI?** Invia l'URL di partenza a `POST https://webreaderapi.com/api/v1/crawl` con una pagina `limit`. **WebReaderAPI** legge il sito in background, solo nello stesso dominio, seguendo la sua sitemap, robots.txt e Crawl-delay, fino a 10.000 pagine per job. Raccogli le pagine Markdown dal job, una pagina di risultati alla volta. Ogni pagina letta costa 1 credito (2 con un browser), da 0,07 USD/1K pagine a partire da ottobre 2026. Senza KYC; paghi in criptovalute. ## I job in breve | Attributo | Valore | | --- | --- | | Batch | Fino a 100 URL per job batch: `POST https://webreaderapi.com/api/v1/batch` | | 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: `POST https://webreaderapi.com/api/v1/crawl` | | Risultati | `GET https://webreaderapi.com/api/v1/jobs/{job_id}`, poi `?cursor=…` per la pagina di risultati successiva | | Fatturazione | Ogni pagina letta viene fatturata come una chiamata `/read`; le pagine saltate da robots.txt e le pagine fallite non costano nulla | | Ambito di un crawl | Un dominio; i link ad altri domini vengono elencati ma non letti | | Annullare un job | Non disponibile nella v1: imposta `limit` sul numero massimo di pagine che sei pronto a pagare | ## Avviare un job batch `POST /api/v1/batch` Legge fino a 100 URL in background con le stesse opzioni. Le opzioni usano i nomi e i valori di [/read](https://webreaderapi.com/it/docs/read/). La risposta è il job ID; i valori sono illustrativi. Autenticazione: chiave API nell'header `Authorization: Bearer API_KEY`. **Corpo della richiesta** | Campo | Tipo | Obbligatorio | Descrizione | | --- | --- | --- | --- | | `urls` | array of strings | Sì | Da 1 a 100 URL http o https. I duplicati vengono letti una volta sola. | | `options` | object | No | Qualsiasi parametro `/read` tranne `url`: `format`, `main_content`, `render`, `include_links`, `include_images`, `country`, `max_chars`, `timeout`. | *Esempio: three articles as Markdown* ```json { "urls": [ "https://example.com/blog/post-1", "https://example.com/blog/post-2", "https://example.org/news/launch" ], "options": { "format": "markdown", "max_chars": 50000 } } ``` **Risposta** `202 Accepted` ```json { "job_id": "job_5c1e8a90d2" } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/batch" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example.com/blog/post-1", "https://example.com/blog/post-2"], "options": {"format": "markdown"}}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/batch", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"urls": ["https://example.com/blog/post-1", "https://example.com/blog/post-2"], "options": {"format": "markdown"}}, timeout=30, ) print(resp.json()["job_id"]) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/batch', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ urls: ['https://example.com/blog/post-1', 'https://example.com/blog/post-2'], options: { format: 'markdown' } }), }); console.log((await res.json()).job_id); ``` ## Avvia un job di crawling `POST /api/v1/crawl` Legge un sito web da un URL di partenza, in ampiezza. Il crawler resta sul dominio dell'URL di partenza, usa la sitemap indicata in robots.txt o trovata su `/sitemap.xml`, e rispetta robots.txt e Crawl-delay. I valori sono a scopo illustrativo. Autenticazione: chiave API nell'header `Authorization: Bearer API_KEY`. **Corpo della richiesta** | Campo | Tipo | Obbligatorio | Descrizione | | --- | --- | --- | --- | | `url` | string | Sì | La pagina di partenza, ad esempio la home page di un sito di documentazione. | | `limit` | integer | No | Numero massimo di pagine da leggere, fino a 10.000. Il job si ferma quando raggiunge questo numero. | | `max_depth` | integer | No | Numero massimo di passaggi di link dall'URL di partenza. | | `include_paths` | array of strings | No | Semplici pattern di percorso da mantenere, ad esempio `/docs/*`. | | `exclude_paths` | array of strings | No | Semplici pattern di percorso da saltare, ad esempio `/blog/tag/*`. | | `options` | object | No | Qualsiasi parametro `/read` tranne `url`, applicato a ogni pagina. | *Esempio: the docs section of a site, 500 pages at most* ```json { "url": "https://docs.example.com/", "limit": 500, "max_depth": 3, "include_paths": [ "/docs/*" ], "exclude_paths": [ "/docs/archive/*" ], "options": { "format": "markdown" } } ``` **Risposta** `202 Accepted` ```json { "job_id": "job_8b27f41c0e" } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/crawl" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://docs.example.com/", "limit": 500, "include_paths": ["/docs/*"]}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/crawl", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"url": "https://docs.example.com/", "limit": 500, "include_paths": ["/docs/*"]}, timeout=30, ) print(resp.json()["job_id"]) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/crawl', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ url: 'https://docs.example.com/', limit: 500, include_paths: ['/docs/*'] }), }); console.log((await res.json()).job_id); ``` ## Ottieni lo stato e i risultati del job `GET /api/v1/jobs/{job_id}` Restituisce lo stato del job e i risultati successivi pronti. Ogni elemento di `results` è una risposta `/read` completa oppure `{url, error}` per una pagina che non è stato possibile leggere. Quando `next_cursor` è presente, richiama con `cursor` impostato a quel valore; quando è assente, non ci sono ancora altri risultati pronti. I valori sono a scopo illustrativo. Autenticazione: chiave API nell'header `Authorization: Bearer API_KEY`. **Parametri** | Nome | In | Tipo | Obbligatorio | Descrizione | | --- | --- | --- | --- | --- | | `job_id` | path | string | Sì | L'ID restituito da `/batch` o `/crawl`. | | `cursor` | query | string | No | Il valore `next_cursor` della chiamata precedente, per ottenere i risultati successivi. | **Risposta** `200` ```json { "job_id": "job_8b27f41c0e", "status": "running", "results": [ { "url": "https://docs.example.com/docs/install", "final_url": "https://docs.example.com/docs/install", "status_code": 200, "rendered": false, "credits_used": 1, "title": "Install", "markdown": "# Install\n\nRun the installer...", "word_count": 418 }, { "url": "https://docs.example.com/docs/private", "error": { "code": "blocked_by_robots", "message": "robots.txt disallows this page for WebReaderAPI." } } ], "next_cursor": "c_000002", "credits_used": 1 } ``` *curl* ```bash curl -sG "https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -d cursor=c_000002 ``` *Python* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"cursor": "c_000002"}, timeout=30, ) job = resp.json() print(job["status"], len(job["results"]), job.get("next_cursor")) ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/jobs/job_8b27f41c0e?cursor=c_000002', { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const job = await res.json(); console.log(job.status, job.results.length, job.next_cursor); ``` ## Come faccio ad aspettare che un job finisca? Fai polling su `/jobs/{job_id}` e conserva il cursore. Elabora i risultati che ricevi, poi richiama con `cursor` impostato a `next_cursor`. Quando `next_cursor` è assente e `status` è `done`, hai tutto; quando è assente e il job è ancora `running`, aspetta e richiedi di nuovo con lo stesso cursore. Inizia a fare polling ogni 2 secondi e raddoppia l'attesa fino a 30 secondi finché non arriva nulla di nuovo. Un crawling che rispetta il Crawl-delay di un sito può richiedere un po', quindi un'attesa lunga è normale e non costa nulla. *Python: fare polling su un job e salvare ogni pagina come file .md* ```python import os import pathlib import re import time import requests JOBS = "https://webreaderapi.com/api/v1/jobs" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def save_job(job_id, folder="pages"): out = pathlib.Path(folder) out.mkdir(exist_ok=True) cursor, wait, saved = None, 2, 0 while True: params = {"cursor": cursor} if cursor else {} job = requests.get(f"{JOBS}/{job_id}", headers=HEADERS, params=params, timeout=30).json() for item in job["results"]: if "error" in item: print("skipped", item["url"], item["error"]["code"]) continue name = re.sub(r"[^a-z0-9]+", "-", item["final_url"].lower()).strip("-")[:120] (out / f"{name}.md").write_text(item["markdown"], encoding="utf-8") saved += 1 if job.get("next_cursor"): cursor, wait = job["next_cursor"], 2 continue if job["status"] == "done": return saved time.sleep(wait) wait = min(wait * 2, 30) if __name__ == "__main__": print(save_job("job_8b27f41c0e"), "pages saved") ``` ## Quali pagine legge un crawling? Un crawling parte dal tuo URL e si espande verso l'esterno un passaggio di link alla volta, in ampiezza, fino a `max_depth`. Legge anche la sitemap del sito, dall'indirizzo indicato in robots.txt o da `/sitemap.xml`, per trovare pagine verso cui puntano pochi link. - **Solo lo stesso dominio.** I link ad altri domini sono elencati nei risultati quando richiedi `include_links`, ma non vengono letti. - **Filtri di percorso.** `include_paths` e `exclude_paths` accettano semplici pattern come `/blog/*`. - **Una copia per pagina.** Quando un sito dichiara un URL canonico, una pagina raggiunta tramite più indirizzi viene letta una volta sola. - **Un limite invalicabile.** Il job termina quando ha letto `limit` pagine. ## Come rispetta il sito un crawling? Ogni richiesta porta lo User-Agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, e il crawler segue le regole di robots.txt per `WebReaderAPI`, o per tutti i robot quando nessuno lo nomina. Le pagine non consentite vengono saltate e compaiono in `results` con l'errore `blocked_by_robots`; non costano nulla. Quando robots.txt imposta un `Crawl-delay`, il crawler attende quel tempo tra due richieste al sito. Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. ## Quanto costa un crawling? Ogni pagina letta costa quanto una chiamata `/read`: 1 credito, 2 se la pagina ha richiesto un browser, più 10 con `country`. Le pagine saltate e quelle non riuscite sono gratuite. Il `credits_used` del job somma quanto è stato addebitato finora. Un sito di documentazione di 500 pagine letto senza browser usa circa 500 crediti, che il pack 10.000 pagine (3,75 USD) copre molte volte. Poiché in v1 un job non può essere annullato, `limit` è il tuo tetto di spesa: impostalo al numero massimo di pagine che sei disposto a pagare. ## Batch e crawling: domande frequenti ### Devo usare /batch o molte chiamate /read? Usa `/batch` quando hai già gli URL e non ti serve ogni risposta subito. Ti evita di gestire concorrenza e retry. Usa `/read` quando un agente ha bisogno di una pagina adesso. ### Per quanto tempo vengono conservati i risultati di un job? Raccoglili appena sono pronti. I risultati restano in attesa finché non li recuperi; una volta consegnati, non viene conservata alcuna copia del contenuto della pagina, quindi salva sul tuo lato ciò che ti serve. ### Un crawling può seguire link verso altri siti? No. Un crawling legge un solo dominio. Gli altri domini compaiono come link quando li richiedi, e puoi inviare quegli URL a `/batch` se vuoi che vengano letti. ### Posso fermare un crawling già avviato? Non in v1. Il job si ferma a `limit` pagine, quindi scegli un limite adeguato al tuo budget. Le pagine già lette restano fatturate; le pagine mai lette non costano nulla. --- 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. --- # Pagina web in Markdown con curl e jq > Converti pagine web in Markdown dal terminale con curl e jq: salva pagine, elenca link, esegui batch. Con 0,07 USD/1K pagine, senza KYC. - URL: https://webreaderapi.com/it/docs/curl/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Tutto ciò che fa l'API sta in un one-liner da shell. Queste ricette usano curl per chiamare l'API e jq per estrarre i campi dal JSON, con una versione PowerShell per Windows alla fine. **Risposta rapida — Come faccio a convertire una pagina web in Markdown dalla riga di comando?** Esegui `curl -sG https://webreaderapi.com/api/v1/read --data-urlencode "url=…"` con la tua chiave in un header `Authorization: Bearer`, poi passa la risposta a `jq -r .markdown`. **WebReaderAPI** restituisce il contenuto principale della pagina come Markdown con i suoi metadati. Una pagina semplice usa 1 credito, da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## Come configuro il terminale? Installa curl e jq, che la maggior parte dei sistemi Linux e macOS ha già, ed esporta la tua chiave una volta per sessione. Ogni ricetta qui sotto la legge da `$WEBREADER_API_KEY`, così la chiave non compare mai nella cronologia della shell come parte di un comando. Usa `-G` con `--data-urlencode` per le richieste GET: curl codifica l'indirizzo della pagina per te, cosa che conta perché gli indirizzi contengono `?`, `&` e `=` propri. *Imposta la chiave e salva una pagina come file .md* ```bash export WEBREADER_API_KEY="your-key" curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/guides/compost" \ | jq -r '.markdown' > compost.md ``` ## Come vedo cosa ha restituito una chiamata e quanto è costata? Chiedi a jq i metadati invece del contenuto. `final_url` mostra dove hanno portato i redirect, `rendered` ti dice se è stato usato un browser, e `credits_used` è quanto è costata la chiamata. Se la risposta è un errore, lo stesso filtro stampa i campi `null`; stampa `.error` per leggere il codice e il messaggio. *Solo i metadati, o l'errore se c'è* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/guides/compost" \ | jq '.error // {title, final_url, rendered, credits_used, word_count}' ``` ## Come elenco i link di una pagina? Aggiungi `include_links=true` e trasforma la lista `links` in righe separate da tabulazione. Ottieni così una mappa rapida dei link in uscita di una pagina, che puoi ordinare, filtrare con grep o passare a un job in batch. *Link come testo e URL, uno per riga* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/docs/" \ -d include_links=true \ | jq -r '.links[] | "\(.text)\t\(.url)"' | sort -u ``` ## Come leggo una pagina JavaScript o un PDF? Aggiungi `-d render=true` per una pagina che costruisce il suo contenuto con JavaScript; costa quindi 2 crediti. Un PDF non richiede nulla di speciale: invia il suo URL e il testo torna in `markdown`. I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato. *Una pagina renderizzata, poi un PDF* ```bash curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/app/changelog" -d render=true \ | jq -r '.markdown' > changelog.md curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/files/annual-report.pdf" \ | jq -r '.markdown' > annual-report.md ``` ## Come eseguo un job in batch dalla shell? Invia un body JSON con i tuoi URL a `/batch`, conserva il `job_id`, poi leggi il job. Un piccolo loop attende finché il job è `done` e stampa il titolo o il codice di errore di ogni pagina. Per i job lunghi, segui `next_cursor` come mostrato nella [pagina batch e crawl](https://webreaderapi.com/it/docs/crawl/). *Batch di tre URL, poi attendi il risultato* ```bash JOB=$(curl -s "https://webreaderapi.com/api/v1/batch" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example.com/a", "https://example.com/b", "https://example.com/c"]}' \ | jq -r '.job_id') until [ "$(curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq -r '.status')" = "done" ]; do sleep 5 done curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" \ | jq -r '.results[] | "\(.url)\t\(.title // .error.code)"' ``` ## Come controllo i miei crediti? Chiama `/credits`; è gratuito. Restituisce `credits_remaining`, `credits_used_today` e il tuo `concurrency_limit`. I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi. *Crediti rimanenti* ```bash curl -s "https://webreaderapi.com/api/v1/credits" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq '.credits_remaining' ``` ## Qual è la versione PowerShell su Windows? `Invoke-RestMethod` analizza il JSON per te, quindi jq non serve. Costruisci la query con `[uri]::EscapeDataString` per codificare l'indirizzo della pagina, e passa la chiave in una tabella headers. *PowerShell: salva una pagina* ```powershell $headers = @{ Authorization = "Bearer $env:WEBREADER_API_KEY" } $target = [uri]::EscapeDataString('https://example.com/guides/compost') $page = Invoke-RestMethod -Uri "https://webreaderapi.com/api/v1/read?url=$target" -Headers $headers $page.markdown | Out-File -Encoding utf8 compost.md "$($page.title): $($page.word_count) words, $($page.credits_used) credit(s)" ``` ## curl: domande frequenti ### Perché il mio URL con & fallisce? Perché la shell o curl lo dividono. Metti tra virgolette l'intero argomento `url=…` e passalo con `--data-urlencode`, come nelle ricette sopra; curl poi codifica `&`, `?` e `=` dentro l'indirizzo della pagina. ### Come vedo lo stato HTTP di un errore? Aggiungi `-w '\n%{http_code}\n'` per stamparlo dopo il body, oppure `-i` per vedere tutti gli header. Il `error.code` del body è il valore stabile da testare negli script. ### Una chiamata fallita viene fatturata? No. 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. --- 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. --- # Errori, rifiuti da robots.txt e retry > Tutti i codici di errore di WebReaderAPI: rifiuti da robots.txt, timeout ed errori sui crediti, quali riprovare e perché nessuno viene mai addebitato. - URL: https://webreaderapi.com/it/docs/errors/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Ogni errore ha uno stato HTTP, un `code` stabile e un `message` leggibile. Nessuno di essi usa un credito. Alcuni meritano un retry; i rifiuti che arrivano da un sito sono definitivi, e non li aggiriamo mai. **Risposta rapida — Cosa significano i codici di errore di WebReaderAPI, e quali conviene riprovare?** Gli errori **WebReaderAPI** si dividono in tre gruppi, e nessuno viene mai addebitato. I problemi di richiesta (`invalid_url`, `invalid_api_key`, `insufficient_credits`) richiedono una correzione da parte tua. Le decisioni del sito (`blocked_by_robots`, `blocked_by_site_policy`, `target_refused`) sono definitive. I fallimenti temporanei (`fetch_failed`, `fetch_timeout`, `concurrency_limit`) possono essere riprovati con backoff. I crediti partono da 0,07 USD/1K pagine, pagati in criptovalute senza KYC. ## Quali codici di errore può restituire l'API? Il body è sempre `{"error": {"code", "message"}}`, più `target_status` quando il rifiuto è arrivato dal sito. | HTTP | `code` | Causa | Riprovare? | | --- | --- | --- | --- | | 400 | `invalid_url` | Non http o https, troppo lungo, oppure un indirizzo privato, locale o di metadata cloud | No: correggi l'URL | | 400 | `invalid_parameter` | Un parametro ha un valore fuori dal suo elenco o intervallo | No: correggi la richiesta | | 401 | `invalid_api_key` | Chiave mancante, errata o revocata | No: controlla la chiave | | 402 | `insufficient_credits` | Il tuo saldo non ha più crediti | Dopo aver acquistato un pack | | 403 | `blocked_by_robots` | Il robots.txt del sito vieta la pagina a WebReaderAPI o a tutti i robot | No: definitivo | | 403 | `blocked_by_site_policy` | Il sito dichiara `Content-Signal: ai-input=no` | No: definitivo | | 422 | `unsupported_content` | Un tipo che non leggiamo (video, archivio) o un file troppo grande | No | | 429 | `concurrency_limit` | Troppe delle tue richieste sono in esecuzione nello stesso momento | Sì, con backoff | | 502 | `target_refused` | Il sito ha rifiutato: 403, 429, una pagina di challenge o un login wall; il suo stato è in `target_status` | No: definitivo | | 502 | `fetch_failed` | Errore DNS, TLS o di connessione, oppure il sito ha risposto 404 o 410 | Una o due volte, con backoff | | 504 | `fetch_timeout` | Il sito non ha risposto entro `timeout` | Sì, con backoff o un timeout più lungo | ## Perché robots.txt e i rifiuti del sito sono definitivi? Perché sono una decisione del proprietario del sito e WebReaderAPI è costruito per rispettarla. 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. Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. Quando un sito rifiuta una richiesta in un altro modo, con un 403, un 429, una pagina di challenge o un modulo di login, ricevi `target_refused` e lo stato del sito in `target_status`. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. Riprovare lo stesso URL un minuto dopo di solito dà la stessa risposta, quindi tratta questi codici come un risultato, non come un errore: registrali e vai avanti. ## Come faccio a controllare perché una pagina è stata rifiutata? Apri il `/robots.txt` del sito e cerca un gruppo che nomina `WebReaderAPI`, oppure il gruppo `*` che vale per tutti i robot. Una riga `Disallow` che corrisponde al percorso spiega un `blocked_by_robots`. Una riga come `Content-Signal: ai-input=no` spiega un `blocked_by_site_policy`. Conserviamo una copia di ogni robots.txt per un massimo di 24 ore. Se un sito ha appena aperto una sezione ai robot, la modifica può richiedere fino a un giorno per essere applicata. I proprietari dei siti possono leggere come si comporta il nostro crawler e come consentirlo o bloccarlo nella [nostra pagina del crawler](https://webreaderapi.com/it/bot/). ## Come devo riprovare i fallimenti temporanei? Riprova solo `concurrency_limit`, `fetch_timeout` e, una o due volte, `fetch_failed`. Aspetta prima di ogni nuovo tentativo e raddoppia l'attesa ogni volta, con un po' di jitter casuale così i worker paralleli non riprovano insieme. Fermati dopo 4 o 5 tentativi. Per `concurrency_limit`, la soluzione migliore è inviare meno richieste contemporaneamente: Ogni account ha un limite di pagine lette contemporaneamente; la tua dashboard lo mostra e il supporto può aumentarlo. Per `fetch_timeout`, aumenta `timeout` fino a 60 secondi prima di riprovare con un sito lento. I tentativi non costano nulla, perché un tentativo fallito non viene mai addebitato. *Python: riprova solo gli errori che possono cambiare* ```python import os import random import time import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} RETRY = {"concurrency_limit", "fetch_timeout", "fetch_failed"} FINAL = {"blocked_by_robots", "blocked_by_site_policy", "target_refused", "unsupported_content"} def read_page(url, attempts=5, **options): wait = 1.0 for attempt in range(1, attempts + 1): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) if resp.status_code == 200: return resp.json() error = resp.json().get("error", {}) code = error.get("code", "unknown") if code in FINAL: return {"url": url, "skipped": code, "target_status": error.get("target_status")} if code not in RETRY or attempt == attempts or (code == "fetch_failed" and attempt >= 3): raise RuntimeError(f"{code}: {error.get('message')}") time.sleep(wait + random.uniform(0, wait / 2)) wait = min(wait * 2, 30) raise RuntimeError("unreachable") if __name__ == "__main__": print(read_page("https://example.com/blog/first-post", max_chars=20000).get("title")) ``` *Node.js: la stessa regola con backoff esponenziale* ```javascript const RETRY = new Set(['concurrency_limit', 'fetch_timeout', 'fetch_failed']); const FINAL = new Set(['blocked_by_robots', 'blocked_by_site_policy', 'target_refused', 'unsupported_content']); const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); export async function readPage(url, options = {}, attempts = 5) { let wait = 1000; for (let attempt = 1; attempt <= attempts; attempt++) { const params = new URLSearchParams({ url, ...options }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const body = await res.json(); if (res.ok) return body; const code = body.error?.code ?? 'unknown'; if (FINAL.has(code)) return { url, skipped: code, target_status: body.error.target_status }; if (!RETRY.has(code) || attempt === attempts) throw new Error(`${code}: ${body.error?.message}`); await sleep(wait + Math.random() * (wait / 2)); wait = Math.min(wait * 2, 30000); } } ``` ## E per gli errori dentro un batch o un crawl? Un lavoro non si ferma perché una pagina fallisce. Quella pagina compare in `results` come `{url, error}` con gli stessi codici di cui sopra, e non costa nulla. Un crawling che incontra `blocked_by_robots` su una sezione legge semplicemente il resto del sito. Alla fine di un lavoro, conta i codici di errore. Molti `target_refused` su un sito significano che il sito non accetta lettori automatizzati; molti `fetch_timeout` significano che è lento, e un `timeout` più lungo nelle opzioni del lavoro può aiutare. ## Errori: domande frequenti ### Mi viene addebitata una pagina bloccata da robots.txt? No. 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. Lo stesso vale per ogni altro errore in questa pagina. ### Puoi leggere una pagina che blocca il tuo crawler se te lo chiedo? No. Rispettiamo la scelta del proprietario del sito, e la policy è la stessa per ogni cliente. Se il sito è tuo, aggiungi una regola per `WebReaderAPI` nel tuo robots.txt; la [pagina del crawler](https://webreaderapi.com/it/bot/) mostra come. ### Perché ricevo fetch_failed per una pagina che esiste? Il sito potrebbe essere stato giù, lento ad accettare una connessione TLS o restituire 404 ai client automatizzati. Riprova una o due volte con backoff. Se continua a fallire, controlla l'indirizzo in un browser. ### Cosa dovrebbe dire il mio agente all'utente dopo un rifiuto? Qualcosa di semplice, come che il sito non consente la lettura automatizzata di quella pagina. Poi lascia che il modello usi altre fonti. Restituire il codice di errore come risultato del tool basta per la maggior parte dei modelli. --- 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. --- # LangChain e LlamaIndex: un web page loader e un tool read_url > Web page loader per LangChain e LlamaIndex: un tool read_url, un document loader e un indice RAG da crawling in Python. Senza KYC, paghi in criptovalute. - URL: https://webreaderapi.com/it/docs/langchain/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Due modi per usare l'API in uno stack AI Python: caricare le pagine come documenti per il retrieval, oppure dare a un agente un tool `read_url`. Le stesse 20 righe di collante servono per LangChain e LlamaIndex. **Risposta rapida — Come carico le pagine web in LangChain o LlamaIndex come Markdown pulito?** Chiama l'endpoint `/read` di **WebReaderAPI** e avvolgi ogni risposta in un `Document`: il Markdown come content, `final_url` e il titolo come metadata. Per gli agenti, esponi la stessa chiamata come tool `read_url`. Le pagine costano 1 credito ciascuna, 2 con un browser, a partire da 0,07 USD/1K pagine a ottobre 2026. Non serve nessun nostro pacchetto. Senza KYC; paghi in criptovalute. ## Perché documenti Markdown invece di HTML grezzo? Perché il retrieval lavora sul testo, e il Markdown mantiene la struttura che conta scartando il resto. Le intestazioni sopravvivono, così uno splitter può tagliare ai cambi di argomento. Liste e tabelle sopravvivono, così passaggi e specifiche restano insieme. Navigazione, banner dei cookie e pubblicità spariscono, così non inquinano i tuoi embedding né sprecano token. I metadata arrivano dalla stessa chiamata: `final_url` come fonte da citare, `title`, `published_at` e `language` per il filtraggio. *reader.py: l'helper condiviso (salvalo accanto al tuo codice)* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} class PageError(Exception): pass def read_page(url, **options): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) body = resp.json() if resp.status_code != 200: raise PageError(body["error"]["code"]) return body ``` ## Come costruisco un document loader per LangChain? Trasforma ogni pagina in un `langchain_core.documents.Document`, poi dividila per intestazioni con `MarkdownHeaderTextSplitter` dal pacchetto `langchain-text-splitters`. Ogni chunk conserva il percorso delle intestazioni nei suoi metadata, e aggiungi l'URL di origine così ogni risposta può rimandare alla sua pagina. Le pagine saltate, come quelle rifiutate da robots.txt, sollevano `PageError` con il codice; registrale nei log e continua. *LangChain: carica e dividi le pagine* ```python from langchain_core.documents import Document from langchain_text_splitters import MarkdownHeaderTextSplitter from reader import PageError, read_page splitter = MarkdownHeaderTextSplitter(headers_to_split_on=[("#", "h1"), ("##", "h2"), ("###", "h3")]) def load_pages(urls): chunks = [] for url in urls: try: page = read_page(url) except PageError as exc: print("skipped", url, exc) continue for part in splitter.split_text(page["markdown"]): part.metadata.update({"source": page["final_url"], "title": page.get("title", "")}) chunks.append(part) return chunks docs = load_pages(["https://example.com/docs/install", "https://example.com/docs/configure"]) print(len(docs), "chunks", isinstance(docs[0], Document) if docs else "") ``` ## Come do a un agente LangChain un tool read_url? Decora una funzione con `@tool` da `langchain_core.tools`. La docstring diventa la descrizione del tool che il modello legge, quindi indica cosa restituisce il tool e quando usarlo. Restituisci testo semplice: una riga di titolo, la fonte e il Markdown, tagliato con `max_chars` in base al tuo modello. Collega il tool a qualsiasi chat model che supporta il tool calling, oppure passalo al costruttore del tuo agente. Il modello chiama poi `read_url` con un URL preso dalla conversazione o da un risultato di ricerca. *LangChain: il tool read_url* ```python import os from langchain.chat_models import init_chat_model from langchain_core.tools import tool from reader import PageError, read_page @tool def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown, with its title and source URL.""" try: page = read_page(url, max_chars=max_chars) except PageError as exc: return "Could not read the page: " + str(exc) return "# " + (page.get("title") or url) + "\nSource: " + page["final_url"] + "\n\n" + page["markdown"] model = init_chat_model(os.environ.get("CHAT_MODEL", "openai:gpt-4.1-mini")).bind_tools([read_url]) reply = model.invoke("Summarise https://example.com/blog/first-post in three bullet points.") print(reply.tool_calls) ``` ## Come faccio lo stesso in LlamaIndex? LlamaIndex usa la propria classe `Document` con `text` e `metadata`, e `FunctionTool.from_defaults` per trasformare una funzione in un tool. L'helper resta lo stesso. Costruisci un indice dai documenti con `VectorStoreIndex.from_documents`, che usa qualunque embedding model nominino le tue impostazioni di LlamaIndex. *LlamaIndex: indicizza un crawling e un tool read_url* ```python import os import time import requests from llama_index.core import Document, VectorStoreIndex from llama_index.core.tools import FunctionTool from reader import HEADERS, PageError, read_page def crawl_pages(start_url, limit=200): job = requests.post("https://webreaderapi.com/api/v1/crawl", headers=HEADERS, json={"url": start_url, "limit": limit}, timeout=30).json() pages, cursor = [], None while True: params = {"cursor": cursor} if cursor else {} res = requests.get("https://webreaderapi.com/api/v1/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=30).json() pages += [r for r in res["results"] if "error" not in r] cursor = res.get("next_cursor") if not cursor and res["status"] == "done": return pages if not cursor: time.sleep(5) pages = crawl_pages("https://docs.example.com/") docs = [Document(text=p["markdown"], metadata={"source": p["final_url"], "title": p.get("title", "")}) for p in pages] index = VectorStoreIndex.from_documents(docs) print(index.as_query_engine().query("How do I install the product?")) def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown.""" try: return read_page(url, max_chars=max_chars)["markdown"] except PageError as exc: return "Could not read the page: " + str(exc) read_tool = FunctionTool.from_defaults(fn=read_url, name="read_url") print(os.environ.get("CHAT_MODEL", "set CHAT_MODEL for your agent"), read_tool.metadata.name) ``` ## Quanto deve essere grande un crawling per un piccolo indice RAG? Meno di quanto pensi. La documentazione di un prodotto è spesso qualche centinaio di pagine, e un crawling con `include_paths` impostato sulla sezione dei docs legge solo quelle. A 1 credito a pagina, un sito di docs da 300 pagine costa circa 300 crediti; 10.000 pagine (3,75 USD) lo aggiorna molte volte. Ripeti il crawling con una cadenza che corrisponde a quanto spesso cambia la fonte, e confronta `final_url` e `word_count` con l'esecuzione precedente per ri-incorporare solo le pagine cambiate. I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi. ## LangChain e LlamaIndex: domande frequenti ### Esiste un pacchetto WebReaderAPI per LangChain o LlamaIndex? No. L'helper e il tool in questa pagina sono tutta l'integrazione, così puoi adattarli liberamente. WebReaderAPI è un'API HTTPS semplice che qualsiasi client HTTP Python può chiamare. ### Quale versione di LangChain serve? Qualsiasi versione recente con `langchain_core`, `langchain-text-splitters` e `init_chat_model`. Il decoratore del tool e la classe `Document` sono stati stabili nelle release recenti. ### Come evito di rileggere pagine che non sono cambiate? Salva `final_url`, `word_count` e la data di ogni lettura. Rileggi con una cadenza regolare, e ri-incorpora una pagina solo quando il suo conteggio parole o l'hash del contenuto cambia. Ogni rilettura costa un credito, quindi scegli un ritmo che corrisponde alla fonte. ### E se alcune pagine vengono rifiutate? Sollevano `PageError` con un codice come `blocked_by_robots`, e non costano nulla. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. --- 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. --- # MCP server web page reader per Claude, Cursor e altri client MCP > MCP server web page reader per Claude Desktop e Cursor: un tool Python read_url da 40 righe che restituisce Markdown pulito. Paghi in criptovalute. - URL: https://webreaderapi.com/it/docs/mcp/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Dai a qualsiasi client MCP un tool `read_url` che converte un link in Markdown pulito. Il server è un unico file Python breve che esegui sulla tua macchina; la tua chiave API resta nel suo ambiente. **Risposta rapida — Come aggiungo un web page reader a Claude Desktop o Cursor con MCP?** Esegui un piccolo MCP server che espone un tool `read_url` che chiama **WebReaderAPI**, poi registralo nelle impostazioni MCP del tuo client con la tua chiave in `env`. Il modello può così leggere qualsiasi pagina pubblica come Markdown pulito. Ogni pagina letta costa 1 credito, 2 con un browser, a partire da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## Il MCP server in sintesi | Attributo | Valore | | --- | --- | | Linguaggio | Python 3.10+, con i pacchetti `mcp` e `httpx` | | Trasporto | stdio: il client avvia il server come processo locale | | Strumento | `read_url(url, max_chars)` → titolo, URL di origine, poi il Markdown della pagina | | Perché non web_fetch | Claude Code e OpenClaw includono già un tool integrato con quel nome | | Chiave | Letta da `WEBREADER_API_KEY` nell'ambiente del server | | 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 | ## Perché un tool read_url e non web_fetch? Perché due tool con lo stesso nome confondono sia il client sia il modello. Claude Code e OpenClaw includono già un tool chiamato `web_fetch`. Un nome distinto, `read_url`, e una descrizione chiara permettono al modello di scegliere il nostro quando serve il contenuto principale di una pagina, comprese le pagine JavaScript e i PDF. Il tool restituisce testo, non JSON. I modelli gestiscono meglio un'intestazione breve e il Markdown rispetto ai campi annidati, e l'intestazione tiene l'URL di origine in vista così la risposta può citarlo. *webreader_mcp.py* ```python import os import httpx from mcp.server.fastmcp import FastMCP API = "https://webreaderapi.com/api/v1/read" KEY = os.environ["WEBREADER_API_KEY"] mcp = FastMCP("webreaderapi") @mcp.tool() def read_url(url: str, max_chars: int = 20000) -> str: """Read a public web page and return its main content as Markdown. Use it when the user gives a link or when a page must be read to answer. max_chars caps the length of the returned text (1,000 to 500,000). """ params = {"url": url, "max_chars": max(1000, min(int(max_chars), 500000))} try: resp = httpx.get(API, params=params, headers={"Authorization": "Bearer " + KEY}, timeout=75) except httpx.HTTPError as exc: return "Network error while reading the page: " + str(exc) body = resp.json() if resp.status_code != 200: err = body.get("error", {}) return "Could not read the page: " + err.get("code", str(resp.status_code)) + ". " + err.get("message", "") title = body.get("title") or url return "# " + title + "\nSource: " + body.get("final_url", url) + "\n\n" + body.get("markdown", "") if __name__ == "__main__": mcp.run() ``` ## Come installo e provo il server? Crea un ambiente virtuale, installa `mcp` e `httpx` e salva il file qui sopra. Il pacchetto `mcp` è l'SDK Python ufficiale del Model Context Protocol; `FastMCP` trasforma una funzione Python tipizzata in un tool, usando la docstring come descrizione. Prima di collegarlo a un client, esegui il file una volta da terminale con la tua chiave impostata. Attende in silenzio un client su stdin, il che significa che è partito correttamente; fermalo con Ctrl+C. *Installazione* ```bash python -m venv .venv . .venv/bin/activate pip install "mcp[cli]" httpx WEBREADER_API_KEY="your-key" python webreader_mcp.py ``` ## Come lo registro in Claude Desktop? Apri le impostazioni per sviluppatori di Claude Desktop, modifica `claude_desktop_config.json` e aggiungi una voce sotto `mcpServers`. Usa percorsi assoluti: il Python del tuo ambiente virtuale e il file del server. Metti la chiave in `env`, così non compare mai negli argomenti del tool né nella conversazione. Riavvia Claude Desktop e `read_url` appare nell'elenco dei tool. Cursor legge la stessa struttura `mcpServers` dal suo file di configurazione MCP, e Claude Code può registrare lo stesso comando con il suo comando `claude mcp add`. Per OpenClaw, vedi la [pagina OpenClaw](https://webreaderapi.com/it/docs/openclaw/). *claude_desktop_config.json* ```json { "mcpServers": { "webreaderapi": { "command": "/home/you/webreader/.venv/bin/python", "args": ["/home/you/webreader/webreader_mcp.py"], "env": { "WEBREADER_API_KEY": "your-key" } } } } ``` ## Come mantengo le pagine entro il contesto del modello? Riduci `max_chars`. Il valore predefinito di 20.000 caratteri basta per la maggior parte degli articoli e impedisce che una pagina lunga riempia il contesto. Un modello che legge più pagine in una sola risposta rende meglio con 8.000-12.000 caratteri per pagina. Chiedi al modello di leggere le pagine che gli servono, non ogni link che vede. Una frase breve nelle istruzioni del tuo progetto, come "leggi al massimo tre pagine per domanda", tiene sotto controllo sia il costo sia il contesto. ## Cosa succede quando un sito rifiuta la lettura? Il tool restituisce un messaggio breve con il codice di errore, come `blocked_by_robots` o `target_refused`, e non viene addebitato nulla. 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. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. Il modello può quindi dire che la pagina non è disponibile ai lettori automatizzati e usare un'altra fonte. ## MCP server: domande frequenti ### Esiste un pacchetto MCP ufficiale di WebReaderAPI? No. Il file in questa pagina è l'integrazione: 40 righe che puoi leggere, modificare ed eseguire da solo. Niente da installare da parte nostra, e la tua chiave non lascia mai la tua macchina se non nelle chiamate alla nostra API. ### Il modello può cercare sul web con questo server? No. `read_url` legge una pagina di cui tu o il modello avete già l'indirizzo. Abbinalo a qualsiasi tool di ricerca offerto dal tuo client; il modello cerca, poi legge le pagine che contano. ### Quanto costa far funzionare un assistente con questo server? Un credito per pagina letta, due quando serve un browser. Un assistente che legge 50 pagine al giorno usa circa 1.500 crediti al mese, e 10.000 pagine (3,75 USD) li copre per circa sei mesi. ### Il server funziona offline? No. Chiama `https://webreaderapi.com/api/v1/read` per ogni pagina, quindi serve accesso a internet e una chiave valida. --- 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. --- # Leggi pagine web negli agenti AI di n8n con WebReaderAPI > Leggi pagine web negli agenti AI di n8n: HTTP Request trasforma ogni URL in Markdown pulito con un workflow schedulato. Senza KYC, paghi in criptovalute. - URL: https://webreaderapi.com/it/docs/n8n/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Il nodo HTTP Request di n8n può agire come strumento per il suo nodo AI Agent. Puntalo su `/read`, lascia che il modello compili l'URL, e l'agente può leggere qualsiasi pagina pubblica come Markdown pulito, senza installare alcun community node. **Risposta rapida — Come faccio a far leggere pagine web a un agente AI di n8n?** Collega un nodo HTTP Request al nodo AI Agent di n8n come strumento, impostalo su `GET https://webreaderapi.com/api/v1/read` con una credenziale Header Auth che contiene la tua chiave **WebReaderAPI**, e lascia che il modello definisca il parametro `url`. Attiva Optimize Response per mantenere solo `title`, `final_url` e `markdown`. Ogni pagina costa 1 credito, a partire da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## Quali impostazioni di HTTP Request uso? I nomi delle opzioni seguono la documentazione del nodo HTTP Request di n8n, consultata il 2026-10-22. | Impostazione | Valore | | --- | --- | | Posizione | Collegato al nodo **AI Agent** come strumento | | Metodo | `GET` | | URL | `https://webreaderapi.com/api/v1/read` | | Autenticazione | Generic credentials → **Header Auth** | | Credenziale Header Auth | Name `Authorization`, Value `Bearer ` seguito dalla tua chiave API | | Send Query Parameters | Attivo, **Using Fields Below** | | Parametro `url` | Definito dal modello (vedi sotto) | | Parametro `max_chars` | Un valore fisso come `15000` | | Optimize Response | Attivo · tipo di risposta **JSON** · Include Fields **Selected**: `title`, `final_url`, `markdown` | ## Perché usare il nodo HTTP Request come strumento? Perché fa già tutto ciò che serve a questa API: una richiesta GET, un header e due parametri di query. n8n documenta che il nodo HTTP Request può funzionare come nodo normale o essere collegato a un agente AI come strumento, e che alcune opzioni esistono solo nella forma a strumento. Non c'è nulla di nostro da installare o aggiornare, e la chiave sta nel credential store di n8n invece che nel workflow. Assegna a n8n una chiave propria, così il suo utilizzo è visibile separatamente dagli altri tuoi script e puoi revocarla da sola. Crea più chiavi API, ad esempio una per agente o per progetto, e revoca quelle che vuoi dalla tua dashboard. ## Come sceglie il modello l'URL da leggere? Lascia che il modello definisca il parametro `url`. n8n mostra un pulsante accanto ai campi parametro idonei che passa il valore al modello, e puoi anche scrivere l'espressione tu stesso con la funzione `$fromAI()` di n8n. Richiede una chiave, una descrizione, un tipo e un valore predefinito facoltativo, per esempio la chiave `url`, la descrizione "L'indirizzo http o https della pagina da leggere" e il tipo `string`. n8n documenta che `$fromAI()` funziona solo negli strumenti collegati al nodo AI Agent. Scrivi anche la descrizione dello strumento in parole semplici, come "Legge una pagina web pubblica e restituisce il suo contenuto principale come Markdown", così l'agente sa quando chiamarlo. ## Perché attivare Optimize Response? Perché tutto ciò che uno strumento restituisce finisce nel contesto del modello. Optimize Response è un'opzione disponibile solo per gli strumenti che riduce i dati passati al modello. Con il tipo di risposta JSON puoi includere solo i campi selezionati; mantieni `title`, `final_url` e `markdown` ed elimina il resto. Limita la lunghezza dalla nostra parte con `max_chars`, che taglia il Markdown prima che esca dall'API. I tipi di risposta HTML e Text del nodo hanno la propria opzione Truncate Response, ma con la nostra risposta JSON `max_chars` è il controllo più semplice. ## Come uso l'API in un workflow schedulato? Usa il nodo HTTP Request come nodo normale, non come strumento, dietro un Schedule Trigger. Assegnagli un `url` fisso, come un changelog o una pagina prezzi che segui, e invia il campo `markdown` al nodo successivo: un file, un database, un messaggio in chat o un confronto con l'esecuzione precedente. Ogni esecuzione legge una pagina per URL. Monitorare 20 pagine una volta al giorno usa circa 600 crediti al mese per pagine senza browser, quindi 10.000 pagine (3,75 USD) dura più di un anno. I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi. ## Cosa succede quando un sito rifiuta la lettura? Il nodo riceve una risposta di errore con un codice come `blocked_by_robots` o `target_refused`, e non viene addebitato nulla. 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. In un agente, lascia che lo strumento restituisca l'errore così il modello può spiegarlo o provare un'altra fonte; in un workflow schedulato, indirizza gli errori verso un ramo che li registra. La [pagina degli errori](https://webreaderapi.com/it/docs/errors/) elenca ogni codice. ## Posso provare la chiamata prima di costruire il workflow? Esegui la stessa chiamata in un terminale con curl, come mostrato nelle [ricette curl](https://webreaderapi.com/it/docs/curl/). Se funziona lì e fallisce in n8n, la causa è nelle impostazioni del nodo, il più delle volte il valore della credenziale a cui manca il prefisso `Bearer ` o il parametro `url` lasciato vuoto. ## n8n: domande frequenti ### Serve un community node per WebReaderAPI? No. Basta il nodo HTTP Request integrato, come strumento per l'AI Agent o come nodo normale in qualsiasi workflow. ### L'agente può leggere pagine JavaScript o PDF? Sì. L'API decide quando serve un browser (`render=auto`) e legge i PDF come testo. Una pagina renderizzata usa 2 crediti; I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato. ### Come faccio a impedire all'agente di leggere troppe pagine? Indica quante pagine può leggere nel system message dell'agente e mantieni `max_chars` contenuto. Ogni lettura è una tool call, quindi qualsiasi limite tu imposti sulle tool call dell'agente limita anche il numero di pagine. ### Come pago i crediti? Ricarica il saldo da 25 USD in BTC, USDT, USDC, ETH, SOL, LTC, poi acquista un pack. WebReaderAPI non chiede documenti d'identità, selfie né documenti aziendali. ## Fonti 1. [Nodo HTTP Request](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) — n8n docs (read 2026-10-22) 2. [Credenziali HTTP Request](https://docs.n8n.io/integrations/builtin/credentials/httprequest/) — n8n docs (read 2026-10-22) 3. [Nodo AI Agent](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/) — n8n docs (read 2026-10-22) 4. [Lascia che l'AI specifichi i parametri del tool con $fromAI()](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/) — n8n docs (read 2026-10-22) --- 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. --- # Da pagina web a Markdown in Node.js > Converti pagine web in Markdown in Node.js con fetch nativo, un pool di concorrenza e polling. Da 0,07 USD/1K pagine, senza KYC, in criptovalute. - URL: https://webreaderapi.com/it/docs/node/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Node.js 18 e successivi includono `fetch`, quindi non ti serve alcuna dipendenza. Tre ricette: leggi una pagina, leggi una lista con un piccolo pool di concorrenza e segui un crawl job fino alla fine. **Risposta rapida — Come converto una pagina web in Markdown in Node.js?** Usa `fetch` integrato di Node.js 18+: chiama `https://webreaderapi.com/api/v1/read?url=…` con la tua chiave nell'header `Authorization` e leggi `markdown` dalla risposta JSON. **WebReaderAPI** restituisce il contenuto principale della pagina con titolo, autore e data. Una pagina costa 1 credito, 2 con un browser, da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## Di cosa ho bisogno? Node.js 18 o successivo, per il `fetch` globale, e una chiave API nella variabile d'ambiente `WEBREADER_API_KEY`. Gli esempi sono moduli ES: salvali con l'estensione `.mjs`, oppure imposta `"type": "module"` nel tuo `package.json`, così che `await` di primo livello funzioni. I commenti JSDoc descrivono la forma della risposta, così editor come VS Code ti danno il completamento senza bisogno di una build TypeScript. *read.mjs: una pagina* ```javascript /** * @typedef {Object} Page * @property {string} url * @property {string} final_url * @property {number} status_code * @property {boolean} rendered * @property {number} credits_used * @property {string} [title] * @property {string} [author] * @property {string} [published_at] * @property {string} [language] * @property {string} [markdown] * @property {number} word_count */ /** @returns {Promise} */ export async function readPage(url, options = {}) { const params = new URLSearchParams({ url, ...options }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, signal: AbortSignal.timeout(75_000), }); const body = await res.json(); if (!res.ok) throw Object.assign(new Error(body.error.message), { code: body.error.code }); return body; } const page = await readPage('https://example.com/docs/getting-started', { max_chars: '20000' }); console.log(page.title, page.word_count, 'words,', page.credits_used, 'credit(s)'); ``` ## Come leggo una lista di URL senza superare il limite? Esegui un numero fisso di worker che prendono gli URL da una coda condivisa. È più semplice di `Promise.all` sull'intera lista, che avvierebbe tutte le richieste insieme e farebbe scattare `429 concurrency_limit`. Ogni account ha un limite di pagine lette contemporaneamente; la tua dashboard lo mostra e il supporto può aumentarlo. Il pool qui sotto tiene gli errori accanto ai risultati, così una pagina rifiutata non blocca l'esecuzione. Rifiuti come `blocked_by_robots` sono definitivi e gratuiti; contali e vai avanti. *pool.mjs: una lista di URL, 8 alla volta* ```javascript import { readPage } from './read.mjs'; export async function readAll(urls, workers = 8) { const queue = [...urls]; const results = []; async function worker() { while (queue.length) { const url = queue.shift(); try { const page = await readPage(url, { max_chars: '50000' }); results.push({ url, page }); } catch (err) { results.push({ url, error: err.code ?? err.name }); } } } await Promise.all(Array.from({ length: workers }, worker)); return results; } const urls = Array.from({ length: 30 }, (_, i) => `https://example.com/blog/post-${i + 1}`); for (const r of await readAll(urls)) console.log(r.url, '->', r.error ?? r.page.title); ``` ## Come seguo un crawl job in Node.js? Avvia il job con `POST https://webreaderapi.com/api/v1/crawl`, poi leggi `https://webreaderapi.com/api/v1/jobs/{job_id}` in un ciclo. Passa `cursor` ogni volta che `next_cursor` torna; quando non c'è cursor e lo status è `done`, il job è finito. Aspetta tra un polling vuoto e l'altro e raddoppia l'attesa fino a 30 secondi, perché un crawl che rispetta il Crawl-delay di un sito può essere lento. La [pagina batch e crawl](https://webreaderapi.com/it/docs/crawl/) spiega come il crawl sceglie le pagine e come `limit` limita ciò che legge. *crawl.mjs: avvia un crawl e raccogli ogni pagina* ```javascript const headers = { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json', }; const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); const start = await fetch('https://webreaderapi.com/api/v1/crawl', { method: 'POST', headers, body: JSON.stringify({ url: 'https://docs.example.com/', limit: 300, include_paths: ['/docs/*'] }), }); const { job_id } = await start.json(); const pages = []; let cursor = ''; let wait = 2000; for (;;) { const url = `https://webreaderapi.com/api/v1/jobs/${job_id}${cursor ? `?cursor=${encodeURIComponent(cursor)}` : ''}`; const job = await (await fetch(url, { headers })).json(); pages.push(...job.results.filter((r) => !r.error)); if (job.next_cursor) { cursor = job.next_cursor; wait = 2000; continue; } if (job.status === 'done') break; await sleep(wait); wait = Math.min(wait * 2, 30000); } console.log(pages.length, 'pages read, job', job_id); ``` ## Come passo il risultato a un modello? Invia il Markdown, non l'intero JSON. Il campo `markdown` è ciò che dovrebbe leggere un modello; i metadati è meglio tenerli per le citazioni. Anteponi titolo e `final_url`, così il modello può indicare la sua fonte, e mantieni `max_chars` a una dimensione che il contesto del tuo modello possa contenere, ad esempio 20.000 caratteri per pagina. La [pagina OpenAI function calling](https://webreaderapi.com/it/docs/openai/) mostra l'intero tool loop in Python; la stessa funzione `readPage` qui sopra può servire da corpo del tool in un agente Node.js. ## Node.js: domande frequenti ### Funziona in Deno, Bun o nel browser? Deno e Bun supportano lo stesso `fetch` e i moduli ES. Non chiamare l'API da una pagina del browser: la chiave sarebbe visibile a ogni visitatore. Chiamala invece dal tuo server. ### Esiste un pacchetto npm? No. Le funzioni di questa pagina sono l'intera integrazione. WebReaderAPI è semplice HTTPS e JSON, così mantieni il controllo su retry, timeout e logging. ### Come gestisco il 429 concurrency_limit? Riduci il numero di worker, oppure riprova dopo una breve attesa che raddoppia ogni volta. Un 429 non costa nulla, e la [pagina degli errori](https://webreaderapi.com/it/docs/errors/) ha una funzione di backoff pronta. ### Quanto costa leggere 10.000 pagine? Circa 10.000 crediti per pagine semplici, di più se alcune richiedono un browser. 10.000 pagine costano 3,75 USD; I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi. --- 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. --- # OpenAI function calling: un tool read_url per il tuo modello > Function calling OpenAI con read_url: schema JSON e ciclo Python per trasformare i link in Markdown pulito. Senza KYC, paghi in criptovalute. - URL: https://webreaderapi.com/it/docs/openai/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Descrivi una funzione, `read_url`, ed eseguila quando il modello lo richiede. Il modello sceglie quali pagine leggere; il tuo codice chiama l'API e restituisce il Markdown. Lo stesso schema funziona con altri modelli che supportano il tool calling. **Risposta rapida — Come faccio a far leggere pagine web a un modello OpenAI con il function calling?** Dichiara una funzione `read_url` nella lista `tools`, poi esegui un loop: quando il modello restituisce una tool call, chiama l'endpoint `/read` di **WebReaderAPI** con l'URL e rimanda il Markdown indietro come messaggio `tool`. Ogni pagina costa 1 credito, 2 con un browser, a partire da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## Come è fatto lo schema di read_url? Bastano due parametri: l'`url` da leggere, obbligatorio, e un `max_chars` opzionale che permette al modello di accorciare una pagina lunga. La description è la parte più importante: dice al modello cosa restituisce il tool e quando usarlo. Tienila breve e fattuale. Chiamiamo il tool `read_url` invece di `web_fetch` per evitare conflitti con tool che alcuni runtime degli agenti forniscono già con quel nome. *La definizione del tool* ```json { "type": "function", "function": { "name": "read_url", "description": "Read a public web page and return its main content as Markdown, with its title and source URL. Use it when the user gives a link or when a page must be read to answer.", "parameters": { "type": "object", "properties": { "url": { "type": "string", "description": "The http or https address of the page." }, "max_chars": { "type": "integer", "description": "Most characters to return, 1000 to 500000. Default 20000." } }, "required": ["url"], "additionalProperties": false } } } ``` ## Come funziona il loop di tool calling? Invia la conversazione con la lista `tools`. Se la risposta contiene tool call, eseguine ciascuna, aggiungi il risultato come messaggio con role `tool` e il relativo `tool_call_id`, e interroga di nuovo il modello. Quando arriva una risposta senza tool call, quella è la risposta finale. Limita il numero di round. Tre o quattro bastano per una domanda su qualche pagina, e il limite ti protegge da un modello che continua a chiedere altro. *Python: il loop completo con il pacchetto openai* ```python import json import os import requests from openai import OpenAI READ_URL = { "type": "function", "function": { "name": "read_url", "description": "Read a public web page and return its main content as Markdown, with its title and source URL.", "parameters": { "type": "object", "properties": { "url": {"type": "string", "description": "The http or https address of the page."}, "max_chars": {"type": "integer", "description": "Most characters to return. Default 20000."}, }, "required": ["url"], "additionalProperties": False, }, }, } def read_url(url, max_chars=20000): resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": url, "max_chars": max_chars}, timeout=75, ) body = resp.json() if resp.status_code != 200: return "Could not read the page: " + body["error"]["code"] return "# " + (body.get("title") or url) + "\nSource: " + body["final_url"] + "\n\n" + body["markdown"] client = OpenAI() model = os.environ.get("OPENAI_MODEL", "gpt-4.1-mini") messages = [{"role": "user", "content": "What does https://example.com/blog/first-post announce? Answer in two sentences."}] for _ in range(4): reply = client.chat.completions.create(model=model, messages=messages, tools=[READ_URL]) msg = reply.choices[0].message if not msg.tool_calls: print(msg.content) break messages.append(msg) for call in msg.tool_calls: args = json.loads(call.function.arguments) messages.append({"role": "tool", "tool_call_id": call.id, "content": read_url(**args)}) ``` ## Come tengo bassi l'uso di token e i costi? Tre impostazioni contano. Mantieni `max_chars` contenuto, intorno agli 8.000–20.000 caratteri per pagina, perché ogni carattere che restituisci viene letto dal modello. Lascia il valore predefinito `main_content=true`, così menu e footer non arrivano mai nel contesto. E limita il loop, come sopra, così una singola domanda non può scatenare decine di letture. Dal nostro lato, il costo è per pagina, non per carattere: 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. Un support assistant che legge 300 pagine al giorno consuma circa 9.000 crediti al mese, dentro 10.000 pagine (3,75 USD). ## Lo schema funziona con altri modelli? Sì, con piccole modifiche nel wrapper. La maggior parte delle API con tool calling accetta un JSON Schema per i parametri e un nome e una description per il tool, quindi `read_url` si sposta tra provider così com'è. La [pagina MCP](https://webreaderapi.com/it/docs/mcp/) impacchetta la stessa funzione per i client che parlano il Model Context Protocol, e la [pagina LangChain](https://webreaderapi.com/it/docs/langchain/) la incapsula per gli agenti LangChain e LlamaIndex. ## Cosa deve vedere il modello quando una pagina viene rifiutata? Una frase breve e chiara, come quella restituita dal loop qui sopra: "Could not read the page: blocked_by_robots". I modelli la gestiscono bene e passano ad altre fonti o lo dicono all'utente. 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. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. Nessuno di questi rifiuti consuma un credito. ## Function calling: domande frequenti ### Serve l'API Responses o Chat Completions? L'esempio usa Chat Completions con il parametro `tools`. La stessa definizione di funzione e lo stesso body `read_url` funzionano con altre interfacce OpenAI che accettano function tool; cambia solo il loop attorno. ### Il modello può leggere più pagine in un solo turno? Sì. Una risposta può contenere più tool call; il loop esegue ciascuna e restituisce ogni risultato prima di interrogare di nuovo il modello. Tieni `max_chars` più basso quando il modello legge molte pagine insieme. ### La chiave API è esposta al modello? No. La chiave resta nell'environment del tuo codice. Il modello vede solo il nome del tool, la sua description e il testo che la tua funzione restituisce. ### Quanto costa una pagina rifiutata? Niente. 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. --- 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. --- # OpenClaw: aggiungi un lettore di pagine web tramite MCP, accanto a web_fetch > Aggiungi un lettore di pagine web a OpenClaw via MCP: openclaw mcp add, doctor --probe e read_url integra web_fetch. Senza KYC, paghi in criptovalute. - URL: https://webreaderapi.com/it/docs/openclaw/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) OpenClaw ha già un tool `web_fetch` per le pagine leggere. Aggiungere il nostro server MCP dà all'agente un secondo lettore, `read_url`, per pagine JavaScript, PDF e documenti più lunghi. La configurazione è un solo comando. **Risposta rapida — Come aggiungo un'API per leggere pagine web a OpenClaw?** Salva il server MCP **WebReaderAPI**, poi registralo con `openclaw mcp add webreaderapi --command … --arg … --env WEBREADER_API_KEY=…` e verificalo con `openclaw mcp doctor --probe`. L'agente ottiene un tool `read_url` accanto al `web_fetch` integrato, capace di renderizzare JavaScript e leggere PDF. Le pagine costano 1 credito, a partire da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## web_fetch e read_url di OpenClaw a confronto | Attributo | Valore | | --- | --- | | web_fetch (integrato) | Gira in locale, estrae il contenuto principale con Readability, restituisce Markdown o testo | | limiti di web_fetch | Nessuna esecuzione JavaScript; `maxChars` predefinito e limite di 20.000 caratteri (docs di OpenClaw) | | read_url (il nostro tool MCP) | Rendering JavaScript quando serve, PDF fino a 100 pagine, fino a 500.000 caratteri | | costo di read_url | 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 | | Il nostro crawler | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, robots.txt rispettato | | Profili degli strumenti | Gli strumenti MCP compaiono nei profili `coding` e `messaging`, non in `minimal` | ## Perché aggiungere un reader quando OpenClaw ha web_fetch? Perché coprono pagine diverse. La documentazione di OpenClaw dice che `web_fetch` gira sempre in locale, usa Readability per estrarre il contenuto principale e non esegue JavaScript; per i siti con molto JavaScript o protetti da login rimanda al suo strumento Web Browser. La sua impostazione `maxChars` è di 20.000 caratteri per impostazione predefinita ed è limitata a quel valore. Tieni `web_fetch` per le pagine veloci e leggere. Aggiungi `read_url` per le pagine che costruiscono il contenuto con JavaScript, per i PDF e per i documenti lunghi in cui vuoi più di 20.000 caratteri. La documentazione di OpenClaw segnala anche che il plugin ufficiale Firecrawl è oggi l'unico provider incluso su cui `web_fetch` può ricadere. ## Come registro il server MCP in OpenClaw? Prima prepara il server Python dalla [pagina MCP](https://webreaderapi.com/it/docs/mcp/): un file più i pacchetti `mcp` e `httpx`. Poi salvalo in OpenClaw con `openclaw mcp add`. La documentazione del registry di OpenClaw descrive i flag stdio `--command`, `--arg`, `--env` e `--cwd`, e salva le definizioni sotto `mcp.servers` nella sua configurazione. Dopo esegui `openclaw mcp doctor --probe`. Senza `--probe` il doctor controlla solo la configurazione salvata; con esso verifica anche che i server abilitati si connettano. *Registra e controlla il server* ```bash openclaw mcp add webreaderapi \ --command /home/you/webreader/.venv/bin/python \ --arg /home/you/webreader/webreader_mcp.py \ --env WEBREADER_API_KEY=your-key openclaw mcp doctor webreaderapi --probe ``` ## L'agente vedrà read_url? Nei profili abituali, sì. La documentazione del registry di OpenClaw dice che OpenClaw incorporato espone gli strumenti MCP configurati nei profili `coding` e `messaging`. Il profilo `minimal` li nasconde e `tools.deny: ["bundle-mcp"]` li disattiva, quindi controlla queste due impostazioni se lo strumento non compare. La descrizione dello strumento indica al modello quando preferirlo: pagine che richiedono JavaScript, PDF e letture lunghe. Il modello può comunque usare `web_fetch` per tutto il resto. ## Come tratta read_url i siti che legge? Allo stesso modo di ogni chiamata alla nostra API. 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. Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. Le pagine dietro un login sono quindi fuori portata per `read_url`. Per un sito in cui hai effettuato l'accesso, lo strumento browser di OpenClaw, eseguito con la tua sessione, è quello giusto. ## Quanto costa leggere pagine tramite OpenClaw? Un credito per ogni pagina che restituisce contenuto, due quando serve un browser, nulla per rifiuti ed errori. Un assistente che legge 30 pagine al giorno sui suoi canali di chat usa circa 900 crediti al mese: 10.000 pagine (3,75 USD) dura quasi un anno. I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi. Dai a OpenClaw una chiave API dedicata, così il suo utilizzo risulta separato dagli altri tuoi progetti. ## OpenClaw: domande frequenti ### WebReaderAPI è un provider integrato di OpenClaw? No. Si connette come server MCP, che OpenClaw supporta senza alcun codice di plugin. Il server MCP è il breve file Python della nostra [pagina MCP](https://webreaderapi.com/it/docs/mcp/). ### Dovrei disattivare web_fetch? Non serve. Entrambi gli strumenti possono restare attivi; le descrizioni indicano al modello quale si adatta. Disattiva `web_fetch` solo se vuoi che ogni lettura passi da un unico punto per il logging. ### Posso gestire il server dall'interfaccia web di OpenClaw? La documentazione di OpenClaw descrive le impostazioni MCP nella sua Control UI, che modificano le stesse definizioni salvate della riga di comando. Usa quella che preferisci. ### Funziona in un'installazione OpenClaw in sandbox? Il server MCP è un processo locale che ha bisogno di accesso a internet per raggiungere `https://webreaderapi.com/api/v1/read`. Verifica che la tua sandbox permetta al processo di avviarsi e di effettuare quella chiamata HTTPS. ## Fonti 1. [Strumenti web](https://docs.openclaw.ai/tools/web) — OpenClaw docs (read 2026-10-22) 2. [Web Fetch](https://docs.openclaw.ai/tools/web-fetch) — OpenClaw docs (read 2026-10-22) 3. [Gestisci i server MCP salvati](https://docs.openclaw.ai/cli/mcp/registry) — OpenClaw docs (read 2026-10-22) 4. [MCP nella Control UI](https://docs.openclaw.ai/cli/mcp/control-ui) — OpenClaw docs (read 2026-10-22) --- 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. --- # Web page to Markdown in Python > Converti pagine web in Markdown in Python con requests e httpx async, job batch e suddivisione RAG per heading, da 0,07 USD/1K pagine senza KYC. - URL: https://webreaderapi.com/it/docs/python/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Quattro ricette che coprono la maggior parte dei progetti Python: leggi una pagina con requests, leggi molte pagine in parallelo con httpx, passa una lista a un job batch e dividi il Markdown in chunk per un vector store. **Risposta rapida — Come converto una pagina web in Markdown in Python?** Chiama **WebReaderAPI** con `requests.get("https://webreaderapi.com/api/v1/read", params={"url": ...})` e la tua chiave nell'header `Authorization`; la risposta JSON contiene il contenuto principale della pagina in `markdown`. Per molte pagine, usa `httpx.AsyncClient` con un semaforo o un job batch. Una pagina costa 1 credito, da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## Cosa devo installare? Python 3.9 o successivo e un client HTTP. `requests` basta per gli script che leggono una pagina alla volta; `httpx` aggiunge il supporto async per molte pagine in parallelo. Non serve nessun nostro pacchetto: l'API è semplice HTTPS e JSON. Tieni la chiave fuori dal codice. Leggila dalla variabile d'ambiente `WEBREADER_API_KEY`, come fa ogni esempio qui sotto, e dai a ogni progetto la sua chiave, così puoi revocarne una senza toccare le altre. *Installazione* ```bash pip install requests httpx export WEBREADER_API_KEY="your-key" ``` ## Come leggo una pagina con requests? Invia `url` e le opzioni come parametri di query, solleva un'eccezione in caso di errore HTTP e leggi i campi che ti servono. L'esempio mantiene il contenuto principale, lo limita a 20.000 caratteri per un modello e stampa quanto è costata la chiamata. *requests: una pagina* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def read(url, **options): resp = requests.get(API, headers=HEADERS, params={"url": url, **options}, timeout=75) if resp.status_code != 200: error = resp.json()["error"] raise RuntimeError(error["code"] + ": " + error["message"]) return resp.json() page = read("https://example.com/docs/getting-started", max_chars=20000) print(page["title"], page["word_count"], "words", page["credits_used"], "credit(s)") print(page["markdown"][:500]) ``` ## Come leggo molte pagine contemporaneamente con httpx? Usa un solo `httpx.AsyncClient` e un `asyncio.Semaphore` impostato pari o sotto il tuo limite di concorrenza. Ogni account ha un limite di pagine lette contemporaneamente; la tua dashboard lo mostra e il supporto può aumentarlo. Gli errori di una pagina non devono fermare le altre, quindi l'esempio li raccoglie accanto ai risultati invece di sollevare un'eccezione. Se superi il limite, l'API risponde `429 concurrency_limit`; non viene addebitato nulla, ma la pagina non viene letta. Tenere il semaforo sotto il limite è più semplice che riprovare. *httpx: fino a 10 pagine in volo* ```python import asyncio import os import httpx API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} async def read_one(client, sem, url): async with sem: resp = await client.get(API, params={"url": url, "max_chars": 50000}) body = resp.json() if resp.status_code == 200: return url, body, None return url, None, body["error"]["code"] async def read_many(urls, limit=10): sem = asyncio.Semaphore(limit) async with httpx.AsyncClient(headers=HEADERS, timeout=75) as client: return await asyncio.gather(*(read_one(client, sem, u) for u in urls)) if __name__ == "__main__": urls = [f"https://example.com/blog/post-{n}" for n in range(1, 21)] for url, page, error in asyncio.run(read_many(urls)): print(url, "->", error or page["title"]) ``` ## Quando dovrei usare invece un batch job? Quando hai una lista di fino a 100 URL e non ti serve ogni pagina nel momento in cui è pronta. Un batch job gira dalla nostra parte, quindi il tuo script non tiene connessioni aperte e non gestisce logiche di retry. Avvialo con `POST https://webreaderapi.com/api/v1/batch`, poi raccogli i risultati del job con il ciclo a cursore mostrato sulla [pagina batch e crawl](https://webreaderapi.com/it/docs/crawl/). Per un intero sito, avvia invece un crawl e lascia che segua la sitemap e i link; la stessa pagina ha un ciclo completo che scrive un file `.md` per pagina. *Avviare un job batch* ```python import os import requests urls = [f"https://example.com/changelog/{year}" for year in range(2020, 2027)] resp = requests.post( "https://webreaderapi.com/api/v1/batch", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"urls": urls, "options": {"format": "markdown", "main_content": True}}, timeout=30, ) resp.raise_for_status() print("job:", resp.json()["job_id"]) ``` ## Come divido il Markdown in chunk per il RAG? Prima dividi per heading, poi per dimensione. Gli heading segnano dove cambiano gli argomenti, quindi un chunk che inizia con un heading è più facile da far combaciare per un retriever. Mantieni il titolo della pagina e il percorso degli heading nei metadata di ogni chunk: aiutano il modello a citare la sezione giusta. La funzione qui sotto non richiede librerie aggiuntive. Taglia sugli heading da `#` a `###`, poi divide qualsiasi sezione lunga sulle righe vuote per restare sotto un limite di caratteri. Memorizza `final_url` con ogni chunk, così due indirizzi che portano alla stessa pagina non creano duplicati. *Dividi il Markdown per heading* ```python import re def chunk_markdown(page, max_chars=2000): """Split a /read response into chunks with a heading path and the source URL.""" chunks, path, buf = [], [], [] def flush(): text = "\n".join(buf).strip() while text: part = text[:max_chars] cut = part.rfind("\n\n") if len(text) > max_chars and cut > max_chars // 2: part = part[:cut] chunks.append({"text": part.strip(), "section": " > ".join(path), "title": page.get("title"), "source": page["final_url"]}) text = text[len(part):].strip() buf.clear() for line in page["markdown"].splitlines(): m = re.match(r"^(#{1,3}) (.+)", line) if m: flush() level = len(m.group(1)) path[:] = path[: level - 1] + [m.group(2).strip()] buf.append(line) flush() return chunks ``` ## Quanto costa un job Python? Conta le pagine, non le richieste. 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. Leggere 2.000 pagine di documentazione senza browser usa circa 2.000 crediti, che 10.000 pagine (3,75 USD) copre cinque volte. I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi, quindi una pipeline che gira una volta al mese usa solo ciò che legge. ## Python: domande frequenti ### Esiste un pacchetto Python ufficiale? No. Il codice su questa pagina è tutto ciò che ti serve: WebReaderAPI è una semplice API HTTPS, e `requests` o `httpx` la parlano direttamente. ### Come gestisco una pagina che robots.txt rifiuta? Controlla il codice di errore. `blocked_by_robots` e `target_refused` sono definitivi e gratuiti; registrali e continua. La [pagina degli errori](https://webreaderapi.com/it/docs/errors/) ha un helper di retry che ritenta solo i codici che possono cambiare. ### Posso usare l'API da un notebook Jupyter? Sì. La ricetta `requests` funziona così com'è. In un notebook, `await read_many(urls)` sostituisce `asyncio.run`, perché il notebook ha già un event loop in esecuzione. ### Quale timeout dovrebbe usare il mio client? Un po' più di quello dell'API: il default è 30 secondi e il massimo 60, quindi 75 secondi lato client lasciano spazio a un sito lento e alla risposta. --- 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. --- # Riferimento dell'endpoint read: GET e POST /read > Riferimento dell'endpoint read: ogni parametro di GET e POST /read, da format e render a country e max_chars, con esempi. Da 0,07 USD/1K pagine, senza KYC. - URL: https://webreaderapi.com/it/docs/read/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) `/read` recupera una pagina pubblica, ne estrae il contenuto principale e lo restituisce come Markdown, testo semplice o HTML pulito. Questa pagina elenca ogni parametro, il suo default e quanto costa. **Risposta rapida — Quali parametri accetta l'endpoint read di WebReaderAPI?** L'endpoint `/read` di **WebReaderAPI** richiede un parametro, `url`. Quelli opzionali scelgono l'output (`format`), quanto della pagina mantenere (`main_content`), se eseguire un browser (`render`), link e immagini, il paese di lettura, un limite di caratteri e un timeout. Una pagina semplice costa 1 credito, 2 con un browser, da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## /read at a glance | Attributo | Valore | | --- | --- | | Metodi | `GET` con parametri di query, o `POST` con un body JSON che usa gli stessi nomi | | URL | `https://webreaderapi.com/api/v1/read` | | Obbligatorio | `url`: un indirizzo http o https, fino a 2.048 caratteri | | Output predefinito | Markdown del contenuto principale | | 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 | | Paese | Scegliere il paese da cui leggere una pagina aggiunge 10 crediti, perché la pagina viene poi letta tramite una connessione residenziale in quel paese | | PDF | I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato | | Identità del crawler | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | ## Leggi una pagina (GET) `GET /api/v1/read` Recupera una pagina pubblica e restituisce il suo contenuto principale come Markdown, con i metadata della pagina. I parametri vanno nella query string, codificati come URL. L'esempio legge un post di un blog; ID, date e valori sono illustrativi. Autenticazione: chiave API nell'header `Authorization: Bearer API_KEY`. **Parametri** | Nome | In | Tipo | Obbligatorio | Descrizione | | --- | --- | --- | --- | --- | | `url` | query | string | Sì | La pagina da leggere: http o https, al massimo 2.048 caratteri. Gli indirizzi privati, locali e di metadata cloud vengono rifiutati. | | `format` | query | string | No | `markdown` (default), `text` (testo semplice, senza markup) o `html` (HTML pulito del contenuto). | | `main_content` | query | boolean | No | `true` (default) mantiene solo l'articolo o il contenuto principale; `false` converte l'intera pagina, menu e footer inclusi. | | `render` | query | string | No | `auto` (default) avvia un browser solo quando l'HTML grezzo contiene troppo poco testo; `true` sempre; `false` mai. Una pagina renderizzata costa 2 crediti. | | `include_links` | query | boolean | No | `true` aggiunge un elenco `links` di `{url, text}`. Default `false`. | | `include_images` | query | boolean | No | `true` mantiene le immagini come `![alt](src)` nel Markdown. Default `false`. | | `country` | query | string | No | Codice paese di due lettere (ISO 3166-1 alpha-2). La pagina viene letta da un indirizzo in quel paese, per 10 crediti extra (connessione residenziale). | | `max_chars` | query | integer | No | Taglia l'output a questo numero di caratteri, da 1.000 a 500.000. Utile per rientrare nel contesto di un modello. | | `timeout` | query | integer | No | Secondi di attesa per il sito, da 5 a 60. Predefinito 30. | | `api_key` | query | string | No | La tua chiave, se non invii l'header `Authorization`. | **Risposta** `200` ```json { "url": "https://example.com/blog/first-post", "final_url": "https://example.com/blog/first-post", "status_code": 200, "fetched_at": "2026-10-22T09:41:12Z", "rendered": false, "credits_used": 1, "title": "Our first post", "description": "Why we started this blog and what comes next.", "language": "en", "author": "Jane Doe", "published_at": "2026-10-01", "site_name": "Example Blog", "markdown": "# Our first post\n\nWe started this blog to share what we learn...\n\n## What comes next\n\n- A post every month\n- Notes from our team", "word_count": 612 } ``` *curl* ```bash curl -sG "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/first-post" \ -d format=markdown -d max_chars=20000 ``` *Python* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/blog/first-post", "max_chars": 20000}, timeout=70, ) resp.raise_for_status() print(resp.json()["markdown"][:300]) ``` *Node.js* ```javascript const params = new URLSearchParams({ url: 'https://example.com/blog/first-post', max_chars: '20000' }); const res = await fetch(`https://webreaderapi.com/api/v1/read?${params}`, { headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}` }, }); const page = await res.json(); console.log(page.markdown.slice(0, 300)); ``` ## Leggi una pagina (POST) `POST /api/v1/read` Stesso endpoint, stessi parametri, inviati come corpo JSON. Preferisci POST quando l'URL è molto lungo o quando il tuo client HTTP costruisce JSON più facilmente delle query string. La risposta è identica a quella della forma GET. Autenticazione: chiave API nell'header `Authorization: Bearer API_KEY`. **Corpo della richiesta** | Campo | Tipo | Obbligatorio | Descrizione | | --- | --- | --- | --- | | `url` | string | Sì | La pagina da leggere. | | `format`, `main_content`, `render`, `include_links`, `include_images`, `country`, `max_chars`, `timeout` | mixed | No | Come nella tabella GET qui sopra, con i tipi JSON: booleani come `true`/`false`, numeri senza virgolette. | *Esempio: a JavaScript-heavy page, read from Germany, with its links* ```json { "url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": true, "max_chars": 30000 } ``` **Risposta** `200` ```json { "url": "https://example.com/app/pricing", "final_url": "https://example.com/de/app/pricing", "status_code": 200, "fetched_at": "2026-10-22T09:44:03Z", "rendered": true, "credits_used": 3, "title": "Pricing", "language": "de", "markdown": "# Pricing\n\n| Plan | Price |\n|---|---|\n| Basic | ... |", "word_count": 214, "links": [ { "url": "https://example.com/de/contact", "text": "Contact" } ] } ``` *curl* ```bash curl -s "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": true}' ``` *Python* ```python import os import requests resp = requests.post( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, json={"url": "https://example.com/app/pricing", "render": "true", "country": "de", "include_links": True}, timeout=70, ) print(resp.json()["credits_used"], "credits") ``` *Node.js* ```javascript const res = await fetch('https://webreaderapi.com/api/v1/read', { method: 'POST', headers: { Authorization: `Bearer ${process.env.WEBREADER_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ url: 'https://example.com/app/pricing', render: 'true', country: 'de', include_links: true }), }); console.log((await res.json()).credits_used); ``` ## Quale formato di output devo scegliere? Scegli `markdown` per i modelli linguistici e RAG: titoli, elenchi, tabelle e link sopravvivono, e il testo resta compatto. Scegli `text` quando devi solo contare parole, classificare o cercare, e il markup sarebbe rumore. Scegli `html` quando la tua pipeline già analizza HTML e vuoi solo togliere il superfluo. I campi dei metadati sono gli stessi in tutti e tre i formati. Cambia solo il nome del campo del contenuto: `markdown`, `text` o `html`. ## Quando devo impostare main_content su false? Impostalo su `false` quando le parti intorno all'articolo sono ciò che ti serve. Esempi sono la navigazione di un sito per mapparne le sezioni, un footer con dettagli legali o di contatto, o una pagina prodotto le cui specifiche stanno in una sidebar. Con il valore predefinito `true`, l'estrattore mantiene il blocco del contenuto principale e scarta navigazione, banner cookie, annunci, pulsanti di condivisione e footer. È ciò che la maggior parte degli agenti e delle pipeline RAG vuole, e spesso riduce una pagina a una frazione della sua dimensione HTML. ## Come fa render=auto a decidere di usare un browser? Prima recupera l'HTML grezzo, che è veloce e costa 1 credito. Se quell'HTML contiene troppo poco testo leggibile, tipicamente un'app che costruisce la pagina con JavaScript, ricarica la pagina in un browser headless e la chiamata costa 2 crediti. La risposta ti dice quale percorso è stato eseguito: `rendered` è `true` o `false`. Imposta `render=false` quando sai che il sito serve HTML completo e vuoi un costo fisso. Imposta `render=true` per le single-page app, per saltare il primo tentativo. ## Cosa cambiano country e max_chars? `country` legge la pagina da un indirizzo nel paese che indichi, con lo stesso User-Agent. Usalo per pagine i cui prezzi, lingua o disponibilità cambiano in base al paese. Aggiunge 10 crediti, perché la pagina viene poi letta tramite una connessione residenziale, e non può essere usato con i paesi in cui il servizio non opera. `max_chars` taglia l'output dopo quel numero di caratteri. Non cambia il prezzo, ma protegge la context window di un agente: 20.000 caratteri è un valore predefinito sensato per una singola pagina passata a un modello. ## /read può gestire i file PDF? Sì. Quando l'URL restituisce un PDF, il testo torna come Markdown nello stesso campo `markdown`. I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato. I PDF scansionati senza livello di testo restituiscono poco o nessun testo, perché non c'è una fase di riconoscimento dei caratteri. ## Endpoint Read: domande comuni ### /read segue i redirect? Sì, fino a 5. La risposta fornisce l'indirizzo che hai richiesto in `url` e l'indirizzo effettivamente letto in `final_url`. Un redirect verso un indirizzo privato o locale viene rifiutato. ### Posso leggere una pagina che richiede un login? No. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. Le pagine dietro un login o un paywall restituiscono il rifiuto del sito, e la chiamata è gratuita. ### Il controllo di robots.txt viene fatto a ogni chiamata? Sì, su una copia del robots.txt del sito che ha al massimo 24 ore. Un URL non consentito restituisce `403 blocked_by_robots` e non usa crediti. ### Quante pagine posso leggere contemporaneamente? Ogni account ha un limite di pagine lette contemporaneamente; la tua dashboard lo mostra e il supporto può aumentarlo. Per molti URL, un [job batch](https://webreaderapi.com/it/docs/crawl/) è più semplice di molte chiamate parallele. --- 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. --- # Formato di risposta della Read API, campo per campo > Formato di risposta della Read API: ogni campo restituito per pagina, da markdown a final_url, più i risultati dei job. Senza KYC, paghi in criptovalute. - URL: https://webreaderapi.com/it/docs/response/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Ogni chiamata `/read` restituisce un oggetto JSON: il contenuto della pagina nel formato che hai richiesto, i suoi metadati e tre campi che ti dicono cosa è successo e quanto è costato. I risultati dei job riutilizzano lo stesso oggetto. **Risposta rapida — Cosa contiene la risposta della WebReaderAPI read?** Una risposta **WebReaderAPI** `/read` contiene il contenuto della pagina in `markdown` (o `text` o `html`), i suoi metadati (`title`, `description`, `author`, `published_at`, `language`, `site_name`, `word_count`) e i fatti del recupero: `final_url`, `status_code`, `rendered` e `credits_used`. Una pagina normale usa 1 credito, a partire da 0,07 USD/1K pagine da ottobre 2026. Senza KYC; paghi in criptovalute. ## Quali campi descrivono il recupero? Questi campi sono sempre presenti in una risposta riuscita. | Campo | Tipo | Significato | | --- | --- | --- | | `url` | string | L'indirizzo che hai inviato | | `final_url` | string | L'indirizzo effettivamente letto, dopo i redirect (al massimo 5) | | `status_code` | integer | Lo stato HTTP restituito dal sito per l'indirizzo finale, normalmente 200 | | `fetched_at` | string | Ora del recupero, ISO 8601 in UTC | | `rendered` | boolean | `true` quando una pagina è stata costruita da un browser headless | | `credits_used` | integer | Crediti fatturati per questa pagina: 1, 2 con un browser, più 10 con `country`; i PDF 1 ogni 10 pagine iniziate | ## Quali campi descrivono la pagina? I metadati provengono dalla pagina stessa: il suo tag title, i meta tag, i dati strutturati e la firma visibile. Un campo che la pagina non fornisce è assente, quindi verificalo prima di usarlo. | Campo | Tipo | Significato | | --- | --- | --- | | `title` | string | Il titolo della pagina o dell'articolo | | `description` | string | Il riassunto che la pagina dà di sé | | `language` | string | Codice lingua del contenuto, come `en` o `de` | | `author` | string | L'autore indicato sulla pagina | | `published_at` | string | Data di pubblicazione dichiarata dalla pagina | | `site_name` | string | Il nome del sito stesso | | `word_count` | integer | Parole nel contenuto restituito, dopo l'estrazione e prima di `max_chars` | ## Dov'è il contenuto stesso? Viene restituito un campo di contenuto, denominato in base al `format` che hai scelto. | Campo | Quando | Contenuto | | --- | --- | --- | | `markdown` | `format=markdown` (predefinito) | Titoli, paragrafi, elenchi, tabelle e link in Markdown; anche le immagini con `include_images=true` | | `text` | `format=text` | Testo semplice, paragrafi separati da righe vuote | | `html` | `format=html` | HTML pulito del contenuto principale, senza script, stili o annunci | | `links` | `include_links=true` | Elenco di `{url, text}` per i link trovati nella pagina, URL assoluti | *Una risposta completa (i valori sono a scopo illustrativo)* ```json { "url": "https://example.com/guides/compost", "final_url": "https://example.com/guides/compost-at-home", "status_code": 200, "fetched_at": "2026-10-22T10:02:44Z", "rendered": false, "credits_used": 1, "title": "Compost at home: a beginner's guide", "description": "What to put in a compost bin, and what to leave out.", "language": "en", "author": "Sam Rivera", "published_at": "2026-09-14", "site_name": "Example Garden", "markdown": "# Compost at home: a beginner's guide\n\nA compost bin turns kitchen scraps into soil...\n\n## What goes in\n\n- Fruit and vegetable peels\n- Coffee grounds\n\nSee also [Choosing a bin](https://example.com/guides/bins).", "word_count": 1184, "links": [ { "url": "https://example.com/guides/bins", "text": "Choosing a bin" } ] } ``` ## Come distinguo una pagina renderizzata da una semplice? Guarda `rendered`. Con `render=auto`, l'API legge prima l'HTML grezzo; avvia un browser solo quando quell'HTML contiene troppo poco testo, e in quel caso imposta `rendered` su `true` e `credits_used` su 2. Se un sito che leggi spesso torna sempre renderizzato, invia `render=true` fin dall'inizio: il costo è lo stesso e salti un primo passo inutile. Se una pagina torna non renderizzata ma scarna, confronta `word_count` con ciò che vedi in un browser. Un conteggio basso di solito significa che il contenuto richiede JavaScript; riprova una volta con `render=true`. ## Perché final_url può differire da url? Perché i siti reindirizzano. Un link breve, un vecchio indirizzo, una barra finale mancante o un cambio di lingua ti mandano altrove. L'API segue fino a 5 redirect e riporta l'indirizzo che ha effettivamente letto in `final_url`. Salva `final_url` come fonte canonica di un documento in un indice RAG. Due valori diversi di `url` che finiscono sullo stesso `final_url` sono la stessa pagina, quindi puoi scartare il duplicato prima di incorporarlo. ## Come appare il risultato di un job? `GET https://webreaderapi.com/api/v1/jobs/{job_id}` restituisce `job_id`, `status` (`queued`, `running` o `done`), `results`, `next_cursor` e il `credits_used` in corso del job. Ogni elemento di `results` ha una di due forme: - una risposta completa di `/read`, esattamente come descritto sopra, per una pagina che è stata letta; - `{url, error}` per una pagina che non lo è stata, dove `error` ha gli stessi `code` e `message` di un [errore API](https://webreaderapi.com/it/docs/errors/). `next_cursor` è presente finché ci sono altri risultati pronti; invialo indietro come `cursor` per ottenerli. La [pagina batch e crawl](https://webreaderapi.com/it/docs/crawl/) ha un ciclo di polling completo. *Una pagina di risultato di un job (i valori sono a scopo illustrativo)* ```json { "job_id": "job_5c1e8a90d2", "status": "done", "results": [ { "url": "https://example.com/blog/post-1", "final_url": "https://example.com/blog/post-1", "status_code": 200, "rendered": false, "credits_used": 1, "title": "Post one", "markdown": "# Post one\n\n...", "word_count": 802 }, { "url": "https://example.org/members/area", "error": { "code": "target_refused", "message": "The site refused the request.", "target_status": 403 } } ], "credits_used": 1 } ``` ## Come appare una risposta di errore? Un errore torna con uno status HTTP pari o superiore a 400 e un body JSON `{"error": {"code", "message"}}`. Quando è il sito stesso a rifiutare la richiesta, `target_status` indica lo status inviato dal sito. Nessun errore viene addebitato. La [pagina degli errori](https://webreaderapi.com/it/docs/errors/) elenca ogni codice con la sua causa e se un nuovo tentativo può aiutare. ## Formato della risposta: domande frequenti ### Il Markdown viene tagliato quando imposto max_chars? Sì. Il campo content si ferma a quel numero di caratteri. `word_count` descrive comunque l'intero contenuto estratto, così puoi vedere quanto è stato omesso. ### Perché mancano author o published_at? Perché la pagina non lo dichiara in un modo che possa essere letto. Molte pagine non indicano autore né data. I campi assenti vengono omessi anziché restituiti vuoti. ### I link nel Markdown sono assoluti? I link nell'elenco `links` sono assoluti. Scrivi il tuo codice per accettare entrambe le forme nel corpo Markdown e risolvi quelli relativi rispetto a `final_url`. ### Posso ottenere l'HTML grezzo dell'intera pagina? La cosa più vicina è `format=html` con `main_content=false`, che restituisce l'intera pagina ripulita da script e stili. L'HTML originale byte per byte non fa parte della v1. --- 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. --- # FAQ WebReaderAPI > FAQ WebReaderAPI: 30 risposte sul prezzo per pagina, JavaScript e PDF, crawl, robots.txt, siti bloccati, KYC, pagamenti e agenti AI. - URL: https://webreaderapi.com/it/faq/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Le risposte a ciò che sviluppatori, chi costruisce con l'AI e proprietari di siti chiedono più spesso su come convertire pagine web in Markdown con WebReaderAPI. Ogni risposta inizia con la risposta. **Risposta rapida — Cosa si chiede più spesso su WebReaderAPI?** Soprattutto il prezzo per pagina, come vengono conteggiate le pagine JavaScript e i PDF, e cosa succede quando un sito rifiuta i robot. In breve: **WebReaderAPI** addebita un credito per pagina letta, due con un browser, a partire da 0,07 USD/1K pagine a ottobre 2026; le pagine rifiutate o non riuscite non costano nulla; robots.txt è sempre rispettato. Nessun KYC; paghi in criptovalute. ## Prezzo e crediti ### Quanto costa WebReaderAPI? I pack prepagati costano 3,75 USD per 10.000 pagine, 21,75 USD per 100.000 pagine e 74,25 USD per 1.000.000 di pagine, a ottobre 2026. La tariffa scende a 0,07 USD/1K pagine sul pack da 5.000.000 di pagine. La [pagina dei prezzi](https://webreaderapi.com/it/pricing/) elenca ogni pack. ### Cosa compra un credito? Una pagina letta senza browser. Una pagina che richiede il rendering JavaScript usa due crediti, e leggere da un paese scelto ne aggiunge uno. La risposta ti dice cosa è stato usato in `credits_used`, così puoi tenere traccia del costo per pagina nei tuoi log. ### I crediti scadono? No. I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi. Un pack acquistato per un crawl una tantum conserva le pagine non usate per il progetto successivo. ### Mi viene addebitato qualcosa quando una pagina non può essere letta? No. Gli errori non usano crediti, sia che la causa sia dalla nostra parte, dalla rete o dal sito web. Questo vale anche per le pagine rifiutate da robots.txt, da un segnale `ai-input=no` o dalla risposta del sito stesso. ### C'è un piano gratuito? No. Non c'è un piano gratuito: il pack più piccolo è il modo per testare, pagato dalla ricarica minima, e l'importo aggiunto solo per raggiungere quel minimo può essere restituito su richiesta entro 30 giorni, in USDT o USDC, se non speso. ### Qual è l'importo minimo che posso spendere? La ricarica minima è 25 USD. Il pack più piccolo, 10.000 pagine, costa 3,75 USD; il resto della ricarica rimane sul tuo saldo per i pack successivi oppure può essere richiesto indietro entro 30 giorni se non speso. ## Cosa legge e restituisce l'API ### WebReaderAPI può leggere pagine realizzate con JavaScript? Sì. Rendering JavaScript in un browser headless quando la pagina lo richiede (render=auto), oppure sempre, oppure mai. Con `render=auto`, un browser viene usato solo quando l'HTML grezzo contiene troppo poco testo, così le pagine semplici restano a un credito. ### Può convertire file PDF? Sì. I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato. Invia l'URL del PDF allo stesso endpoint `/read`; il testo torna come Markdown. ### Posso leggere un intero sito web? Sì, con un crawl job. 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. Puoi limitarlo a percorsi come `/docs/*`; ogni pagina letta usa crediti come una singola richiesta. ### Quanti URL posso inviare contemporaneamente? Fino a 100 URL per job batch. Un batch viene eseguito come job: invii la lista, ricevi un `job_id` e raccogli ogni risultato quando il job è terminato. ### Come faccio a mantenere una pagina nella context window del mio modello? Imposta `max_chars`. Il Markdown viene tagliato a quella lunghezza, da 1.000 a 500.000 caratteri. Insieme a `main_content=true`, questo mantiene le pagine lunghe entro un budget di token prevedibile. ### Il Markdown mantiene tabelle, blocchi di codice e link? Sì. Titoli, liste, tabelle, blocchi di codice e link mantengono la loro forma Markdown. I link sono inline; aggiungi `include_links=true` per ottenerli anche come lista separata, e `include_images=true` per mantenere le immagini. ### Cosa significa "contenuto principale"? La parte della pagina per cui il lettore è arrivato: l'articolo, la documentazione o la descrizione del prodotto. Con `main_content=true`, il valore predefinito, menu, banner dei cookie, annunci, sidebar e footer vengono rimossi. Impostalo su `false` per convertire l'intera pagina. ### Posso leggere una pagina come appare in un altro paese? Sì, con il parametro `country` e un codice paese di due lettere. Scegliere il paese da cui leggere una pagina aggiunge 10 crediti, perché la pagina viene poi letta tramite una connessione residenziale in quel paese. Alcuni siti cambiano prezzi, lingua o contenuti in base al paese. ## robots.txt e pagine rifiutate ### WebReaderAPI rispetta robots.txt? Sempre. 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. La [pagina del bot](https://webreaderapi.com/it/bot/) mostra lo user agent e come i proprietari dei siti possono consentirlo o rifiutarlo. ### Cosa succede con i siti protetti da Cloudflare o da un altro filtro anti-bot? Se il sito lascia passare il nostro crawler, la pagina viene letta normalmente. Se lo rifiuta o risponde con una pagina di challenge, restituiamo quella risposta come `target_refused` e non addebitiamo nulla. Non proviamo mai a superare una challenge. ### WebReaderAPI può leggere pagine dietro un login o un paywall? No, mai, nemmeno con le credenziali che fornisci. I contenuti che richiedono un account o un abbonamento restano fuori portata, e richiederli viola la [Acceptable Use Policy](https://webreaderapi.com/it/acceptable-use/)]. ### Cos'è il segnale ai-input=no? Una riga che alcuni siti aggiungono a robots.txt, dalla Content Signals Policy, per rifiutare l'uso delle loro pagine come input per le risposte AI. Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te; l'API restituisce `blocked_by_site_policy`, senza alcun costo. ### Leggere pagine web per l'AI è legale? Dipende dal contenuto, dal paese e da cosa fai con il testo. Rispettare robots.txt e stare lontano da dati personali e paywall riduce il rischio. La nostra [panoramica delle regole](https://webreaderapi.com/it/guides/is-reading-web-pages-for-ai-legal/) riassume i punti principali; non è un parere legale. ## Account, pagamento e privacy ### Devo verificare la mia identità? No. WebReaderAPI non richiede documenti d'identità, selfie, documenti aziendali né carta. Accesso con numero di account; email facoltativa. La [pagina senza KYC](https://webreaderapi.com/it/no-kyc-web-reader-api/) spiega cosa vale comunque. ### Con quali criptovalute posso pagare? BTC, USDT, USDC, ETH, SOL, LTC. USDT funziona su TRC-20 o ERC-20, USDC su ERC-20. Invia l'importo esatto mostrato, clicca "Ho inviato il pagamento" e la ricarica viene accreditata una volta confermata. ### Posso ottenere un rimborso? Sì, sul tuo saldo. Un pack usato per meno del 20% viene rimborsato entro 72 ore dall'acquisto, e un pack che non ha mai funzionato viene accreditato per intero. La [politica di rimborso](https://webreaderapi.com/it/refunds/) contiene la regola esatta e tre esempi. ### Come funzionano le chiavi API? Crea più chiavi API, ad esempio una per agente o per progetto, e revoca quelle che vuoi dalla tua dashboard. Invia la tua chiave API nell'header Authorization come Bearer token, oppure nel parametro query api_key. Una chiave per applicazione o agente permette di revocarne una senza fermare le altre. ### Cosa registrate sulle mie richieste? Il nome host di ogni pagina, mai l'URL completo o il suo contenuto, più ora, stato e crediti, per 30 giorni. Non conserviamo alcuna copia delle pagine che leggi. La [privacy policy](https://webreaderapi.com/it/privacy/) ha i dettagli. ## Sviluppatori e agenti AI ### C'è codice per Python e Node.js? Sì. Le guide [Python](https://webreaderapi.com/it/docs/python/) e [Node.js](https://webreaderapi.com/it/docs/node/) mostrano letture singole, batch, crawl e retry, e la [guida rapida](https://webreaderapi.com/it/docs/) ha un esempio curl. Non serve alcun pacchetto SDK: l'API è semplice HTTPS con JSON. ### Claude, Cursor o un altro client MCP possono usare WebReaderAPI? Sì, tramite un piccolo server MCP che esegui tu, documentato nella [pagina MCP](https://webreaderapi.com/it/docs/mcp/). Espone uno strumento che riceve un URL e restituisce la pagina in Markdown. ### Funziona con LangChain e LlamaIndex? Sì. La [pagina LangChain e LlamaIndex](https://webreaderapi.com/it/docs/langchain/) mostra un document loader che trasforma gli URL in documenti con i loro metadati, pronti per chunking ed embedding. ### Quante pagine posso leggere contemporaneamente? Ogni account ha un limite di pagine lette contemporaneamente; la tua dashboard lo mostra e il supporto può aumentarlo. I crawl seguono anche il `Crawl-delay` di ogni sito, quindi un crawl di grandi dimensioni su un dominio può richiedere più tempo di quanto suggerisca il numero di pagine. ### Chi gestisce WebReaderAPI? SerpGoat LLC. Vedi la [pagina about](https://webreaderapi.com/it/about/) per come funziona il servizio e come raggiungere una persona. Il supporto via email risponde entro 12 ore, tutti i giorni della settimana, anche per aiuto con crawling e integrazioni. ### Quanto è veloce una lettura? Dipende soprattutto dal sito e dalla necessità di un browser. Non pubblichiamo un dato di velocità finché non ne avremo misurato uno su un campione pubblico; quando lo faremo, apparirà con metodo e data sulla [pagina di stato](https://webreaderapi.com/it/status/). --- 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. --- # Glossario della web reader API > Glossario di 36 termini per leggere pagine web con un'API: Markdown, contenuto principale, rendering JavaScript, robots.txt, RAG, MCP e crediti. - URL: https://webreaderapi.com/it/glossary/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Le parole che incontri quando converti le pagine web in testo per i modelli linguistici, dal lato HTML al lato AI, con link ai punti della documentazione in cui ciascuna conta. **Risposta rapida — Cosa significano i principali termini della web reader API?** Una web reader API recupera una pagina, ne conserva il **contenuto principale** e lo restituisce come **Markdown** che un modello può leggere. **WebReaderAPI** aggiunge il **rendering JavaScript** quando una pagina richiede un browser, segue **robots.txt** e **Content Signals**, e addebita un **credito** per pagina, da 0,07 USD/1K pagine a ottobre 2026. I 36 termini seguenti spiegano il resto. ## Dal lato della pagina web **HTML** — Il linguaggio di markup delle pagine web. L'HTML grezzo mescola il testo che vuoi con tag, script e stili, ed è per questo che un modello linguistico lo legge male. **DOM** — Il Document Object Model: l'albero di elementi che un browser costruisce dall'HTML e poi modifica con JavaScript. Una pagina renderizzata viene letta dal DOM, non dall'HTML grezzo. **Rendering JavaScript** — Eseguire gli script di una pagina in un browser così che compaia il contenuto caricato dopo la prima risposta. WebReaderAPI lo fa quando serve (`render=auto`), per due crediti invece di uno. **Browser headless** — Un vero motore di browser che gira senza schermo, pilotato da un software. È così che le pagine piene di JavaScript vengono renderizzate su un server. **Estrazione del contenuto principale** — Trovare la parte di una pagina per cui il lettore è arrivato, come l'articolo o la documentazione, e lasciare fuori tutto il resto. Nella nostra API è `main_content=true`, l'impostazione predefinita. **Readability** — Sia una qualità del testo sia il nome di una nota famiglia di algoritmi che valutano i blocchi di una pagina per trovare il contenuto principale, come fanno le modalità lettura nei browser. **Boilerplate** — Testo ripetuto su ogni pagina di un sito: menu, avvisi sui cookie, sidebar, footer, pulsanti di condivisione. Rimuoverlo è gran parte del lavoro di un web reader. **Markdown** — Un formato di testo semplice in cui `#` indica un titolo, `-` una voce di elenco e `[text](url)` un link. I modelli lo leggono bene e usa molti meno token dell'HTML. **Metadata** — Informazioni su una pagina anziché il suo testo: titolo, descrizione, autore, data di pubblicazione, lingua. WebReaderAPI li restituisce accanto al Markdown quando la pagina li dichiara. **Estrazione PDF** — Convertire il testo di un file PDF in Markdown. I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato. **Sitemap** — Un file XML in cui un sito elenca le sue pagine. Un crawl job parte da lì quando esiste, il che trova le pagine più in fretta e con meno richieste. **Paywall** — Una barriera che mostra il contenuto solo agli abbonati. WebReaderAPI non legge mai dietro un paywall. ## Dal lato del crawler **Crawler** — Un programma che scarica pagine web per uno scopo. Il nostro scarica solo le pagine richieste dai clienti, e la [pagina del bot](https://webreaderapi.com/it/bot/) lo descrive. **User agent** — Il nome che un client invia con ogni richiesta. Il nostro è `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, così i proprietari dei siti sanno sempre chi sta chiedendo. **robots.txt** — Un file alla radice di un sito che dice ai crawler quali percorsi possono scaricare, standardizzato come RFC 9309. 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. **Crawl-delay** — Una riga di robots.txt che chiede ai crawler di aspettare un certo numero di secondi tra le richieste. I nostri crawl job la rispettano. **Content Signals** — Una policy per le righe di robots.txt come `Content-Signal: search=yes, ai-input=no`, che dichiarano come può essere usato il contenuto di un sito, anche dall'AI. **ai-input** — L'impostazione di Content Signals che riguarda l'uso di una pagina come input per una risposta AI. Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. **llms.txt** — Un file Markdown che alcuni siti pubblicano su `/llms.txt` per dare ai modelli linguistici una breve guida ai loro contenuti e alle loro pagine principali. **Crawl** — Leggere molte pagine di uno stesso sito seguendo i suoi link e la sua sitemap. 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. **Batch job** — Un elenco di URL inviato in una sola richiesta ed elaborato in background. Fino a 100 URL per job batch. **HTTP 403** — Lo stato che un server invia per rifiutare una richiesta. Quando un sito risponde 403 al nostro crawler, l'API restituisce `target_refused` e non addebita nulla. **HTTP 429** — Lo stato per troppe richieste. Da un sito, significa rallentare; dalla nostra API (`concurrency_limit`), significa che il tuo account ha raggiunto il limite di letture simultanee. **Backoff esponenziale** — Aspettare sempre di più dopo ogni tentativo fallito (per esempio 1, 2, poi 4 secondi) prima di riprovare, così un server occupato non viene sommerso. ## Dal lato dell'AI **Token** — L'unità che un modello linguistico legge e in base alla quale viene fatturato, grosso modo una parola breve o parte di essa. Il Markdown pulito usa molti meno token della stessa pagina in HTML. **Context window** — La quantità di testo che un modello può ricevere in una volta. Il parametro `max_chars` mantiene ogni pagina entro il budget che hai impostato. **RAG** — Generazione aumentata dal recupero: il modello risponde a partire da documenti recuperati per la domanda. Un web reader fornisce quei documenti dalle pagine live. **Chunking** — Dividere un documento lungo in passaggi prima di indicizzarlo. Le intestazioni Markdown offrono punti di divisione naturali. **Embedding** — Una lista di numeri che rappresenta il significato di un passaggio, usata per trovare i passaggi simili a una domanda. **Vector store** — Un database che memorizza gli embedding e restituisce i passaggi più vicini a una query, la sede abituale delle pagine web suddivise in chunk in un sistema RAG. **Tool calling** — La capacità di un modello di chiedere all'applicazione di eseguire una funzione, come leggere un URL, e di usarne il risultato. Vedi [OpenAI function calling](https://webreaderapi.com/it/docs/openai/). **MCP** — Il Model Context Protocol, un modo standard per collegare strumenti a client AI come Claude Desktop o Cursor. La nostra [pagina MCP](https://webreaderapi.com/it/docs/mcp/) mostra un tool di fetch costruito sull'API. ## Dal lato della fatturazione **Credito** — L'unità di utilizzo dell'API. 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. **Concorrenza** — Quante letture può eseguire il tuo account nello stesso momento. Ogni account ha un limite di pagine lette contemporaneamente; la tua dashboard lo mostra e il supporto può aumentarlo. **KYC** — Know your customer: i controlli di identità che alcuni servizi richiedono, come un documento d'identità o un selfie. WebReaderAPI non ne chiede nessuno. **Stablecoin** — Una criptovaluta che segue una valuta come il dollaro USA. USDT e USDC sono le due accettate per le ricariche; la lista completa delle coin è BTC, USDT, USDC, ETH, SOL, LTC. --- 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. --- # Come convertire una pagina web in Markdown per un LLM > Come convertire una pagina web in Markdown per un LLM nel 2026: tre metodi, cosa conserva il Markdown pulito e come limitare i token. - URL: https://webreaderapi.com/it/guides/convert-web-page-to-markdown/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Copia e incolla funziona per una pagina. Una libreria funziona se gestisci il tuo crawler. Un'API funziona quando vuoi una richiesta per pagina. Ecco come scegliere, come appare un buon output e il codice che puoi riutilizzare. **Risposta rapida — Come converto una pagina web in Markdown per un LLM?** Recupera la pagina, mantieni solo il contenuto principale, poi trasforma intestazioni, elenchi, tabelle e link in Markdown e limita la lunghezza al budget del tuo modello. Puoi farlo a mano, con librerie open-source o con una sola chiamata API: **WebReaderAPI** restituisce il Markdown e i metadati per un credito per pagina, da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## Tre modi per ottenere Markdown da una pagina web | Attributo | Valore | | --- | --- | | A mano | Copia il testo dal browser o dalla sua modalità lettura; va bene per qualche pagina | | Librerie open-source | Readability, Trafilatura, MarkItDown o Crawl4AI dentro il tuo fetcher | | Un'API web reader | `GET https://webreaderapi.com/api/v1/read?url=…` restituisce Markdown, titolo, autore e data | | Controllo della lunghezza | `max_chars` su WebReaderAPI, oppure tagli tu il testo dopo la conversione | | Pagine JavaScript | Serve un browser headless; WebReaderAPI le renderizza quando necessario, per 2 crediti | ## Quale metodo devo usare? Scegli in base al volume e a quanta infrastruttura vuoi gestire. | Metodo | Adatto a | Cosa gestisci tu | |---|---|---| | Copia e incolla | Poche pagine, un prompt una tantum | Pulizia manuale | | Libreria nel tuo codice | Volumi costanti, controllo totale | Fetching, browser, robots.txt, PDF, retry | | API web reader | Agenti e pipeline che leggono molti siti | Solo la richiesta e il risultato | Le librerie ti danno controllo e nessun costo per pagina. Il costo è operativo: un browser headless per le pagine JavaScript, un controllo di robots.txt, la gestione di set di caratteri e redirect, e un percorso separato per i PDF. Un'API racchiude tutto questo in una singola chiamata HTTP. ## Cosa deve conservare un buon Markdown e cosa deve scartare? Un buon Markdown conserva ogni elemento che porta significato e scarta tutto ciò che esiste solo per il layout o per il marketing. - **Conserva i titoli** come `#`, `##` e `###`: indicano al modello, e al tuo chunker, dove inizia ogni argomento. - **Conserva liste e tabelle** come liste Markdown e pipe table, così passaggi e numeri restano leggibili. - **Conserva i link** come `[text](url)`: permettono a un assistente di citare e seguire le fonti. - **Conserva i blocchi di codice** delimitati, con il linguaggio quando la pagina lo mostra. - **Scarta menu, avvisi sui cookie, annunci, widget degli articoli correlati e footer**: si ripetono su ogni pagina e sporcano il retrieval. Verifica il risultato su alcune delle tue pagine reali. Gli strumenti di estrazione divergono soprattutto su forum, tabelle lunghe e pagine con più articoli. ## Quanto è più piccolo il Markdown rispetto all'HTML? Di solito molto più piccolo, perché l'arredamento della pagina e il markup spariscono. Quando Cloudflare ha lanciato la sua funzione Markdown for Agents il 12 febbraio 2026, la sua pagina di esempio è passata da 16.180 token come HTML a 3.150 token come Markdown, circa l'80% in meno. Il tuo rapporto dipende dal sito. Gli articoli lunghi si riducono meno, in percentuale, rispetto alle pagine brevi avvolte in template pesanti. Misura sulle tue fonti prima di dimensionare un budget. ## Come mantengo una pagina entro il budget di token del mio modello? Limita il testo prima che raggiunga il modello, poi suddividi ciò che resta lungo i titoli. Con WebReaderAPI, il parametro `max_chars` taglia il Markdown a una lunghezza impostata, tra 1.000 e 500.000 caratteri. Il campo `word_count` ti dice quanto era lungo l'articolo completo, così un agente può decidere se vale la pena leggere il resto. Per il retrieval, suddividi prima sui titoli e solo dopo taglia le sezioni lunghe. Un chunk che inizia con il proprio titolo mantiene il suo argomento; un chunk tagliato a metà frase da una pagina lunga no. *Python: leggi una pagina come Markdown e suddividila in chunk basati sui titoli* ```python import os import re import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def page_to_chunks(url, max_chars=60000, chunk_len=1500): params = {"url": url, "format": "markdown", "max_chars": max_chars} resp = requests.get(API, headers=HEADERS, params=params, timeout=90) data = resp.json() if resp.status_code != 200: print("not read:", data["error"]["code"]) return [] chunks = [] for section in re.split(r"\n(?=#{1,3} )", data["markdown"]): section = section.strip() while section: chunks.append(section[:chunk_len]) section = section[chunk_len:] return [{"text": c, "source": data["final_url"], "title": data["title"]} for c in chunks] if __name__ == "__main__": for chunk in page_to_chunks("https://example.com/guides/compost")[:3]: print(chunk["title"], "|", chunk["text"][:80]) ``` ## Cosa va storto di solito e come me ne accorgo? Quattro problemi spiegano la maggior parte delle conversioni sbagliate: - **Output vuoto.** La pagina costruisce il contenuto con JavaScript. Cerca un `word_count` basso; renderizza la pagina in un browser, oppure imposta `render=true`. - **Testo di cookie o consenso nel risultato.** L'estrattore ha tenuto un banner. Preferisci l'estrazione del contenuto principale e controlla le prime righe di ogni risultato. - **Tabelle mancanti.** Alcuni siti disegnano le tabelle come immagini o elementi canvas; nessun estrattore di testo può leggerle. - **Un rifiuto invece di una pagina.** Il sito ha vietato gli accessi in robots.txt o ha rifiutato la richiesta. Rispettalo: chiedi l'accesso al proprietario, oppure usa un'API o un feed ufficiale se il sito ne offre uno. Nessuno di questi si risolve riprovando più in fretta. Leggi l'errore, poi cambia il metodo o la fonte. ## Da pagina web a Markdown: domande frequenti ### Il Markdown è meglio del testo semplice per un LLM? Per la maggior parte delle pagine, sì. Il Markdown conserva titoli, liste, tabelle e link a un costo contenuto in token, così il modello vede la struttura e può citare le fonti. Il testo semplice è leggermente più corto ma perde quella struttura. ### Posso convertire un intero sito web, non solo una pagina? Sì. Fai il crawling e converti ogni pagina. L'[API di crawling](https://webreaderapi.com/it/crawl-api/) di WebReaderAPI fa entrambe le cose in un unico job: 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. ### Posso convertire un PDF allo stesso modo? Sì, inviando l'URL del PDF allo stesso endpoint. I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato. ### E le pagine dietro un login? Non convertirle tramite un servizio di terze parti, a meno che non siano tue e tu le abbia esportate personalmente. WebReaderAPI legge solo pagine pubbliche e non accede mai agli account. ### Esiste un modo gratuito per farlo? Le librerie open source sono gratuite da usare e girano sulle tue macchine. WebReaderAPI non ha un piano gratuito; il suo pack più piccolo è 10.000 pagine per 3,75 USD, pagato in criptovalute senza KYC. ## Fonti 1. [Presentiamo Markdown for Agents](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12) --- 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. --- # Leggere pagine web per l'AI è legale? I fatti con date nel 2026 > È legale leggere pagine web per agenti AI e RAG nel 2026? Regole di opt-out UE, il codice GPAI su robots.txt e casi USA in corso. Non è consulenza legale. - URL: https://webreaderapi.com/it/guides/is-reading-web-pages-for-ai-legal/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Non esiste una risposta unica, e diversi casi sono ancora aperti. Questa pagina elenca le regole e gli eventi giudiziari che contano per leggere pagine pubbliche con uno strumento AI, con date e fonti, e cosa facciamo noi da parte nostra. Non è consulenza legale. **Risposta rapida — È legale leggere pagine web con uno strumento AI?** Leggere pagine pubbliche è una pratica diffusa, ma le regole dipendono dal paese, dal contenuto e da come vi si accede. Nell'UE, gli opt-out leggibili da macchina come robots.txt limitano il text and data mining. Negli USA, diversi casi del 2025–2026 su AI e accesso automatizzato sono aperti, senza sentenza definitiva. **WebReaderAPI** rispetta robots.txt e gli opt-out AI; senza KYC, in cripto. Non è consulenza legale. ## Date chiave | Attributo | Valore | | --- | --- | | 17 aprile 2019 | Direttiva DSM UE, articolo 4(3): il text and data mining commerciale può essere riservato con mezzi leggibili da macchina | | 10 luglio 2025 | Codice di condotta EU GPAI: i firmatari si impegnano a usare crawler che leggono e rispettano robots.txt | | 5 dicembre 2025 | The New York Times ha citato in giudizio Perplexity per l'acquisizione dei suoi contenuti (accuse) | | 31 luglio 2026 | Reddit c. SerpApi e Perplexity: le accuse ai sensi del DMCA §1201(a) superano la mozione di archiviazione (accuse) | | Riportato il 5 agosto 2026 | La Ninth Circuit annulla l'ingiunzione di Amazon contro l'agente Comet di Perplexity | ## Cosa dice la legge UE sulla lettura dei contenuti web? La legge UE consente il text and data mining di contenuti legalmente accessibili, ma permette ai titolari dei diritti di riservarlo. L'articolo 4(3) della direttiva DSM (2019/790) stabilisce che l'eccezione commerciale si applica solo se l'uso non è stato espressamente riservato "in modo appropriato, ad esempio con mezzi leggibili da macchina" per i contenuti pubblicati online. Il Codice di condotta dell'AI Act UE per i modelli di AI generale, pubblicato il 10 luglio 2025, va oltre per i suoi firmatari. Si impegnano a usare crawler che leggono e rispettano robots.txt e altri protocolli leggibili da macchina appropriati. Ecco perché rispettare robots.txt e le preferenze AI dichiarate è diventato un requisito di base per l'uso in Europa. ## Quali casi USA contano, e a che punto sono? Nessuno ha prodotto una sentenza definitiva sulla lettura di pagine pubbliche per l'AI. I fatti finora, tutti come accuse salvo diversa decisione di un tribunale: - **Reddit c. SerpApi, Perplexity e altri (S.D.N.Y.).** Il 31 luglio 2026 il tribunale ha ammesso le accuse ai sensi del DMCA §1201(a) nella fase di pleading, trattando le protezioni di Google basate su challenge come misure che controllano l'accesso. Nessun convenuto è stato dichiarato responsabile. - **The New York Times c. Perplexity.** Depositato il 5 dicembre 2025. Il Times sostiene che i suoi contenuti siano stati recuperati al momento della query dopo che aveva bloccato Perplexity in robots.txt. - **Amazon c. Perplexity.** Come riportato il 5 agosto 2026, la Ninth Circuit ha annullato un'ingiunzione contro l'agente di shopping Comet di Perplexity, osservando che l'assistente ha agito su istruzioni del suo utente. La corte ha dichiarato di non aver stabilito alcuna regola generale per l'AI agentica. La direzione è mista, e i ricorsi continuano. Considera qualsiasi riassunto, compreso questo, come datato. ## Cosa riduce il rischio quando uno strumento AI legge delle pagine? Alcune pratiche ricorrono in ogni regola e caso sopra: - **Leggi solo pagine pubbliche.** Niente login, niente aree riservate ai membri, niente paywall. - **Rispetta le opt-out leggibili da macchina.** robots.txt e le preferenze AI dichiarate, come `ai-input=no`. - **Non aggirare mai una protezione.** Niente user agent camuffati, niente indirizzi a rotazione per sfuggire ai blocchi, niente risoluzione di challenge. - **Evita i dati personali.** Non raccogliere profili, recapiti o altri dati su persone private. - **Cita le fonti.** Conserva l'URL con ogni pagina e mostralo quando una risposta si basa su di esso. Queste sono buone pratiche, non una garanzia. Chiedi a un avvocato per il tuo caso d'uso. ## Cosa fa WebReaderAPI dal suo lato? Abbiamo costruito il servizio intorno a queste pratiche. 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. Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. La nostra [Acceptable Use Policy](https://webreaderapi.com/it/acceptable-use/) vieta di raccogliere dati personali su persone private e di leggere contenuti dietro un login o un paywall. Ogni richiesta si identifica come `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, e la nostra [pagina crawler](https://webreaderapi.com/it/bot/) spiega ai proprietari dei siti come contattarci. ## Domande legali ### Rispettare robots.txt rende legale il mio uso? Non di per sé. Risponde alla questione dell'opt-out UE e dimostra buona fede, ma copyright, contratti, normative sulla privacy e i termini di ciascun sito si applicano comunque. Questo non è un parere legale. ### Posso memorizzare le pagine che leggo? Dipende dai contenuti, dal tuo scopo e dalla tua giurisdizione. WebReaderAPI non conserva alcuna copia delle pagine che legge per te; ciò che memorizzi dal tuo lato è una tua decisione e una tua responsabilità. ### Leggere una pagina per un singolo utente è diverso dal crawling di un sito? Alcuni fornitori e una corte d'appello hanno trattato un agente guidato dall'utente in modo diverso da un crawler. La legge non è consolidata, quindi WebReaderAPI applica le stesse regole robots.txt a entrambi. ### Dove posso leggere di più? La nostra [guida a robots.txt](https://webreaderapi.com/it/guides/robots-txt-for-ai-agents/) copre gli standard, e le fonti qui sotto rimandano ai testi e ai rapporti. Per la tua situazione specifica, chiedi a un avvocato nella tua giurisdizione. ## Fonti 1. [Direttiva (UE) 2019/790, articolo 4](https://www.legislation.gov.uk/eudr/2019/790/article/4) — legislation.gov.uk (read 2026-10-22) 2. [L'AI Office pubblica la versione finale del Codice di condotta per i modelli di AI generale](https://www.globalpolicywatch.com/2025/07/ai-office-publishes-final-version-of-the-code-of-practice-for-general-purpose-ai-models/) — Global Policy Watch (2025-07) 3. [Reddit c. SerpApi LLC](https://www.loeb.com/en/insights/publications/2026/08/reddit-v-serpapi-llc) — Loeb & Loeb (2026-08) 4. [NYT cita in giudizio il motore di ricerca AI Perplexity](https://the-decoder.com/nyt-sues-ai-search-engine-perplexity-for-alleged-content-misuse/) — The Decoder (read 2026-10-22) 5. [Un tribunale USA annulla l'ingiunzione di Amazon contro Perplexity](https://www.retail-insight-network.com/news/us-court-overturns-amazon-injunction-perplexity/) — Retail Insight Network (2026-08-05) --- 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. --- # Generatore llms.txt: crea il file dal crawl del tuo sito > Genera un file llms.txt per il tuo sito dal crawl: uno script Python che legge ogni pagina come Markdown e la elenca con un riassunto di una riga. Dati 2026. - URL: https://webreaderapi.com/it/guides/llms-txt-generator/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Un file llms.txt elenca le pagine chiave di un sito, con una riga su ciascuna, in Markdown che i modelli leggono facilmente. Questa guida fornisce cifre oneste sull'adozione, poi uno script che esegue il crawl del tuo sito e scrive il file per te. **Risposta rapida — Come genero un file llms.txt per il mio sito web?** Esegui il crawl del tuo sito, prendi il titolo e il primo paragrafo di ogni pagina e scrivili come elenco Markdown sotto il nome del tuo sito in un file in `/llms.txt`. **WebReaderAPI** esegue il crawl: fino a 10.000 pagine per job, come Markdown con metadati, a un credito per pagina da 0,07 USD/1K pagine a partire da ottobre 2026. Lo script Python qui sotto scrive il file. Senza KYC; paghi in criptovalute. ## llms.txt in breve | Attributo | Valore | | --- | --- | | Di cosa si tratta | Un file Markdown proposto alla radice di un sito che elenca le sue pagine chiave per i modelli linguistici | | Adozione, primi 1.000 siti | 9,3% (93 siti) il 18 settembre 2026, secondo Rankability | | Siti con il file | Da 4.088 a 36.120 tra giugno 2025 e maggio 2026, secondo Originality.ai | | Uso misurato | Il 97% dei file llms.txt ha ricevuto zero richieste in uno studio Ahrefs su 137.000 domini | | Costo per costruirlo con WebReaderAPI | Un credito per pagina sottoposta a crawling; 10.000 pagine costano 3,75 USD | ## Vale la pena creare llms.txt? Crearlo costa poco, e finora l'effetto misurato è piccolo. L'adozione è in crescita: Rankability ha trovato il file sul 9,3% dei primi 1.000 siti il 18 settembre 2026, contro lo 0,3% di giugno 2025, anche se il metodo è cambiato tra i due conteggi. Originality.ai ha contato i siti con il file passati da 4.088 a 36.120 tra giugno 2025 e maggio 2026. L'uso è un'altra questione. Uno studio Ahrefs su 137.000 domini, riportato da PPC Land il 2 luglio 2026, ha rilevato che il 97% dei file llms.txt non ha ricevuto alcuna richiesta, e che i bot di retrieval AI hanno fatto l'1,1% delle richieste che i file hanno effettivamente ricevuto. Creane uno se la tua documentazione è ampia e vuoi un indice pulito; non aspettarti che da solo cambi il modo in cui gli assistenti ti citano. ## Cosa contiene un file llms.txt? Un titolo, un riassunto di un paragrafo, poi elenchi di link raggruppati con una breve descrizione ciascuno. Un file minimale è così: - `# Example Docs` alla prima riga, il nome del sito o del progetto. - `> One sentence on what the site covers.` come riassunto tra virgolette. - `## Guides`, `## API reference` e altre sezioni, una per ogni parte del sito. - `- [Page title](https://example.com/page): one line on what the page answers.` per ogni pagina. Mantieni le descrizioni fattuali e brevi. Non scrivere istruzioni per i sistemi di AI nel file; gli assistenti trattano sempre più spesso questo testo come manipolazione. *Python: sottoponi il tuo sito a crawling e scrivi llms.txt* ```python import os import time from collections import defaultdict from urllib.parse import urlparse import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} SITE = "https://docs.example.com/" def first_paragraph(markdown): for block in markdown.split("\n\n"): block = block.strip() if block and not block.startswith(("#", "-", "|", "!", ">")): return " ".join(block.split())[:160] return "" job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 300}, timeout=60).json() pages, cursor, delay = [], None, 5 while True: params = {"cursor": cursor} if cursor else {} batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() pages += [p for p in batch.get("results", []) if "markdown" in p] cursor = batch.get("next_cursor") if batch["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) sections = defaultdict(list) for p in pages: path = urlparse(p["final_url"]).path.strip("/") section = path.split("/")[0].replace("-", " ").title() if path else "Home" summary = p.get("description") or first_paragraph(p["markdown"]) sections[section].append("- [" + p["title"] + "](" + p["final_url"] + "): " + summary) lines = ["# Example Docs", "", "> Documentation for the Example product.", ""] for name in sorted(sections): lines += ["## " + name, ""] + sorted(sections[name]) + [""] with open("llms.txt", "w", encoding="utf-8") as fh: fh.write("\n".join(lines)) print(len(pages), "pages written to llms.txt") ``` ## Come funziona lo script? Avvia un job di crawling, raccoglie i risultati pagina per pagina, poi raggruppa le pagine per la prima cartella del loro percorso. Per ogni pagina usa la meta description quando il sito la fornisce, altrimenti il primo paragrafo del Markdown, tagliato a 160 caratteri. Cambia `SITE`, la riga del titolo e la riga del riassunto in base al tuo progetto, e aumenta `limit` per un sito più grande, fino a 10.000 pagine per job. Controlla l'output prima di pubblicarlo: i nomi delle sezioni derivano dalla struttura dei tuoi URL e potrebbero richiedere un ritocco umano. ## Il mio robots.txt deve consentire il crawling? Sì. WebReaderAPI legge solo ciò che robots.txt consente per `WebReaderAPI` o per tutti i robot, e rispetta qualsiasi `Crawl-delay` tu imposti. Se il tuo sito blocca i robot, aggiungi un gruppo che consente il nostro token per la durata del crawling; la nostra [pagina del crawler](https://webreaderapi.com/it/bot/) mostra le righe esatte. Le pagine che robots.txt non consente vengono saltate e non addebitate, quindi un file restrittivo non ti costa nulla in più; lascia solo quelle pagine fuori da llms.txt. ## Quanto costa? Un credito per pagina letta, due per le pagine che richiedono un browser. Un sito di documentazione di 300 pagine costa 300 crediti, o fino a 600 se è un'applicazione JavaScript. Ci sta comodamente in 10.000 pagine per 3,75 USD, a ottobre 2026, e i crediti avanzati restano sul tuo account: non scadono mai. Rigenera il file quando la tua documentazione cambia. Se conservi l'output del crawling, puoi rileggere solo le pagine modificate con un job batch invece di sottoporre tutto a crawling di nuovo. ## llms.txt: domande frequenti ### Dove metto il file llms.txt? Alla radice del tuo sito, così viene servito su `/llms.txt`, come testo semplice o Markdown. Alcuni siti pubblicano anche `llms-full.txt` con il testo completo delle pagine elencate. ### llms.txt sostituisce robots.txt? No. robots.txt indica quali percorsi i robot devono saltare; llms.txt elenca le pagine che vuoi che i modelli trovino. Tieni entrambi. La nostra [guida a robots.txt](https://webreaderapi.com/it/guides/robots-txt-for-ai-agents/) spiega la differenza. ### llms.txt farà citare il mio sito da ChatGPT o Claude? Non ci sono prove che lo faccia da solo. Lo studio Ahrefs riportato a luglio 2026 ha rilevato che il 97% dei file non ha ricevuto richieste. Contano di più pagine chiare con risposte dirette e fatti datati. ### Posso generare llms.txt per il sito di qualcun altro? Solo per i tuoi siti o con l'accordo del proprietario. Il file parla a nome del sito, quindi spetta al proprietario pubblicarlo. ## Fonti 1. [Dati di adozione di llms.txt](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18) 2. [L'adozione di llms.txt cresce di 8,8 volte ma il 97% dei file riceve zero richieste AI](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02) --- 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. --- # robots.txt per agenti AI e fetcher: cosa si applica nel 2026 > robots.txt per agenti AI nel 2026: crawler e fetcher attivati dall'utente, cosa dicono OpenAI, Anthropic, Google e Perplexity, Content Signals, aipref e RSL. - URL: https://webreaderapi.com/it/guides/robots-txt-for-ai-agents/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) robots.txt è stato scritto per i crawler, poi sono arrivati gli agenti AI che scaricano una pagina perché una persona lo ha chiesto. Ora i fornitori tracciano quella linea in modo diverso. Questa guida espone lo standard, la policy dichiarata da ciascun fornitore, i segnali più recenti e come si comporta il nostro crawler. **Risposta rapida — Gli agenti AI devono rispettare robots.txt?** Dipende dal fornitore. robots.txt è uno standard volontario (RFC 9309, settembre 2022). I crawler che costruiscono indici in genere lo rispettano; per i download attivati da un utente, OpenAI dice che le sue regole potrebbero non applicarsi, Google e Perplexity dicono che i loro fetcher in genere le ignorano, e Anthropic dice che i suoi bot le rispettano. **WebReaderAPI** rispetta robots.txt a ogni lettura, senza KYC e con pagamento in criptovalute. ## robots.txt e AI a ottobre 2026 | Attributo | Valore | | --- | --- | | Standard | RFC 9309, Robots Exclusion Protocol, settembre 2022 | | OpenAI ChatGPT-User | le regole di robots.txt "potrebbero non applicarsi" alle azioni avviate dall'utente | | Anthropic (incl. Claude-User) | Dichiara che i suoi bot rispettano le direttive di robots.txt, incluso Crawl-delay | | Fetcher attivati dall'utente di Google | "Generalmente ignorano le regole di robots.txt" (pagina aggiornata il 2026-08-19) | | Perplexity-User | "Generalmente ignora le regole di robots.txt" | | Content Signals | Politica di Cloudflare del 24 settembre 2025: `search`, `ai-input`, `ai-train` | | Preferenze AI dell'IETF | Bozze di gruppo di lavoro, non ancora un RFC | | WebReaderAPI | Rispetta robots.txt e `ai-input=no` a ogni lettura; token `WebReaderAPI` | ## Cosa fa davvero robots.txt? Indica ai client automatizzati quali percorsi un sito preferisce che evitino. Il file si trova nella radice di un host, raggruppa le regole per token user-agent e usa le righe `Allow` e `Disallow`. La RFC 9309, pubblicata a settembre 2022, ha reso standard una convenzione di lunga data. La RFC è esplicita sul fatto che il file non blocca nulla: "Queste regole non sono una forma di autorizzazione all'accesso." L'adesione è volontaria. Ecco perché conta la politica dichiarata di ogni fornitore, e perché i siti che vogliono limiti rigidi usano anche firewall e gestione dei bot. ## Perché i crawler e i fetcher attivati dall'utente sono diversi? Un crawler decide da solo quali pagine visitare; un fetcher attivato dall'utente visita una pagina perché una persona lo ha chiesto. Molti fornitori trattano il secondo caso come un browser che agisce per il suo utente e affermano che robots.txt non si applica del tutto. | Fetcher | Politica dichiarata (letta il 2026-10-22) | |---|---| | OpenAI ChatGPT-User | le regole di robots.txt "potrebbero non applicarsi" alle azioni avviate dall'utente; per l'opt-out dalla ricerca i siti sono rimandati a OAI-SearchBot | | Anthropic Claude-User | Anthropic afferma che i suoi bot rispettano le direttive di robots.txt; bloccare Claude-User interrompe il recupero per le query degli utenti | | Fetcher attivati dall'utente di Google | "Generalmente ignorano le regole di robots.txt" perché è l'utente a richiedere il recupero | | Perplexity-User | "Generalmente ignora le regole di robots.txt" per lo stesso motivo | | MCP reference fetch server | Obbedisce a robots.txt per i recuperi avviati dal modello per impostazione predefinita, non per quelli avviati dall'utente | La distinzione è reale e documentata. Se sviluppi un agente, decidi da che parte stare e dichiaralo nel tuo user agent e nella documentazione. ## Cosa sono Content Signals, aipref e RSL? Sono modi più recenti per dire cosa i sistemi AI possono fare con i contenuti, non solo se un robot può recuperarli. - **Content Signals.** Cloudflare ha pubblicato questa politica il 24 settembre 2025. Un robots.txt può dichiarare `search`, `ai-input` (uso come input per una risposta AI, ad esempio il grounding) e `ai-train`. Il robots.txt gestito di Cloudflare serve `search=yes, ai-train=no` per impostazione predefinita. - **Preferenze AI dell'IETF (aipref).** Le bozze di vocabolario e di allegato del gruppo di lavoro erano ancora Internet-Draft a ottobre 2026, destinate a diventare Proposed Standard. - **Web Bot Auth.** Un modo per i bot di firmare le proprie richieste; il gruppo di lavoro IETF ha adottato la bozza del suo protocollo il 1° settembre 2026. - **RSL (Really Simple Licensing).** Il suo sito indica che la specifica RSL 1.0 è disponibile; permette agli editori di dichiarare i termini di licenza, incluso il pay-per-crawl, tramite robots.txt, header o RSS. ## llms.txt è la stessa cosa di robots.txt? No. robots.txt dice cosa non recuperare; llms.txt è un file proposto che elenca le pagine chiave di un sito per i modelli linguistici. L'adozione cresce ma l'uso misurato è basso. Rankability ha rilevato llms.txt sul 9,3% dei 1.000 siti principali il 18 settembre 2026. Uno studio di Ahrefs su 137.000 domini, riportato da PPC Land il 2 luglio 2026, ha rilevato che il 97% dei file llms.txt non ha ricevuto alcuna richiesta. La nostra [guida a llms.txt](https://webreaderapi.com/it/guides/llms-txt-generator/) mostra come crearne uno da un crawling del tuo sito, se ne vuoi comunque uno. ## Come tratta robots.txt WebReaderAPI? Lo rispetta a ogni lettura, comprese le letture attivate da un cliente. 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. Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. Per i job di crawling, attende anche il `Crawl-delay` impostato da un sito. Ogni richiesta porta lo stesso User-Agent, `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`, così i proprietari dei siti possono vederci nei loro log e scrivere regole per noi. La nostra [pagina del crawler](https://webreaderapi.com/it/bot/) fornisce i dettagli e un contatto per i problemi. *Esempi di robots.txt per WebReaderAPI* ```text # Block WebReaderAPI from the whole site User-agent: WebReaderAPI Disallow: / # Or: allow it, but keep it out of one folder and slow it down User-agent: WebReaderAPI Disallow: /account/ Crawl-delay: 5 # Or: allow reading for search, but not as AI input (Content Signals) User-agent: * Content-Signal: search=yes, ai-input=no Allow: / ``` ## robots.txt per l'AI: domande comuni ### Bloccare GPTBot impedisce a ChatGPT di leggere la mia pagina per un utente? Non necessariamente. OpenAI documenta token separati: GPTBot per l'addestramento, OAI-SearchBot per la ricerca e ChatGPT-User per le azioni dell'utente, e afferma che le regole di robots.txt potrebbero non applicarsi alle azioni avviate dall'utente. Controlla la documentazione aggiornata di ogni fornitore. ### robots.txt è legalmente vincolante? Non di per sé; la RFC 9309 afferma che non è un'autorizzazione all'accesso. Nell'UE, gli opt-out leggibili da macchina contano per il text and data mining ai sensi della Direttiva DSM. Vedi la nostra [panoramica legale](https://webreaderapi.com/it/guides/is-reading-web-pages-for-ai-legal/); non è consulenza legale. ### Come blocco WebReaderAPI? Aggiungi al tuo robots.txt un gruppo `User-agent: WebReaderAPI` con `Disallow: /`. Le nostre letture lo controllano prima di ogni pagina; le pagine non consentite non vengono mai lette. ### WebReaderAPI legge le pagine che dichiarano ai-input=no? No. Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. L'API restituisce `403 blocked_by_site_policy` al cliente, senza addebito. ## Fonti 1. [RFC 9309: Robots Exclusion Protocol](https://www.rfc-editor.org/rfc/rfc9309.html) — RFC Editor (September 2022) 2. [Panoramica dei crawler di OpenAI](https://developers.openai.com/api/docs/bots) — OpenAI (read 2026-10-22) 3. [Anthropic estrae dati dal web e come possono i proprietari dei siti bloccare il crawler?](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) — Anthropic (2026-04-07) 4. [Fetcher attivati dall'utente di Google](https://developers.google.com/crawling/docs/crawlers-fetchers/google-user-triggered-fetchers) — Google (updated 2026-08-19) 5. [Crawler di Perplexity](https://docs.perplexity.ai/guides/bots) — Perplexity (read 2026-10-22) 6. [MCP fetch server](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) — Model Context Protocol (read 2026-10-22) 7. [Content Signals Policy](https://blog.cloudflare.com/content-signals-policy/) — Cloudflare (2025-09-24) 8. [Documenti del gruppo di lavoro AI Preferences](https://datatracker.ietf.org/wg/aipref/documents/) — IETF (read 2026-10-22) 9. [Documenti del gruppo di lavoro Web Bot Auth](https://datatracker.ietf.org/wg/webbotauth/documents/) — IETF (read 2026-10-22) 10. [Really Simple Licensing](https://rslstandard.org/) — rslstandard.org (read 2026-10-22) 11. [Dati di adozione di llms.txt](https://www.rankability.com/data/llms-txt-adoption/) — Rankability (2026-09-18) 12. [L'adozione di llms.txt cresce di 8,8 volte ma il 97% dei file riceve zero richieste AI](https://ppc.land/llms-txt-adoption-rises-8-8x-but-97-of-files-get-zero-ai-requests/) — PPC Land (2026-07-02) --- 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. --- # Perché gli AI agent ricevono errori 403 quando recuperano pagine web > Perché il web fetch fallisce con 403 in Claude Code, OpenClaw e altri AI agent nel 2026: default di Cloudflare, robots.txt, rate limit, JavaScript e cosa fare. - URL: https://webreaderapi.com/it/guides/web-fetch-403-errors/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Un 403 è un sito che dice no. Dal 2025 sempre più siti lo dicono agli AI agent per impostazione predefinita, e da settembre 2026 Cloudflare blocca il traffico degli agent su molti nuovi siti supportati dalla pubblicità. Ecco come distinguere le cause e cosa puoi fare legittimamente. **Risposta rapida — Perché il mio AI agent riceve un 403 quando recupera una pagina?** Di solito perché il sito, o il suo CDN, rifiuta il traffico automatizzato o AI. Cloudflare blocca gli AI crawler per impostazione predefinita sui nuovi domini dal 1 luglio 2025, e dal 15 settembre 2026 blocca il traffico "Agent" sulle pagine supportate dalla pubblicità dei nuovi domini. Altre cause sono rate limit e login wall. La soluzione è il permesso, non il mascheramento. **WebReaderAPI** restituisce la risposta del sito, senza addebito; senza KYC, pagando in criptovalute. ## Cause comuni di un web fetch fallito | Attributo | Valore | | --- | --- | | 403 da un CDN | Il bot management blocca AI crawler o agent per impostazione predefinita su molti siti | | 403 o 401 dal sito | Login wall, area riservata ai membri, regole geografiche o blocco netto degli agent conosciuti | | 429 | Troppe richieste in poco tempo; il sito ti sta applicando un rate limit | | 402 | Il sito chiede un pagamento, ad esempio tramite Cloudflare pay per crawl | | 200 ma testo vuoto | La pagina costruisce il contenuto con JavaScript; non è un errore, ma non c'è nulla da leggere | | Rifiutato prima del fetch | Il tuo strumento ha rispettato robots.txt e saltato la pagina | ## Cosa è cambiato sul web nel 2025 e nel 2026? I grandi fornitori di infrastruttura hanno reso il blocco degli AI un'impostazione predefinita. Tre cambiamenti con data spiegano la maggior parte dei nuovi 403: - **1 luglio 2025:** Cloudflare ha dichiarato di bloccare ora gli AI crawler per impostazione predefinita, chiedendo a ogni nuovo dominio all'iscrizione se consentirli. Lo stesso giorno ha lanciato pay per crawl in beta privata, che risponde con HTTP 402 e un prezzo. - **1 luglio 2026:** Cloudflare ha introdotto tre categorie di traffico AI, Search, Agent e Training. "Agent" include esplicitamente i fetcher delle chat come ChatGPT-User. - **15 settembre 2026:** per i nuovi domini, i preset di Cloudflare bloccano il traffico Training e Agent sulle pagine che mostrano annunci; Search resta consentito. Un agent che recupera una pagina per un utente rientra nella categoria Agent. Sui siti supportati dalla pubblicità attivati dopo settembre 2026, aspettati dei rifiuti. ## Come distinguo un blocco da un bug? Leggi il codice di stato e il corpo prima di cambiare qualsiasi cosa. | Cosa vedi | Significato probabile | Passo successivo | |---|---|---| | 403 con una challenge o pagina "access denied" | Il sito o il suo CDN rifiuta il traffico automatizzato | Rispettalo; cerca un'API o chiedi l'accesso | | 402 con header di prezzo | Il sito vende l'accesso per singola richiesta | Decidi se pagare tramite il suo canale | | 429 | Hai inviato troppe richieste | Rallenta e riprova più tardi con backoff | | 401, o una pagina di login | Il contenuto richiede un account | Fuori ambito per un reader pubblico | | 200 con quasi nessun testo | Contenuto costruito con JavaScript | Renderizza la pagina in un browser | | Il tuo strumento dice che robots.txt lo vieta | Il sito ha chiesto ai robot di saltarla | Rispettalo | Solo il 429 e la pagina JavaScript vuota sono problemi tecnici che puoi risolvere dalla tua parte. Gli altri sono decisioni prese dal proprietario del sito. ## Cosa può fare legittimamente chi costruisce un agent? Collabora con il sito, non aggirarlo. Questi passi risolvono molti fallimenti e mantengono il tuo agent dalla parte giusta nei confronti dei proprietari dei siti: 1. **Usa il canale del sito stesso.** Molti siti offrono un'API, un feed RSS o Atom, o una sitemap con il contenuto che ti serve. 2. **Chiedi l'accesso.** I proprietari dei siti possono consentire un bot con un nome in robots.txt o nelle impostazioni del loro CDN. Uno User-Agent chiaro e una pagina di contatto lo rendono facile. 3. **Renderizza le pagine consentite ma vuote.** Per le pagine solo JavaScript, usa un reader che esegue un browser headless. 4. **Rallenta e usa la cache.** Leggi la stessa pagina una volta, salvala e rispetta le risposte `Crawl-delay` e 429. 5. **Paga dove il sito vende l'accesso.** Un 402 è un'offerta; accettala tramite il canale del sito o lascia fuori la pagina. Ognuno di questi passi lascia il controllo al proprietario del sito, ed è anche ciò che mantiene utile il tuo agent nel tempo. ## Cosa non devo mai fare per superare un rifiuto? Non mascherare mai l'agent e non aggirare mai una protezione. Falsificare lo User-Agent di un browser, ruotare gli indirizzi IP per sfuggire a un blocco o risolvere le pagine challenge trasforma un client educato in uno strumento costruito per aggirare i controlli di accesso. Nel 2026, due tribunali statunitensi hanno considerato tali tecniche come circonvenzione in cause legali sull'accesso automatizzato ai risultati di ricerca. I casi sono ancora aperti e nulla è deciso, ma il rischio non è teorico. Rompe anche la fiducia con i siti da cui dipendono i tuoi utenti. Un rifiuto è un'informazione: registralo, dì all'utente che la pagina non era disponibile e passa a un'altra fonte. ## Cosa fanno gli strumenti di fetch integrati quando un sito rifiuta? La maggior parte restituisce l'errore al modello, che poi dice all'utente che non ha potuto leggere la pagina. La documentazione di OpenClaw, letta il 22 ottobre 2026, dice che il suo web_fetch integrato estrae il contenuto con Readability, non esegue JavaScript e limita l'output a 20.000 caratteri; può ripiegare su un provider di fetch, e i plugin possono registrarne di nuovi. Il server fetch di riferimento MCP rispetta robots.txt per i fetch avviati dal modello per impostazione predefinita. Quando questi strumenti falliscono su pagine che consentono i robot ma richiedono JavaScript, un reader che renderizza le pagine aiuta. Quando falliscono perché il sito ha rifiutato, nessuno strumento dovrebbe cambiare la risposta. ## Cosa restituisce WebReaderAPI quando un sito rifiuta? Restituisce il rifiuto in modo chiaro, e non ti viene addebitato nulla. Una pagina vietata da robots.txt dà `403 blocked_by_robots`. Un sito che dichiara `ai-input=no` dà `403 blocked_by_site_policy`. Un sito che rifiuta la richiesta in qualsiasi altro modo dà `502 target_refused`, con il codice di stato del sito in `target_status`. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. Il tuo agent può mostrare all'utente esattamente perché una pagina è stata saltata. La [pagina degli errori](https://webreaderapi.com/it/docs/errors/) elenca ogni codice con la regola di retry per ciascuno. ## Errori di web fetch: domande comuni ### Perché una pagina si apre nel mio browser ma fallisce nel mio agent? Perché il sito tratta le persone e i client automatizzati in modo diverso. Il bot management può consentire i browser e rifiutare gli agent, e alcuni siti bloccano il traffico AI per impostazione predefinita. La pagina è pubblica per i lettori, non necessariamente per i robot. ### Riprovare risolverà un 403? Raramente. Un 403 è una decisione, non un glitch. Riprova i 429, i timeout e gli errori di rete con backoff esponenziale; considera il 403 definitivo a meno che il proprietario del sito non lo cambi. ### WebReaderAPI può leggere pagine che il mio agent non riesce a leggere? Solo pagine che consentono i robot ma richiedono un browser per mostrare il loro testo, perché WebReaderAPI renderizza JavaScript quando serve. Non può leggere le pagine che un sito rifiuta, e non ci prova. ### Come posso far autorizzare il mio bot su un sito? Usa uno User-Agent stabile e descrittivo con un URL di contatto, segui robots.txt, mantieni bassi i tassi di richiesta e chiedi al proprietario. Schemi di agent firmati come Web Bot Auth permettono ai siti di verificare chi sei. ## Fonti 1. [Comunicato stampa: AI crawler bloccati per impostazione predefinita](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01) 2. [Presentiamo il pagamento per singola pagina scansionata](https://blog.cloudflare.com/introducing-pay-per-crawl/) — Cloudflare (2025-07-01) 3. [Blog: opzioni di traffico per ricerca, agenti e training](https://blog.cloudflare.com/content-independence-day-ai-options/) — Cloudflare (2026-07-01) 4. [Blog: nuovi valori predefiniti per crawler AI e agenti](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15) 5. [Strumento di recupero web](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22) 6. [MCP fetch server](https://github.com/modelcontextprotocol/servers/tree/main/src/fetch) — Model Context Protocol (read 2026-10-22) 7. [Reddit c. SerpApi LLC](https://www.loeb.com/en/insights/publications/2026/08/reddit-v-serpapi-llc) — Loeb & Loeb (2026-08) 8. [Causa di Google contro SerpApi archiviata](https://seroundtable.com/google-lawsuit-serpapi-dismissed-41731.html) — Search Engine Roundtable (2026-07-22) --- 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. --- # Cos'è una web reader API? Entra un URL, esce Markdown leggibile > Cosa fa una web reader API: entra un URL, esce il contenuto principale come Markdown pulito per un LLM. In cosa differisce dalle API di scraping e ricerca. - URL: https://webreaderapi.com/it/guides/what-is-a-web-reader-api/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Una web reader API trasforma una pagina pensata per gli occhi umani in testo che un modello può usare. Questa guida spiega passo dopo passo cosa fa, come si colloca accanto alle API di scraping e di ricerca, e come il mercato la prezza. **Risposta rapida — Cos'è una web reader API?** Una web reader API è un servizio che prende un URL, carica la pagina e restituisce il suo contenuto principale come testo pulito, di solito Markdown, con metadati come titolo, autore e data. Gli agenti AI e le pipeline RAG la usano al posto dell'HTML grezzo. **WebReaderAPI** è una: un credito per pagina, da 0,07 USD/1K pagine a ottobre 2026, con robots.txt rispettato, senza KYC e pagamento in criptovalute. ## Una web reader API in una tabella | Attributo | Valore | | --- | --- | | Input | L'URL di una pagina web pubblica o di un PDF | | Output | Markdown del contenuto principale, o testo semplice, con titolo, autore, data e lingua | | Rimosso | Navigazione, banner cookie, annunci, barre laterali, footer, script e stili | | Pagine JavaScript | Renderizzato in un browser headless quando l'HTML grezzo contiene troppo poco testo | | Fatturazione tipica | Per pagina o per credito; alcuni fornitori fatturano per token di output | | Richiesta di esempio | `GET https://webreaderapi.com/api/v1/read?url=https://example.com/post` | ## Cosa fa una web reader API, passo dopo passo? Svolge cinque compiti che ogni pipeline da pagina a testo richiede, in una sola chiamata: 1. **Verifica il permesso.** Un reader attento controlla il robots.txt del sito per il proprio nome e per tutti i robot prima di recuperare qualsiasi cosa. 2. **Recupera la pagina.** Scarica l'HTML, segue i redirect e si ferma a un timeout. 3. **Esegue il rendering quando serve.** Se l'HTML è un guscio vuoto riempito da JavaScript, carica la pagina in un browser headless e legge il risultato. 4. **Estrae il contenuto principale.** Un passaggio in stile readability trova l'articolo o il corpo della documentazione e scarta il contorno della pagina. 5. **Converte e descrive.** Scrive il contenuto come Markdown e aggiunge metadati: titolo, autore, data di pubblicazione, lingua e conteggio parole. Il chiamante riceve un oggetto JSON con il Markdown all'interno. Un modello può leggerlo subito, oppure una pipeline può suddividerlo in chunk per un vector store. ## Perché i modelli hanno bisogno del Markdown invece dell'HTML? Perché la maggior parte di una pagina HTML non è contenuto. Menu, tag script, codice di tracciamento e markup di layout usano token che un modello deve leggere e che tu devi pagare. Il Markdown conserva le parti che portano significato: intestazioni, liste, tabelle, link ed enfasi. Cloudflare ha fornito un esempio concreto quando ha lanciato la sua funzione "Markdown for Agents" il 12 febbraio 2026: una pagina è scesa da 16.180 token come HTML a 3.150 token come Markdown, circa l'80% in meno. I risultati variano da pagina a pagina, ma la direzione è la stessa sulla maggior parte delle pagine di articoli e documentazione. ## In cosa una web reader API è diversa da una API di scraping? Una API di scraping restituisce ciò che ha inviato il server; un reader restituisce ciò che leggerebbe una persona. Le API di scraping sono costruite per recuperare pagine su larga scala, spesso per estrarre campi specifici come prezzi o nomi di prodotti, e di solito restituiscono HTML grezzo o JSON strutturato che definisci tu. Un web reader è più ristretto e più deciso. Decide qual è il contenuto principale, rimuove il resto e scrive testo pulito. È lo strumento giusto quando il consumatore successivo è un modello linguistico, un indice di ricerca o una persona che legge un riassunto. È lo strumento sbagliato quando ti serve ogni campo di una griglia di prodotti; per quello vuoi l'HTML completo o un'estrazione basata su schema. ## In cosa è diversa da una API di ricerca? Una API di ricerca risponde a "quali pagine parlano di questo?"; un reader risponde a "cosa dice questa pagina?". La ricerca restituisce un elenco di URL con titoli e snippet per una query. Un reader prende uno di quegli URL e restituisce il suo testo completo. Gli agenti spesso concatenano le due: ricerca per trovare pagine candidate, poi lettura delle tre o quattro migliori per rispondere con citazioni. Tenere separati i passaggi ti permette di scegliere quante pagine leggere, il che risparmia token e crediti. ## Posso usare strumenti open source invece di una API? Sì, e molti team iniziano così. Readability di Mozilla estrae il contenuto principale di una pagina in un contesto browser; Trafilatura fa estrazione in Python; MarkItDown di Microsoft converte documenti, inclusi i PDF, in Markdown; Crawl4AI combina crawling e output Markdown. La libreria è la parte facile. Eseguirla in produzione significa ospitare browser headless per le pagine JavaScript, controllare robots.txt, gestire timeout, redirect e set di caratteri, convertire PDF e mantenere tutto aggiornato con le patch. Una API vale la pena quando preferisci pagare per pagina invece di gestire quella macchina; una libreria vale la pena quando i volumi sono costanti e hai il tempo di gestirla. ## Come fatturano le web reader API? Tre modelli di fatturazione sono comuni nel 2026. I piani basati su crediti addebitano un numero fisso di crediti per pagina: la pagina dei prezzi di Firecrawl, letta il 22 ottobre 2026, conta 1 credito per pagina scansionata e 4 crediti extra per pagina per il suo formato JSON. La fatturazione basata su token addebita il testo restituito: Jina Reader fattura così dal 6 maggio 2025 e dà 10 milioni di token gratuiti a ogni nuova chiave. I piani mensili azzerano i loro crediti a ogni ciclo, mentre i pacchetti prepagati li conservano. WebReaderAPI usa crediti prepagati che non scadono mai: 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. 10.000 pagine costano 3,75 USD e la tariffa scende a 0,07 USD/1K pagine su 5.000.000 di pagine, a ottobre 2026. ## Cosa dovrei controllare prima di scegliere una web reader API? Provale su venti dei tuoi URL e guarda sei cose: - **Qualità dell'estrazione.** Il Markdown conserva l'articolo e scarta il resto, comprese tabelle e blocchi di codice? - **JavaScript.** Le pagine costruite nel browser tornano con il testo, e quanto costa il rendering? - **PDF.** Sono supportati, e come vengono conteggiate le pagine? - **Scelte dei proprietari dei siti.** Il servizio rispetta robots.txt e le preferenze AI dichiarate, e lo dice nella sua documentazione? - **Fallimenti.** Le pagine fallite e rifiutate vengono addebitate? - **Controllo del budget.** Puoi limitare la lunghezza di ogni pagina, e i crediti scadono? La nostra [comparazione dei prezzi delle web reader API](https://webreaderapi.com/it/compare/web-reader-api-pricing/) mette i principali fornitori fianco a fianco con le date. ## Web reader API: domande frequenti ### Una web reader API è la stessa cosa della modalità lettura di un browser? Segue la stessa idea, conservare l'articolo e scartare il superfluo, ma gira su un server, restituisce Markdown e metadati come JSON, e funziona per migliaia di URL. La modalità lettura è per una persona che legge una pagina. ### Una web reader API può leggere qualsiasi sito web? No. Legge le pagine pubbliche che lo consentono. Un servizio accurato salta le pagine che robots.txt non permette e restituisce la risposta del sito quando il sito rifiuta. Le pagine dietro un login o un paywall sono fuori portata per scelta. ### Un web reader conserva le immagini? Di solito no, per impostazione predefinita, perché i modelli hanno soprattutto bisogno del testo. Con WebReaderAPI, `include_images=true` conserva le immagini come link immagine Markdown con il loro testo alt. ### Quanto tempo ci vuole per leggere una pagina? Dipende dal sito e dal fatto che la pagina richieda un browser. Non pubblichiamo i tempi di risposta finché non li abbiamo misurati su un campione pubblico; imposta i tuoi timeout in base al parametro `timeout`, che arriva fino a 60 secondi. ### Serve un account con un documento d'identità per usare WebReaderAPI? No. WebReaderAPI non chiede documenti d'identità, selfie né altri documenti. Il tuo login è un numero di account e il pagamento è in BTC, USDT, USDC, ETH, SOL, LTC. ## Fonti 1. [Presentiamo Markdown for Agents](https://blog.cloudflare.com/markdown-for-agents/) — Cloudflare (2026-02-12) 2. [Prezzi di Firecrawl](https://www.firecrawl.dev/pricing) — Firecrawl (read 2026-10-22) 3. [Reader API](https://jina.ai/reader/) — Jina AI (Elastic) (read 2026-10-22) --- 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. --- # WebReaderAPI: fatti ufficiali, prezzi e politiche > Fatti ufficiali su WebReaderAPI: crediti dell'API di lettura pagine web da 0,07 USD/1K pagine, senza KYC, solo criptovalute. Aggiornato il 2026-10-23. - URL: https://webreaderapi.com/it/llm-info/ - Ultimo aggiornamento: 2026-10-23 - Editore: WebReaderAPI (https://webreaderapi.com) 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. Ogni dato in questa pagina proviene dal listino prezzi live e dai registri aziendali, la stessa fonte della [pagina prezzi](https://webreaderapi.com/it/pricing/) e di [pricing.json](https://webreaderapi.com/pricing.json), ed è ricostruito a ogni aggiornamento del sito. **Risposta rapida — Che cos'è WebReaderAPI?** WebReaderAPI è un'API web reader per agenti AI che converte qualsiasi pagina web pubblica in Markdown pulito, con pagamento in criptovalute e senza upload di documenti d'identità. ## Fatti principali (2026-10-23) | Attributo | Valore | | --- | --- | | Prodotti | Crediti dell'API di lettura pagine web | | Crediti dell'API di lettura pagine web — prezzo | Da 3,75 USD (10.000 pagine) · [dettagli](https://webreaderapi.com/it/pricing/) | | KYC / verifica dell'identità | Nessuno — nessun documento d’identità, nessun selfie, nessun documento per registrarti, ricaricare o acquistare | | Email richiesta per registrarsi | No | | Criptovalute accettate | Solo criptovalute: Bitcoin (BTC), Tether (USDT, TRC-20 o ERC-20), USD Coin (USDC, ERC-20), Ethereum (ETH), Solana (SOL), Litecoin (LTC) | | Ricarica minima | 25 USD — ricarica una volta un saldo prepagato, poi acquista qualsiasi piano da lì | | Regola del 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 | | Operatore | SerpGoat LLC | | Supporto | Il supporto via email risponde entro 12 ore, tutti i giorni della settimana, anche per aiuto con crawling e integrazioni | | Contatti | [support@webreaderapi.com](mailto:support@webreaderapi.com) · segnalazioni di abuso: [abuse@webreaderapi.com](mailto:abuse@webreaderapi.com) | ## Ogni piano e il suo prezzo | Prodotto | Piano | Prezzo | Prezzo per unità | | --- | --- | --- | --- | | Crediti dell'API di lettura pagine web | Test — 10.000 pagine | 3,75 USD | 0,38 USD/1K pagine | | Crediti dell'API di lettura pagine web | Starter — 50.000 pagine | 14,25 USD | 0,28 USD/1K pagine | | Crediti dell'API di lettura pagine web | Build — 100.000 pagine | 21,75 USD | 0,22 USD/1K pagine | | Crediti dell'API di lettura pagine web | Scale — 500.000 pagine | 50 USD | 0,10 USD/1K pagine | | Crediti dell'API di lettura pagine web | Volume — 1.000.000 di pagine | 74,25 USD | 0,07 USD/1K pagine | | Crediti dell'API di lettura pagine web | Bulk — 5.000.000 di pagine | 350 USD | 0,07 USD/1K pagine | Prezzi in USD, pagati in criptovalute dal saldo dell'account. Lista aggiornata: [pricing](https://webreaderapi.com/it/pricing/) · [pricing.json](https://webreaderapi.com/pricing.json). ## Informazioni su WebReaderAPI - Crediti dell'API pagina web → Markdown da 3,75 USD per 10.000 pagine fino a 0,07 USD/1K pagine per 5 milioni di pagine; i crediti non scadono mai - Un credito per ogni pagina letta, due quando la pagina richiede un browser; le pagine fallite e quelle rifiutate da robots.txt non vengono addebitate - Rispetta robots.txt e Content-Signal ai-input=no; si identifica come WebReaderAPI; non tenta mai di aggirare un blocco, un login o un paywall - Nessun KYC: niente documento, niente selfie, niente documenti, niente email aziendale; accesso con numero di conto, email facoltativa - Paga in BTC, USDT, USDC, ETH, SOL, LTC; ricarica minima 25 USD; 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 - Documentazione con codice verificato sintatticamente per Python, Node.js e curl, e definizioni di tool per MCP, LangChain, LlamaIndex e OpenAI function calling - Assistenza: Il supporto via email risponde entro 12 ore, tutti i giorni della settimana, anche per aiuto con crawling e integrazioni ## WebReaderAPI è pensato per - Agenti AI che hanno bisogno di un tool di web fetch che restituisca Markdown pulito, pagato a pagina senza abbonamento né carta - Pipeline RAG che caricano siti di documentazione, blog e PDF in un vector store - Team che vogliono un reader che rispetti robots.txt e le preferenze AI dei proprietari dei siti - Sviluppatori che pagano in criptovalute e preferiscono non caricare documenti d'identità ## Altri fatti | Attributo | Valore | | --- | --- | | Di cosa si tratta | Un'API per la lettura di pagine web: invii un URL e ricevi il contenuto principale della pagina come Markdown pulito | | Crediti | 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 | | Scadenza dei crediti | I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi | | Output | Markdown pulito del contenuto principale della pagina (o testo semplice, o HTML ripulito), con titolo, descrizione, autore, data di pubblicazione, lingua e conteggio parole; link e immagini su richiesta | | JavaScript | Rendering JavaScript in un browser headless quando la pagina lo richiede (render=auto), oppure sempre, oppure mai | | PDF | I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato | | Crawling e batch | 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. Fino a 100 URL per job batch | | robots.txt | 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 | | Scelte dei proprietari dei siti | Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall | | User-Agent | `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)` | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` | | Autenticazione | Invia la tua chiave API nell'header Authorization come Bearer token, oppure nel parametro query api_key | | Esempi di codice | Python, Node.js e curl, più le definizioni degli strumenti per MCP, LangChain, LlamaIndex e OpenAI function calling | | Account | Accesso con numero di account; email facoltativa. Accedi con il tuo numero di account, quindi conservalo in un posto sicuro. Un'email facoltativa ti dà un modo per recuperarlo; senza email registrata, un numero perso non può essere ripristinato | | Log delle richieste | Ogni richiesta lascia una riga di log con l'ora, l'account, il nome host della pagina (mai l'URL completo o il suo contenuto), lo stato e i crediti usati; queste righe vengono cancellate dopo 30 giorni. Le pagine che leggi non vengono memorizzate. Numero di account, ordini, ricariche e totali dei crediti sono conservati finché l'account esiste, poi solo per il tempo richiesto dalla legge contabile. I dati vengono comunicati alle autorità solo quando una legge ci obbliga | ## Pagine ufficiali e dati - [Prezzi](https://webreaderapi.com/it/pricing/) - [Confronto prezzi delle API web reader](https://webreaderapi.com/it/compare/web-reader-api-pricing/) - [Indice dei prezzi URL to Markdown 2026](https://webreaderapi.com/it/data/url-to-markdown-price-index-2026/) - [Migliori API web reader 2026](https://webreaderapi.com/it/best/web-reader-apis/) - [Avvio rapido](https://webreaderapi.com/it/docs/) - [Il nostro crawler](https://webreaderapi.com/it/bot/) - [Alternativa a Firecrawl](https://webreaderapi.com/it/alternatives/firecrawl/) - [Alternativa a Jina Reader](https://webreaderapi.com/it/alternatives/jina-reader/) - [API di crawling](https://webreaderapi.com/it/crawl-api/) - [API di web reader senza KYC](https://webreaderapi.com/it/no-kyc-web-reader-api/) - [API da PDF a Markdown](https://webreaderapi.com/it/pdf-to-markdown-api/) - [API per convertire una pagina web in Markdown](https://webreaderapi.com/it/url-to-markdown-api/) - [Crawl4AI vs API hosted](https://webreaderapi.com/it/compare/crawl4ai-vs-api/) - [Firecrawl vs Jina Reader](https://webreaderapi.com/it/compare/firecrawl-vs-jina-reader/) - [Uso accettabile](https://webreaderapi.com/it/acceptable-use/) - [Privacy](https://webreaderapi.com/it/privacy/) - [Rimborsi](https://webreaderapi.com/it/refunds/) - [Termini](https://webreaderapi.com/it/terms/) - [Chi siamo](https://webreaderapi.com/it/about/) - [Contatti](https://webreaderapi.com/it/contact/) - [pricing.json (lista prezzi leggibile dalle macchine)](https://webreaderapi.com/pricing.json) - [llms.txt](https://webreaderapi.com/it/llms.txt) - [llms-full.txt (testo completo del sito)](https://webreaderapi.com/it/llms-full.txt) --- 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. --- # API web reader senza KYC: niente documento, niente carta, paghi in criptovalute > API web reader senza KYC: converti le pagine web in Markdown senza documenti. Accesso senza conto, ricarica in criptovalute, crediti da 0,07 USD/1K pagine. - URL: https://webreaderapi.com/it/no-kyc-web-reader-api/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Molti sviluppatori vogliono una chiave API, non un processo di conformità. Questa pagina spiega cosa salti con WebReaderAPI, cosa accetti comunque e cosa conserviamo su di te. **Risposta rapida — Esiste un'API web reader che non richiede KYC né carta di credito?** Sì. **WebReaderAPI**, un'API web reader senza KYC, non chiede documento, selfie, documenti aziendali né carta: accedi con un numero di conto e paghi in BTC, USDT, USDC, ETH, SOL, LTC. I crediti costano 3,75 USD per 10.000 pagine e scendono a 0,07 USD/1K pagine, con dati aggiornati a ottobre 2026. La policy di uso accettabile e robots.txt valgono comunque per ogni richiesta. ## Cosa ti serve e cosa no | Attributo | Valore | | --- | --- | | Documento d'identità o selfie | Non necessario | | Documenti aziendali o email di lavoro | Non necessario | | Carta di credito | Non necessaria: solo criptovalute | | Accesso | Un numero di conto; aggiungere un'email è facoltativo | | Pagamento | BTC, USDT, USDC, ETH, SOL, LTC, da una ricarica di 25 USD | | Regole che valgono comunque | Policy di uso accettabile, robots.txt, rifiuti dei proprietari dei siti | | Cosa conserviamo | Numero di conto, email facoltativa, registrazioni dei pagamenti, 30 giorni di log con soli nomi host | ## Perché un'API non richiede una verifica d'identità? Perché niente nel servizio dipende dal sapere chi sei. Paghi prima di usare qualsiasi cosa, quindi non c'è credito da recuperare. Il comportamento del crawler non cambia con il cliente: segue il robots.txt di ogni sito e si ferma a ogni rifiuto, chiunque abbia inviato la richiesta. Una verifica d'identità aggiungerebbe un ritardo e un archivio di documenti da proteggere, senza rendere il servizio più sicuro per i siti che leggiamo. Chiediamo ciò di cui il servizio ha davvero bisogno: un pagamento e una chiave. ## Come funziona un conto senza email? Ricevi un numero di conto quando ti registri, e quel numero è il tuo accesso. Se aggiungi un'email, ti dà un modo per rientrare nel conto; senza, un numero perso non può essere recuperato. Dentro il conto crei chiavi API, una per applicazione o agente se vuoi, e ne revochi qualunque quando vuoi. Perdere una chiave non è un problema; perdere il numero di conto senza email sì, quindi conservalo in un gestore di password. ## Quali regole valgono comunque senza KYC? Ogni regola che protegge i siti web e le persone vale per ogni conto. 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. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. La [Acceptable Use Policy](https://webreaderapi.com/it/acceptable-use/) vieta, tra le altre cose, Leggere pagine per raccogliere dati personali su privati, leggere contenuti dietro un login o un paywall, materiale di abuso sessuale su minori, spam, frode e qualsiasi uso che violi la legge dove operi tu o dove operiamo noi. Le segnalazioni sono controllate da una persona e le violazioni portano alla sospensione. Saltare la verifica d'identità non significa mai saltare queste regole. ## Cosa conserviamo su di te? Meno di un fornitore API tipico, perché c'è meno da conservare: il tuo numero di conto, un'email facoltativa, i tuoi pagamenti e crediti, e log delle richieste che contengono solo nomi host, cancellati dopo 30 giorni. Nessun contenuto delle pagine viene conservato. Non conserviamo mai un documento d'identità, un selfie o un numero di carta, quindi nessuno può trapelare. La [privacy policy](https://webreaderapi.com/it/privacy/) elenca ogni voce e per quanto tempo resta. ## Chi sceglie un web reader senza KYC? Soprattutto chi trova nella burocrazia la parte più lenta del provare uno strumento: - **Sviluppatori indipendenti** che costruiscono un agente AI e vogliono una chiave in pochi minuti. - **Piccoli team** senza carta aziendale, o in paesi dove i pagamenti con carta verso API estere falliscono. - **Progetti autonomi e bot** finanziati da un wallet in criptovalute invece che da un conto bancario. - **Sviluppatori attenti alla privacy** che preferiscono condividere il meno possibile con ogni fornitore. ## Come inizio senza documento? 1. Crea un conto e salva il numero di conto. 2. Ricarica da 25 USD in BTC, USDT, USDC, ETH, SOL, LTC: invia l'importo esatto mostrato sulla rete indicata, poi clicca "Ho inviato il pagamento". La ricarica viene accreditata quando è confermata. 3. Acquista un pack, ad esempio 10.000 pagine per 3,75 USD, e copia la tua chiave API. 4. Invia il tuo primo URL a `https://webreaderapi.com/api/v1/read`, come mostrato nella [guida rapida](https://webreaderapi.com/it/docs/). ## Quanto costa il web reader senza KYC? Gli stessi prezzi valgono per ogni conto: 10.000 pagine per 3,75 USD, 100.000 pagine per 21,75 USD, fino a 0,07 USD/1K pagine sul pack più grande. I crediti non scadono mai. | Piano | Quantità | Prezzo | Prezzo per unità | | --- | --- | --- | --- | | Test | 10.000 pagine | 3,75 USD | 0,38 USD/1K pagine | | Build | 100.000 pagine | 21,75 USD | 0,22 USD/1K pagine | | Volume | 1.000.000 di pagine | 74,25 USD | 0,07 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 I pack si acquistano da un saldo in criptovalute ricaricato con almeno 25 USD. Prezzi in USD, fissati il 2026-10-22. ## Web reader senza KYC: domande frequenti ### Posso usare WebReaderAPI senza carta di credito? Sì, e in realtà solo senza: i pagamenti sono in BTC, USDT, USDC, ETH, SOL, LTC. Non c'è nessuna carta registrata e nulla si rinnova da solo. ### Senza KYC significa che tutto è permesso? No. Ogni richiesta segue robots.txt e si ferma quando un sito rifiuta, e la policy di uso accettabile vale per ogni conto. Violarla porta alla sospensione del conto. ### Mi chiederete documenti più avanti, per esempio oltre una certa spesa? Il nostro processo di registrazione e ricarica non richiede documenti. Comunichiamo i dati alle autorità solo quando la legge lo impone, come indica la privacy policy. ### E se perdo il numero di conto? In quel caso il conto non può essere recuperato, a meno che tu non vi abbia aggiunto un'email. Conserva il numero in un password manager e aggiungi un'email se vuoi una rete di sicurezza. ### Un bot o un agente può pagare da solo i propri crediti? Sì, purché qualcuno invii la ricarica da un wallet. Il conto poi funziona come qualsiasi altro: acquisti un pack, usi una chiave, controlli il saldo con `GET https://webreaderapi.com/api/v1/credits`. --- 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. --- # API PDF to Markdown: invii il link di un PDF e ricevi il testo in Markdown > API PDF to Markdown per LLM e RAG: invii l'URL di un PDF e ricevi il testo in Markdown con titoli e tabelle, fino a 100 pagine, da 0,07 USD/1K pagine. - URL: https://webreaderapi.com/it/pdf-to-markdown-api/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Report, paper, manuali e listini prezzi sono spesso PDF. Passa il link allo stesso endpoint che usi per le pagine web e ottieni il testo del documento in Markdown, pronto da suddividere in chunk e indicizzare. **Risposta rapida — Esiste un'API che converte in Markdown un PDF da un URL?** Sì. Con **WebReaderAPI**, invia l'URL del PDF a `https://webreaderapi.com/api/v1/read`: l'API scarica il file e restituisce il suo testo in Markdown, con titoli, paragrafi, liste e tabelle semplici. Sono supportati file fino a 20 MB e 100 pagine, a 1 credito per blocco di 10 pagine iniziato, da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## PDF to Markdown in breve | Attributo | Valore | | --- | --- | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=https://…/report.pdf` (lo stesso delle pagine web) | | Limiti | I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato | | Output | Testo Markdown con titoli, paragrafi, liste e tabelle semplici; `format=text` per il testo semplice | | Non supportato | PDF scansionati senza livello di testo (nessun OCR), file protetti da password | | robots.txt | Vale per i link PDF come per qualsiasi altra pagina | | Pagamento | BTC, USDT, USDC, ETH, SOL, LTC, da una ricarica da 25 USD; senza KYC | ## Come vengono contate le pagine dei PDF? Un PDF costa 1 credito per blocco di 10 pagine iniziato. Una brochure di 4 pagine costa 1 credito, un report di 25 pagine 3 crediti e un manuale di 100 pagine 10 crediti. La risposta riporta la cifra esatta in `credits_used`. I file più grandi di 20 MB o più lunghi di 100 pagine restituiscono `422 unsupported_content` e non consumano crediti. Per un documento lungo, cerca prima una versione HTML dello stesso contenuto: spesso costa meno ed è strutturata meglio. ## Che aspetto ha il Markdown? Il convertitore ricostruisce l'ordine di lettura dal livello di testo del PDF. Le righe grandi o in grassetto all'inizio di una sezione diventano titoli, gli elementi puntati e numerati diventano liste Markdown e le tabelle a griglia semplice diventano tabelle Markdown. Intestazioni correnti, piè di pagina e numeri di pagina ripetuti su ogni pagina vengono rimossi, così non spezzano le frasi nei tuoi chunk. I layout a due colonne vengono letti colonna per colonna. Le note a piè di pagina restano come testo nel punto in cui la pagina le colloca. *Python: leggere un PDF e suddividerlo in chunk per titolo* ```python import os import re import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/annual-report.pdf"}, timeout=120, ) resp.raise_for_status() doc = resp.json() chunks = [c.strip() for c in re.split(r"\n(?=#{1,3} )", doc["markdown"]) if c.strip()] print(len(chunks), "chunks,", doc["credits_used"], "credit(s)") for c in chunks[:3]: print(c.splitlines()[0]) ``` ## Quali PDF funzionano meglio e quali no? Funzionano meglio i PDF esportati da un word processor, da un sito web o da uno strumento di pubblicazione: contengono un livello di testo con font e posizioni. Report annuali, paper di ricerca, manuali di prodotto, documenti di policy e listini prezzi rientrano di solito in questo gruppo. I documenti scansionati sono immagini di pagine e non hanno livello di testo. WebReaderAPI non esegue il riconoscimento ottico dei caratteri, quindi una scansione restituisce poco o nessun testo; il campo `word_count` lo mostra subito. I PDF protetti da password e crittografati vengono rifiutati con `422 unsupported_content`, senza addebito. ## Come si inseriscono i PDF in una pipeline RAG? Trattali come le pagine web. Leggi il PDF, suddividi il Markdown lungo i suoi titoli, aggiungi ai metadati di ogni chunk l'URL di origine e il titolo della pagina, poi esegui l'embedding. Mantenere l'URL permette al tuo assistente di citare il documento che ha usato. Quando un crawling incontra link a PDF sullo stesso dominio, li legge con le stesse regole e gli stessi controlli robots.txt. Vedi la [guida RAG](https://webreaderapi.com/it/use-cases/rag/) per un esempio completo di ingestion. ## Quanto costa la conversione dei PDF? I PDF attingono agli stessi crediti delle pagine web: 1 credito per blocco di 10 pagine iniziato. Con 10.000 pagine per 3,75 USD, puoi convertire circa 10.000 PDF brevi o 1.000 documenti da 100 pagine. | 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 ## API PDF to Markdown: domande frequenti ### Posso caricare un file PDF invece di inviare un link? Non nella versione 1. L'API legge i PDF da un URL pubblico. Per convertire un file privato, mettilo a un URL che controlli per la durata della richiesta. ### Estrae il testo dai PDF scansionati? No. WebReaderAPI legge il livello di testo di un PDF e non esegue OCR. Un documento scansionato restituisce poco o nessun testo, che il campo `word_count` mostra. ### Le tabelle vengono mantenute? Le tabelle a griglia semplice diventano tabelle Markdown. Le tabelle con celle unite o layout complessi restano come testo nell'ordine di lettura, che i modelli leggono comunque bene. ### Un PDF viene addebitato se la conversione fallisce? No. I file troppo grandi, troppo lunghi, cifrati o rifiutati dal sito non vengono addebitati. 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. --- 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. --- # Prezzi della web reader API: crediti pagina prepagati che non scadono mai > Prezzi di WebReaderAPI: 3,75 USD per 10.000 pagine fino a 0,07 USD/1K pagine, crediti che non scadono mai, pagine fallite gratuite. Senza KYC, cripto. - URL: https://webreaderapi.com/it/pricing/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Un credito legge una pagina; una pagina che richiede un browser ne consuma due. Le pagine che falliscono o che un sito rifiuta non costano nulla. Acquista un pack dal tuo saldo in criptovalute e usalo quando vuoi. Senza KYC — nessun documento d'identità, nessun selfie, nessun documento. Paga in criptovalute. **Risposta rapida — Quanto costa WebReaderAPI?** **WebReaderAPI** vende crediti pagina prepagati: 10.000 pagine per 3,75 USD (0,38 USD/1K pagine), 100.000 pagine per 21,75 USD, 1.000.000 di pagine per 74,25 USD e 0,07 USD/1K pagine a 5 milioni, a ottobre 2026. Una pagina letta con un browser consuma due crediti. Le pagine fallite e le pagine rifiutate da robots.txt sono gratuite e i crediti non scadono mai. Senza KYC; paga in criptovalute. ## Quale pack di crediti dovrei acquistare? Sei pack, con la stessa API e le stesse opzioni in ognuno. Il prezzo per pagina scende da 0,38 USD/1K pagine sul pack più piccolo a 0,07 USD/1K pagine sul più grande. | 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 | | Volume | 1.000.000 di pagine | 74,25 USD | 0,07 USD/1K pagine | | Bulk | 5.000.000 di pagine | 350 USD | 0,07 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. Come funziona il pagamento ## Come vengono contate le pagine? Ogni risposta indica quanto è costata in `credits_used`. Le regole: - **Pagina statica: 1 credito.** L'HTML della pagina conteneva il suo contenuto. - **Pagina che ha richiesto un browser: 2 crediti.** Con `render=auto`, il browser viene eseguito solo quando l'HTML grezzo è quasi vuoto; `render=false` non lo usa mai. - **Paese scelto: +10 crediti.** Scegliere il paese da cui leggere una pagina aggiunge 10 crediti, perché la pagina viene poi letta tramite una connessione residenziale in quel paese. - **PDF: 1 credito per ogni blocco di 10 pagine iniziato.** Un report di 25 pagine costa 3 crediti. - **Errori e rifiuti: 0 crediti.** URL non validi, timeout, pagine rifiutate da robots.txt o dal sito e file che non riusciamo a leggere sono gratuiti. - **Controllare il saldo: gratis.** `GET https://webreaderapi.com/api/v1/credits` non usa crediti. ## I crediti non utilizzati scadono? No. I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi. Un pack acquistato per un crawling conserva il suo valore residuo per il successivo, e un agente inattivo per un mese non perde nulla. Se dovessimo smettere di vendere il servizio, i [termini](https://webreaderapi.com/it/terms/) ti danno almeno 30 giorni di preavviso per usare i tuoi crediti o trasferirne il valore. Un aumento di prezzo si applica solo ai pack acquistati dopo la sua pubblicazione. ## Quale pack si adatta al mio carico di lavoro? Volumi tipici e il pack che li copre. Conta due crediti per le pagine che richiedono un browser. | Carico di lavoro | Pagine | Pack suggerito | | --- | --- | --- | | Agente prototipo o crawling una tantum di un piccolo sito | meno di 5.000 | 10.000 pagine (3,75 USD) | | Agente AI usato ogni giorno da un piccolo team | da 10.000 a 30.000 al mese | 50.000 pagine (14,25 USD) | | Indice RAG di diversi siti di documentazione, con aggiornamenti settimanali | da 30.000 a 80.000 | 100.000 pagine (21,75 USD) | | Prodotto che legge pagine per i propri utenti | da 100.000 a 400.000 al mese | 500.000 pagine (50 USD) | | Corpus di ricerca o grande archivio | 1 milione e oltre | 1.000.000 di pagine (74,25 USD) o 5.000.000 di pagine (350 USD) | ## Come si confrontano questi prezzi con quelli delle altre web reader API? Prezzo per 1.000 pagine quando leggi 100.000 pagine al mese, dalla pagina prezzi pubblica di ciascun provider. La tabella completa, con 21 API e tre volumi, è su [prezzi delle web reader API a confronto](https://webreaderapi.com/it/compare/web-reader-api-pricing/). | Provider e piano | Pagine semplici | Pagine che richiedono un browser | | --- | --- | --- | | WebReaderAPI, 100.000 pagine | 0,22 USD/1K pagine | 2 crediti per pagina | | Firecrawl Standard ($99 per 100.000 crediti) | $0.99 | $0,99 (ogni pagina renderizzata) | | Olostep Standard ($99) | $0.99 | $0,99 (ogni pagina renderizzata) | | Crawl4AI Cloud Builder ($99) | $0.50 | $0.99 | | Scrape.do Hobby ($29 per 250.000 crediti) | $0.29 | $0,99 su Pro | | ScrapingBee Freelance ($49) | $0.49 | $0.99 su Startup | | Contenuti di Exa | $1.00 | Nessuna opzione browser documentata | | Tavily Extract (base, con pagamento a consumo) | $1.40 | $2.36 (avanzato) | *Prezzi verificati il 22 ottobre 2026.* Non dichiariamo di essere i più economici per ogni volume o per ogni tipo di pagina. Fonti: la pagina dei prezzi di ciascun fornitore, elencata nella pagina di confronto. ## Come funziona il pagamento 1. **Ricarica 25 USD o più** — Scegli l'importo e la coin (BTC, USDT, USDC, ETH, SOL, LTC). L'importo in criptovaluta e il suo tasso sono bloccati per 30 minuti. 2. **Invialo all'indirizzo mostrato, sulla rete esatta** — La pagina di pagamento mostra il nostro indirizzo di deposito per la coin e la rete che hai scelto: BTC attivo Bitcoin, USDT attivo Tron (TRC-20) o Ethereum (ERC-20), USDC attivo Ethereum (ERC-20), ETH attivo Ethereum, SOL attivo Solana, LTC attivo Litecoin. Invia solo quella coin su quella rete: i fondi inviati su un'altra rete o in un'altra coin non possono essere recuperati. La commissione di rete si aggiunge all'importo. 3. **Invia l'importo esatto mostrato, poi clicca su “Ho inviato il pagamento”** — Ogni ricarica ha un importo esatto univoco (fino all’ultimo decimale): è così che troviamo il tuo pagamento e lo associamo al tuo account. 4. **Accreditato non appena il tuo pagamento è verificato sulla blockchain** — Il tuo saldo viene accreditato non appena abbiamo verificato la transazione sulla blockchain, dopo che la rete l’ha confermata. Tempi abituali di conferma della rete: 5. **Un unico saldo per tutti i tuoi crediti pagina** — Quando parti da un pack, la ricarica equivale al suo prezzo (o al minimo, se il pack è più piccolo); i crediti vengono aggiunti appena il pagamento è accreditato, e la chiave API ti aspetta nella tua dashboard. Il resto rimane sul saldo per i pack successivi. 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. | Criptovaluta | Rete | Conferme | Tempo abituale | | --- | --- | --- | --- | | Bitcoin (BTC) | Bitcoin | 2 | ≈ 20 min | | Tether (USDT) | Tron (TRC-20) | 20 | ≈ 1 min | | Tether (USDT) | Ethereum (ERC-20) | 12 | ≈ 5 min | | USD Coin (USDC) | Ethereum (ERC-20) | 12 | ≈ 5 min | | Ethereum (ETH) | Ethereum | 12 | ≈ 5 min | | Solana (SOL) | Solana | 1 | ≈ 1 min | | Litecoin (LTC) | Litecoin | 6 | ≈ 15 min | Hai chiuso la scheda? La ricarica in sospeso resta sotto Fatturazione nel tuo account: aprila per vedere di nuovo l'indirizzo e l'importo esatto. ## Domande sui prezzi ### C'è un piano gratuito? No. Non c'è un piano gratuito: il pack più piccolo è il modo per testare, pagato dalla ricarica minima, e l'importo aggiunto solo per raggiungere quel minimo può essere restituito su richiesta entro 30 giorni, in USDT o USDC, se non speso. Il pack da 10.000 pagine costano 3,75 USD e include tutte le opzioni del pack più grande. ### Perché devo ricaricare 25 USD se un pack costa meno? Ogni pagamento passa dal tuo saldo, e la ricarica minima è 25 USD. 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. ### Posso ottenere un rimborso? Un pack di crediti acquistato da meno di 72 ore torna sul tuo saldo se è stato usato meno del 20% dei suoi crediti. Se un pack non funziona e il supporto non riesce a risolverlo entro 24 ore, l'intero importo torna sul tuo saldo. Le ricariche restano come saldo e non vengono rimborsate salvo che la legge disponga diversamente; l'importo aggiunto solo per raggiungere la ricarica minima può essere restituito su richiesta entro 30 giorni, in USDT o USDC, se non speso. La [politica di rimborso](https://webreaderapi.com/it/refunds/) contiene esempi pratici. ### Le pagine JavaScript costano sempre due crediti? Solo quando il browser viene effettivamente avviato. Con `render=auto`, la maggior parte delle pagine di news, blog e documentazione viene letta dal loro HTML per un credito; il browser parte solo quando quell'HTML contiene troppo poco testo. Il campo `rendered` ti dice cosa è successo. ### Con quali criptovalute posso pagare? BTC, USDT, USDC, ETH, SOL, LTC. USDT funziona su TRC-20 o ERC-20, e USDC su ERC-20. La [pagina dei pagamenti in criptovalute](https://webreaderapi.com/it/crypto-payments/) spiega ogni passaggio. --- 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. --- # Informativa sulla privacy > Privacy policy di WebReaderAPI: registriamo i nomi host, mai gli URL completi o il contenuto, per 30 giorni. Nessun documento, accesso con numero di conto. - URL: https://webreaderapi.com/it/privacy/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Un web reader vede due tipi di dati: i tuoi come cliente, e le pagine che gli chiedi di leggere. Questa policy copre entrambi, in quest'ordine. **Risposta rapida — Cosa conserva WebReaderAPI su di me e sulle pagine che leggo?** **WebReaderAPI** conserva il tuo numero di conto, un'email facoltativa, i tuoi registri di pagamento e dei crediti, e log delle richieste che contengono il nome host di ogni pagina, mai l'URL completo o il suo contenuto, per 30 giorni. Non conserviamo alcuna copia delle pagine che leggi. Non chiediamo documenti d'identità né carte, e non vendiamo né condividiamo i tuoi dati. ## Quali dati raccogliamo su di te? Solo ciò che serve per erogare il servizio: - **Account:** il tuo numero di conto, e un indirizzo email se scegli di aggiungerlo. - **Pagamenti:** le ricariche, i loro ID di transazione, monete e reti, e i pack che acquisti. - **Utilizzo:** Ogni richiesta lascia una riga di log con l'ora, l'account, il nome host della pagina (mai l'URL completo o il suo contenuto), lo stato e i crediti usati; queste righe vengono cancellate dopo 30 giorni. Le pagine che leggi non vengono memorizzate. Numero di account, ordini, ricariche e totali dei crediti sono conservati finché l'account esiste, poi solo per il tempo richiesto dalla legge contabile. I dati vengono comunicati alle autorità solo quando una legge ci obbliga. - **Chiavi API:** conservate per poter verificare le tue richieste, revocabili in qualsiasi momento. ## Cosa non raccogliamo mai? Non raccogliamo mai documenti d'identità, selfie, documenti societari o numeri di carta, perché non ci servono. Accesso con numero di account; email facoltativa. Non memorizziamo mai l'indirizzo completo delle pagine che leggi, il loro contenuto, o il Markdown che ti restituiamo. Una volta che la risposta lascia i nostri server, il testo della pagina è sparito dalla nostra parte. ## Perché conservare il nome host di ogni pagina? Per due motivi: mostrarti la cronologia del tuo utilizzo, e rispondere ai proprietari dei siti che segnalano un problema con il nostro crawler. Un nome host come `example.com` basta per entrambi, quindi riduciamo ogni URL a quello prima di scrivere il log. I log vengono eliminati dopo 30 giorni. ## Chi vede le richieste che facciamo per te? Il sito web che ci chiedi di leggere vede una richiesta dalla nostra infrastruttura, con il nostro user agent `WebReaderAPI/1.0 (+https://webreaderapi.com/bot/)`. Non vede il tuo account, la tua chiave o la tua identità. Quando usi l'opzione `country`, la richiesta parte da un indirizzo in quel paese attraverso la nostra infrastruttura, con lo stesso user agent. La nostra infrastruttura riceve solo ciò che serve per recuperare la pagina: l'URL e le opzioni che hai scelto. ## Usate cookie? Le pagine pubbliche non usano cookie pubblicitari o di tracciamento. L'area cliente usa lo storage necessario per mantenerti connesso e per ricordare le scelte dell'interfaccia come la tua lingua. Le pagine di pagamento mostrano indirizzi e importi ma non impostano tracker di terze parti. ## Condividete o divulguate dati? Non vendiamo né affittiamo alcun dato. I registri vengono forniti alle autorità solo in presenza di un obbligo legale, e te lo comunichiamo quando la legge lo consente. I registri dell'account e dei pagamenti vengono conservati finché il tuo account è attivo, poi solo per il tempo richiesto dalle norme contabili. ## Come vedo o elimino i miei dati? La cronologia del tuo utilizzo e i pagamenti sono nell'area cliente. Per eliminare il tuo account, chiedilo dall'area cliente o scrivi a support@webreaderapi.com con un ID ordine; non ti chiederemo il numero di conto né una chiave. Eliminare l'account rimuove i suoi crediti, come spiegano i [termini](https://webreaderapi.com/it/terms/). --- 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. --- # Politica di rimborso > Politica di rimborso di WebReaderAPI: i crediti tornano sul saldo entro 72 ore se usati per meno del 20%, rimborso completo per un pack che non funziona. - URL: https://webreaderapi.com/it/refunds/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) I rimborsi vanno sul tuo saldo, dove restano e non scadono mai. Questa pagina fornisce la regola, tre esempi con dimensioni reali dei pack, e come richiedere. **Risposta rapida — Posso ottenere un rimborso dei crediti WebReaderAPI?** Sì, in due casi. Entro 72 ore dall'acquisto, un pack di crediti **WebReaderAPI** torna sul tuo saldo se ne hai usato meno del 20%. Un pack che non funziona e che il supporto non riesce a sistemare entro 24 ore viene riaccreditato per intero. Le ricariche restano sul tuo saldo; solo la parte aggiunta per raggiungere il minimo di 25 USD può essere rimborsata. ## Qual è la regola esatta? Un pack di crediti acquistato da meno di 72 ore torna sul tuo saldo se è stato usato meno del 20% dei suoi crediti. Se un pack non funziona e il supporto non riesce a risolverlo entro 24 ore, l'intero importo torna sul tuo saldo. Le ricariche restano come saldo e non vengono rimborsate salvo che la legge disponga diversamente; l'importo aggiunto solo per raggiungere la ricarica minima può essere restituito su richiesta entro 30 giorni, in USDT o USDC, se non speso. Le richieste di rimborso sono gestite da una persona, e l'importo compare sul tuo saldo una volta approvato. Le richieste fallite non hanno mai bisogno di un rimborso, perché non usano alcun credito. Questo vale anche per le pagine rifiutate da robots.txt, dalle preferenze AI di un sito o dal sito stesso. ## Esempio 1: un pack acquistato per errore Acquisti 100.000 pagine per 21,75 USD, leggi 3.000 pagine per fare una prova e decidi che un pack più piccolo fa per te. Lo chiedi il giorno dopo. Hai usato il 3% del pack, sotto il limite del 20% e entro 72 ore, quindi l'intero importo di 21,75 USD torna sul tuo saldo. Puoi poi acquistare 10.000 pagine per 3,75 USD da lì. ## Esempio 2: un pack che non funziona Acquisti 50.000 pagine per 14,25 USD, e ogni richiesta restituisce un errore dalla nostra parte per un motivo che il supporto non riesce a sistemare entro 24 ore. Il pack viene riaccreditato per intero, qualunque parte tu abbia provato a usare. ## Esempio 3: la ricarica minima Ti servono solo 10.000 pagine a 3,75 USD, ma la ricarica minima è 25 USD. La differenza resta sul tuo saldo per i pack successivi. Se non la spendi, puoi chiedere che venga rimborsata entro 30 giorni dal pagamento, in USDT o USDC. Nient'altro di una ricarica viene rimborsato, salvo dove la legge lo richiede. ## Come chiedo un rimborso? Usa il modulo di supporto nell'area clienti, oppure scrivi a support@webreaderapi.com con l'ID ordine mostrato nella cronologia dei tuoi ordini (mai il numero del tuo account o una chiave API). Il supporto risponde entro 12 ore; una volta approvato un rimborso, l'importo compare sul tuo saldo. ## Perché i rimborsi vanno sul saldo? Perché i pagamenti in criptovalute non si possono annullare come quelli con carta, e rispedire le monete costa commissioni di rete ogni volta. Un accredito sul saldo è immediato e non ti costa nulla. L'unica eccezione, rimborsata in stablecoin, è la parte di una ricarica aggiunta solo per raggiungere il minimo, entro 30 giorni e se non spesa. Negli altri casi i pagamenti non vengono rimborsati, salvo dove la legge lo richiede. --- 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. --- # Stato di WebReaderAPI: come verificare che l'API funzioni > Come verificare che l'API di WebReaderAPI funzioni: l'endpoint dei crediti gratuito e dove vengono annunciati gli incidenti. - URL: https://webreaderapi.com/it/status/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Quando una pagina non torna, la causa è di solito il sito web, a volte la rete, e raramente noi. Questa pagina mostra come capirlo, in pochi secondi e senza spendere un credito. **Risposta rapida — Come faccio a sapere se WebReaderAPI funziona?** Chiama `GET https://webreaderapi.com/api/v1/credits` con la tua chiave: è gratuito, e una risposta normale significa che l'API e la tua chiave funzionano. Se una pagina fallisce, il codice di errore ti spiega perché, e **WebReaderAPI** non addebita nulla. Gli incidenti dalla nostra parte sono registrati nel [changelog](https://webreaderapi.com/it/changelog/) con la loro data. ## Qual è il controllo di stato più veloce? L'endpoint dei crediti. Risponde senza recuperare alcun sito web, quindi mette alla prova solo la nostra parte: l'autenticazione, l'API e il tuo account. *curl: controlla l'API e i tuoi crediti rimanenti* ```bash curl -s https://webreaderapi.com/api/v1/credits -H "Authorization: Bearer $WEBREADER_API_KEY" ``` ## Quali errori vengono dal sito web e quali da noi? Il codice di errore dice dov'è il problema. Nessuno di questi errori usa un credito. | Codice | Dov'è il problema | Cosa fare | |---|---|---| | `blocked_by_robots` | Il robots.txt del sito rifiuta il nostro crawler | Nulla: il sito ha detto no | | `blocked_by_site_policy` | Il sito dichiara `ai-input=no` | Nulla: il sito ha detto no | | `target_refused` | Il sito ha risposto 403, 429, una challenge o un login | Riprova più tardi, oppure chiedi accesso al sito | | `fetch_failed` | DNS, TLS, connessione, o una pagina 404/410 | Controlla l'URL; riprova più tardi | | `fetch_timeout` | Il sito non ha risposto in tempo | Riprova con un `timeout` più lungo | | `concurrency_limit` | Troppe richieste contemporanee dal tuo account | Rallenta o chiedi un limite più alto | | `invalid_api_key`, `insufficient_credits` | La tua chiave o il tuo saldo | Controlla la dashboard | La [pagina degli errori](https://webreaderapi.com/it/docs/errors/) descrive ogni caso in dettaglio, con un ciclo di retry. ## Perché qui non c'è un dato di uptime in tempo reale? Perché non ne abbiamo ancora misurato uno su un campione pubblico, e una cifra inventata ti ingannerebbe. Il successo di una lettura dipende soprattutto dal sito che si legge, quindi una singola percentuale direbbe poco. Quando pubblicheremo dei dati, arriveranno con il metodo, il campione e la data. ## Dove vengono annunciati gli incidenti? Nel [changelog](https://webreaderapi.com/it/changelog/), con la data, gli endpoint coinvolti e cosa è stato fatto. Se vedi errori ripetuti dalla nostra parte (codici diversi da quelli causati dal sito di destinazione), scrivi a support@webreaderapi.com con l'ora della richiesta e il codice di errore. ## Stato: domande frequenti ### Controllare i miei crediti costa qualcosa? No. `GET https://webreaderapi.com/api/v1/credits` non usa mai un credito, quindi puoi chiamarlo da un controllo di stato tutte le volte che vuoi, entro il tuo limite di concorrenza. ### Una pagina fallisce con me ma si apre nel mio browser. Perché? Di solito perché il sito tratta i robot diversamente dalle persone: può rifiutare il nostro crawler nel robots.txt o rispondere alle richieste automatizzate con una pagina di challenge. Restituiamo la sua risposta e non addebitiamo nulla. Il codice di errore e `target_status` mostrano cosa ha inviato il sito. ### Le letture fallite vengono mai addebitate? No. 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. --- 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. --- # Termini di servizio > Termini di servizio di WebReaderAPI: account, crediti per pagina che non scadono, ricariche in criptovalute, regole di robots.txt, rimborsi e responsabilità. - URL: https://webreaderapi.com/it/terms/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Questi termini coprono il sito web, l'area clienti e l'API. Ogni sezione risponde a una domanda, e nulla di importante è nascosto in una nota a piè di pagina. **Risposta rapida — Cosa dicono in breve i termini di WebReaderAPI?** Paghi in criptovalute dei crediti di pagina prepagati per l'API di lettura delle pagine web **WebReaderAPI**, dopo una ricarica di almeno 25 USD. 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. I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi. Ogni richiesta rispetta il robots.txt del sito di destinazione, e la [Acceptable Use Policy](https://webreaderapi.com/it/acceptable-use/) fa parte di questi termini. Il servizio è venduto da SerpGoat LLC. ## 1. Chi è vincolato da questi termini? Tu e SerpGoat LLC, che gestisce WebReaderAPI. "Tu" è il titolare di un account, una persona o un'organizzazione. Creare un account, pagare una ricarica o chiamare l'API significa che accetti questi termini e la [Acceptable Use Policy](https://webreaderapi.com/it/acceptable-use/). ## 2. Cosa fa il servizio? WebReaderAPI recupera pagine web pubbliche e file PDF che indichi e restituisce il loro contenuto come Markdown, testo semplice o HTML ripulito, tramite `https://webreaderapi.com/api/v1/read`, `https://webreaderapi.com/api/v1/batch` e `https://webreaderapi.com/api/v1/crawl`. I siti web decidono cosa contengono le loro pagine e se i robot possono leggerle. Non controlliamo, correggiamo né garantiamo il contenuto che restituiamo. Lo stesso URL può dare un risultato diverso da una richiesta all'altra. ## 3. Come funzionano gli account e le chiavi API? Accesso con numero di account; email facoltativa. Accedi con il tuo numero di account, quindi conservalo in un posto sicuro. Un'email facoltativa ti dà un modo per recuperarlo; senza email registrata, un numero perso non può essere ripristinato. Puoi creare più chiavi e revocare qualsiasi chiave dalla dashboard. Ogni richiesta inviata con una delle tue chiavi usa i tuoi crediti, chiunque la invii, quindi tieni le chiavi private e revoca qualsiasi chiave che trapela. Un account per persona o organizzazione. ## 4. Come vengono conteggiati i crediti e quando scadono? 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. Scegliere il paese da cui leggere una pagina aggiunge 10 crediti, perché la pagina viene poi letta tramite una connessione residenziale in quel paese. I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato. I crediti prepagati non scadono mai: le pagine non utilizzate restano sul tuo account finché non le usi. I crediti si perdono solo se elimini il tuo account o se lo chiudiamo per una violazione di questi termini. Se smettiamo di vendere il servizio, diamo almeno 30 giorni di preavviso per farti usare i crediti rimanenti o spostarne il valore su un altro prodotto. ## 5. Come funzionano i pagamenti? I prezzi sono in dollari USA nella [pagina dei prezzi](https://webreaderapi.com/it/pricing/). Ricarichi un saldo in BTC, USDT, USDC, ETH, SOL, LTC, con un minimo di 25 USD, e acquisti i pack di crediti da quel saldo. Invia l'importo esatto mostrato sulla rete indicata, poi clicca su "I've sent the payment"; il pagamento viene associato in base al suo importo esatto e accreditato una volta confermato sulla blockchain. Il tuo saldo mantiene il suo valore senza data di scadenza. Quando un pack costa meno della ricarica minima, la parte in eccesso può essere richiesta indietro entro 30 giorni, in USDT o USDC, purché non sia stata spesa; le altre ricariche non vengono rimborsate salvo che la legge lo richieda. Le commissioni di rete sono a carico del mittente. ## 6. Posso ottenere un rimborso? Sì, sul tuo saldo, in due casi: un pack usato per meno del 20% entro 72 ore dall'acquisto, e un pack che non funziona e che l'assistenza non riesce a riparare entro un giorno. La [politica di rimborso](https://webreaderapi.com/it/refunds/) indica la regola completa, con esempi pratici. ## 7. Quali regole si applicano alle pagine che leggo? Il nostro crawler applica tre regole a ogni richiesta e non possono essere disattivate. 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. Se un sito dichiara Content-Signal: ai-input=no nel suo robots.txt, non leggiamo le sue pagine per te. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. Sei responsabile di come usi il contenuto che ricevi, compresi i diritti dei suoi titolari. La [Acceptable Use Policy](https://webreaderapi.com/it/acceptable-use/) elenca gli usi vietati. ## 8. Ci sono limiti di volume o di velocità? Ogni account ha un limite di pagine lette contemporaneamente; la tua dashboard lo mostra e il supporto può aumentarlo. 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. Fino a 100 URL per job batch. Possiamo rallentare o sospendere le richieste a un singolo sito web per proteggerlo, ad esempio rispettando il suo `Crawl-delay`. ## 9. Quando potete sospendere il mio account? Quando rileviamo una violazione di questi termini o della acceptable use policy, quando un pagamento viene annullato o è fraudolento, o quando la legge lo richiede. Ti comunichiamo il motivo quando la legge lo consente, e una persona esamina i fatti prima di qualsiasi sospensione. ## 10. Cosa garantite? Forniamo il servizio così com'è. Non garantiamo che una determinata pagina possa essere letta, che un sito accetti le nostre richieste o che il servizio funzioni senza interruzioni. Le richieste fallite e le pagine rifiutate da un sito non vengono addebitate, il che limita il tuo costo quando una pagina non può essere letta. ## 11. Qual è la vostra responsabilità? Dove la legge lo consente, la nostra responsabilità totale per qualsiasi reclamo è limitata agli importi che ci hai pagato nei 12 mesi precedenti l'evento che l'ha causato. Non siamo responsabili per perdite indirette, come mancati profitti o perdita di dati. Nulla in questi termini limita una responsabilità che la legge non ci consente di limitare. ## 12. Come cambiano questi termini? Datiamo ogni versione e registriamo le modifiche nel [changelog](https://webreaderapi.com/it/changelog/). Una modifica che riduce i tuoi diritti si applica ai crediti acquistati dopo la pubblicazione della modifica. Le domande vanno a support@webreaderapi.com. --- 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. --- # API da pagina web a Markdown: il contenuto principale di qualsiasi URL, pronto per un modello > API da pagina web a Markdown per LLM e agenti AI: qualsiasi URL in Markdown pulito con titolo, autore e data, da 0,07 USD/1K pagine. Senza KYC, in criptovalute. - URL: https://webreaderapi.com/it/url-to-markdown-api/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Passa un URL e ricevi l'articolo indietro come Markdown: titoli, paragrafi, elenchi, tabelle e link mantenuti; menu, banner dei cookie, annunci e footer rimossi. Con titolo, autore, data e lingua della pagina. **Risposta rapida — Quale API converte una pagina web in Markdown pulito per un LLM?** Un'API da pagina web a Markdown recupera una pagina, ne mantiene il contenuto principale e lo restituisce come Markdown. **WebReaderAPI** lo fa in una sola richiesta: `GET https://webreaderapi.com/api/v1/read?url=…` restituisce l'articolo con titoli, elenchi, tabelle e link, più titolo, autore, data e conteggio parole, per un credito per pagina da 0,07 USD/1K pagine a ottobre 2026. robots.txt viene rispettato. Senza KYC; paghi in criptovalute. ## API da URL a Markdown in breve | Attributo | Valore | | --- | --- | | Endpoint | `GET https://webreaderapi.com/api/v1/read?url=…` (o `POST` con un body JSON) | | Output | Markdown pulito del contenuto principale della pagina (o testo semplice, o HTML ripulito), con titolo, descrizione, autore, data di pubblicazione, lingua e conteggio parole; link e immagini su richiesta | | JavaScript | Rendering JavaScript in un browser headless quando la pagina lo richiede (render=auto), oppure sempre, oppure mai | | 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 | | Token budget | `max_chars` riduce il Markdown alla lunghezza che il tuo modello può accettare | | robots.txt | 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 | 3,75 USD per 10.000 pagine, 21,75 USD per 100.000 pagine, da 0,07 USD/1K pagine a 5.000.000 di pagine | | Pagamento | BTC, USDT, USDC, ETH, SOL, LTC, da una ricarica da 25 USD; senza KYC | ## Perché convertire le pagine web in Markdown prima di darle a un modello? Il Markdown conserva la struttura che serve a un modello e scarta il markup che non serve. Una tipica pagina di articolo porta intorno a poche centinaia di parole di testo navigazione, script, tag di tracciamento, avvisi sui cookie e widget di articoli correlati. Inviata come HTML grezzo, la maggior parte dei token che paghi è markup. Il Markdown mantiene i titoli come `#`, gli elenchi come `-`, le tabelle come pipe e i link come `[text](url)`. Un modello vede ancora quale frase appartiene a quale sezione, può citare il link alla fonte e dividere il testo in chunk lungo i suoi titoli. Lo stesso testo in prosa semplice perde quella struttura; lo stesso testo in HTML costa molti più token. ## Cosa conserva l'API e cosa rimuove? Con `main_content=true`, il valore predefinito, l'API conserva la parte della pagina per cui il lettore è arrivato e rimuove il resto. | Conservato | Rimosso | |---|---| | Titolo e titoli di sezione | Navigazione e menu del sito | | Paragrafi, citazioni ed elenchi | Banner di cookie e consenso | | Tabelle, come tabelle Markdown | Annunci e widget promozionali | | Blocchi di codice, con il loro linguaggio quando indicato | Barre laterali ed elenchi di articoli correlati | | Link nel testo | Footer e testi legali di rito | | Immagini, solo con `include_images=true` | Pulsanti di condivisione e moduli di commento | Imposta `main_content=false` per convertire invece l'intera pagina, ad esempio una home page o un elenco di prodotti dove tutto conta. Imposta `format=text` per testo semplice senza Markdown, oppure `format=html` per l'HTML ripulito del contenuto principale. *curl: una pagina come Markdown, tagliata a 20.000 caratteri* ```bash curl -G "https://webreaderapi.com/api/v1/read" \ -H "Authorization: Bearer $WEBREADER_API_KEY" \ --data-urlencode "url=https://example.com/blog/pour-over-coffee" \ -d format=markdown -d max_chars=20000 ``` *Python: leggere una pagina e stamparne i metadati e il Markdown* ```python import os import requests resp = requests.get( "https://webreaderapi.com/api/v1/read", headers={"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}, params={"url": "https://example.com/blog/pour-over-coffee", "format": "markdown"}, timeout=90, ) resp.raise_for_status() page = resp.json() print(page["title"], "|", page.get("author"), "|", page.get("published_at")) print(page["word_count"], "words,", page["credits_used"], "credit(s)") print(page["markdown"][:500]) ``` ## E le pagine costruite con JavaScript? Molte pagine non inviano quasi nessun testo nel loro primo HTML e costruiscono il contenuto nel browser. Con `render=auto`, il valore predefinito, l'API legge prima l'HTML grezzo; se contiene troppo poco testo, apre la pagina in un browser headless e legge il risultato. La risposta indica quale dei due è avvenuto in `rendered`. Una pagina che ha avuto bisogno del browser costa due crediti invece di uno. Se sai che un sito ne ha sempre bisogno, imposta `render=true`; se vuoi solo ciò che invia il server, imposta `render=false` e non paghi mai il secondo credito. ## Cosa succede quando un sito non vuole essere letto? Rispettiamo la sua scelta e non ti viene addebitato nulla. Il nostro crawler si identifica come `WebReaderAPI` e controlla robots.txt prima di ogni lettura. Una pagina non consentita per il nostro token, o per tutti i robot, restituisce `403 blocked_by_robots`. Un sito che dichiara `Content-Signal: ai-input=no` restituisce `403 blocked_by_site_policy`. Se il sito rifiuta la richiesta in un altro modo, come uno stato 403, una pagina di verifica o un muro di login, ricevi `502 target_refused` con lo stato del sito stesso. Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. La nostra [pagina del crawler](https://webreaderapi.com/it/bot/) spiega tutto questo ai proprietari dei siti, con lo User-Agent esatto. ## Quante pagine mi serviranno per il mio progetto? Conta un credito per pagina, due per le pagine che richiedono il browser. Alcuni volumi tipici: - **Un agente AI** che legge 5 pagine per attività e svolge 100 attività al giorno legge circa 15.000 pagine al mese: 50.000 pagine (14,25 USD) durano più di tre mesi. - **Un indice RAG** di tre siti di documentazione con 2.000 pagine ciascuno è 6.000 pagine, poi un aggiornamento settimanale delle pagine modificate. - **Un corpus di ricerca** di 400.000 articoli di notizie e blog rientra in 500.000 pagine (50 USD). I crediti non scadono mai, quindi un pack acquistato per un crawling occasionale conserva il suo valore residuo per lavori successivi. ## Quanto costa l'API URL to Markdown? 10.000 pagine costano 3,75 USD, 100.000 pagine costano 21,75 USD e 1.000.000 di pagine costano 74,25 USD, a ottobre 2026. Le pagine fallite e quelle rifiutate da robots.txt sono gratuite. Vedi [tutti i pack](https://webreaderapi.com/it/pricing/). | 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 | | Volume | 1.000.000 di pagine | 74,25 USD | 0,07 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 ## API URL to Markdown: domande frequenti ### Il Markdown conserva tabelle e blocchi di codice? Sì. Le tabelle HTML diventano tabelle Markdown e i blocchi di codice restano delimitati, con il loro linguaggio quando la pagina lo indica. Le tabelle molto complesse, come quelle con celle unite, vengono appiattite riga per riga. ### Posso ottenere l'intera pagina invece dell'articolo? Sì. Imposta `main_content=false` e l'API converte tutto ciò che c'è nella pagina, inclusi navigazione e footer. È adatto a home page, pagine di categoria ed elenchi di prodotti, dove il rilevatore del contenuto principale scarterebbe parti utili. ### Come mantengo le pagine entro la context window del mio modello? Usa `max_chars`, tra 1.000 e 500.000 caratteri, per tagliare il Markdown a una lunghezza stabilita. Il campo `word_count` ti dice quanto era lungo l'articolo completo, così il tuo agente può decidere se leggere di più. ### Può leggere pagine dietro un login o un paywall? No. WebReaderAPI legge solo pagine pubbliche. Non accede mai agli account e non cerca mai di aggirare un paywall o un blocco; queste pagine restituiscono il rifiuto del sito e non vengono addebitate. ### Serve un documento o una carta per ottenere una chiave? No. WebReaderAPI non chiede documento, selfie, documenti aziendali né carta. Accesso con numero di account; email facoltativa. Ricarichi da 25 USD in BTC, USDT, USDC, ETH, SOL, LTC. --- 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. --- # Cosa puoi costruire con una web reader API? > Con una web reader API i team creano strumenti di fetch per agenti AI, ingestion per RAG, monitoraggio pagine ed export in Markdown. Da 0,07 USD/1K pagine. - URL: https://webreaderapi.com/it/use-cases/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Quattro attività coprono la maggior parte di ciò che le persone fanno con il testo pulito delle pagine: dare a un agente un modo per leggere, alimentare una knowledge base, sorvegliare le pagine per le modifiche e spostare il contenuto di un sito in Markdown. Ognuna ha la sua pagina con codice e costi. **Risposta rapida — A cosa serve una web reader API?** I team usano una web reader API per dare agli agenti AI uno strumento di fetch, per fare ingestion dei siti negli indici RAG, per monitorare le pagine pubbliche in cerca di modifiche e per convertire i propri siti web in Markdown. **WebReaderAPI** copre tutte e quattro con una sola chiave: `/read` per una pagina, `/batch` per una lista, `/crawl` per un sito, a un credito per pagina da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## Qual è il tuo caso d'uso? - **[AI agent](https://webreaderapi.com/it/use-cases/ai-agents/)** — Uno strumento read_url per Claude, Cursor, OpenClaw, n8n o il tuo agente, con un limite di lunghezza per pagina. - **[Ingestion per RAG](https://webreaderapi.com/it/use-cases/rag/)** — Esegui il crawling di documentazione e blog in chunk Markdown che mantengono i titoli e l'URL di origine. - **[Monitoraggio delle modifiche](https://webreaderapi.com/it/use-cases/monitoring/)** — Leggi pagine di prezzi, policy e changelog con una pianificazione e ottieni le differenze come testo. - **[Da sito web a Markdown](https://webreaderapi.com/it/use-cases/website-to-markdown/)** — Esporta il tuo sito in file Markdown per una migrazione, un backup o il tuo assistente. - **[PDF](https://webreaderapi.com/it/pdf-to-markdown-api/)** — Report, paper e manuali da un link, convertiti in testo Markdown. - **[llms.txt](https://webreaderapi.com/it/guides/llms-txt-generator/)** — Crea un file llms.txt per il tuo sito da un crawl, con una riga per pagina. ## Quale endpoint e quante pagine servono a ogni caso d'uso? Volumi tipici per un piccolo team, per dimensionare un primo pack. Un credito per pagina, due quando la pagina richiede un browser. | Caso d'uso | Endpoint | Pagine tipiche al mese | | --- | --- | --- | | Agente che legge 5 pagine per attività, 100 attività al giorno | `/read` | Circa 15.000 | | Indice RAG di 3 siti di documentazione, aggiornato ogni settimana | `/crawl`, poi `/batch` | 6.000 per la costruzione, qualche centinaio a settimana dopo | | Monitoraggio di 200 pagine di concorrenti e policy al giorno | `/batch` | Circa 6.000 | | Esportazione di un sito da 2.000 pagine una volta | `/crawl` | 2.000, una tantum | ## Qual è il problema comune a questi quattro casi d'uso? Tutti hanno bisogno della parte leggibile di una pagina, non del suo layout. Un agente spreca token sui menu; un indice classifica il boilerplate; un monitoraggio delle modifiche genera falsi allarmi quando ruota un annuncio; una migrazione copia i banner dei cookie nel nuovo sito. L'estrazione del contenuto principale risolve lo stesso problema in ogni caso. Condividono anche gli stessi limiti. Le pagine dietro un login o un paywall sono irraggiungibili, e i siti che rifiutano i robot vengono saltati e non addebitati. 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. ## Come scelgo tra /read, /batch e /crawl? Usa lo strumento più piccolo che fa il lavoro. - **`/read`** restituisce una pagina in modo sincrono. È adatto agli agenti, che decidono pagina per pagina cosa leggere dopo. - **`/batch`** legge fino a 100 URL che già conosci, come job in background. È adatto a liste di monitoraggio e aggiornamenti. - **`/crawl`** scopre e legge un intero sito da un URL di partenza, fino a 10.000 pagine, seguendo la sua sitemap e robots.txt. È adatto alle prime build e alle esportazioni. Tutti e tre accettano le stesse opzioni, come `format`, `main_content`, `render` e `max_chars`, e fatturano allo stesso modo. ## Quanto costa un primo progetto? La maggior parte dei primi progetti sta in un pack piccolo. Un agente prototipo, un singolo indice di documentazione o una lista di monitoraggio di qualche centinaio di pagine consuma da qualche migliaio a quindicimila crediti al mese. 10.000 pagine costano 3,75 USD e 50.000 pagine costano 14,25 USD, a ottobre 2026. I crediti non scadono mai, quindi comprare il pack più grande per un progetto che potrebbe crescere non costa nulla in più in un mese tranquillo. Le pagine fallite e le pagine rifiutate da robots.txt sono gratuite. ## Pack per un primo progetto Inizia in piccolo; i crediti si riportano senza data di scadenza. 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. | 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 | 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 ## Casi d'uso: domande frequenti ### Posso usare una sola chiave per più progetti? Sì, oppure crea una chiave per progetto così puoi vedere l'utilizzo separatamente e revocarne una senza toccare le altre. Crea più chiavi API, ad esempio una per agente o per progetto, e revoca quelle che vuoi dalla tua dashboard. ### Quale caso d'uso richiede il rendering JavaScript? Qualsiasi che legga web app moderne, siti di documentazione single-page o pagine che caricano contenuto dopo la prima risposta. Con `render=auto`, l'API esegue il rendering solo quando l'HTML grezzo contiene troppo poco testo. ### C'è un caso d'uso per cui WebReaderAPI non è adatto? Sì: raccogliere dati personali su persone private, leggere contenuti dietro un login o un paywall, e qualsiasi cosa richieda di aggirare il rifiuto di un sito. La nostra [Acceptable Use Policy](https://webreaderapi.com/it/acceptable-use/) elenca le regole. ### Serve un documento per iniziare? No. WebReaderAPI non chiede documenti, selfie né documenti d'identità. Una ricarica parte da 25 USD, in BTC, USDT, USDC, ETH, SOL, LTC. --- 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. --- # Web fetch tool per agenti AI: leggere le pagine come Markdown pulito > Leggi qualsiasi pagina pubblica come Markdown con WebReaderAPI di 0,07 USD/1K pagine: un limite di lunghezza, MCP, OpenAI tools, LangChain e n8n. - URL: https://webreaderapi.com/it/use-cases/ai-agents/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Un agente che può cercare ma non leggere risponde con gli snippet. Dagli un tool che trasforma qualsiasi URL pubblico in un Markdown breve e pulito, e potrà leggere la fonte, citarla e referenziarla, entro un budget che decidi tu. **Risposta rapida — Qual è il modo migliore per dare a un agente AI un web fetch tool?** Avvolgi un'API per la lettura di pagine web in un tool che prende un URL e restituisce il contenuto principale della pagina come Markdown, tagliato a una lunghezza stabilita. **WebReaderAPI** fa la lettura, esegue il rendering JavaScript quando serve, rispetta robots.txt e addebita un credito per pagina da 0,07 USD/1K pagine a ottobre 2026. Il codice del tool è pronto per MCP, OpenAI function calling, LangChain, n8n e OpenClaw. Senza KYC; cripto. ## WebReaderAPI come tool di un agente | Attributo | Valore | | --- | --- | | Strumento | `read_url(url, max_chars)` che chiama `https://webreaderapi.com/api/v1/read` | | Restituisce | Markdown del contenuto principale, più titolo, autore, data e conteggio parole | | Limite di lunghezza | `max_chars`, da 1.000 a 500.000 caratteri per pagina | | Pagine JavaScript | Rendering JavaScript in un browser headless quando la pagina lo richiede (render=auto), oppure sempre, oppure mai | | Rifiuti | Restituiti come errori chiari, mai addebitati | | Integrazioni | [MCP](https://webreaderapi.com/it/docs/mcp/), [OpenAI](https://webreaderapi.com/it/docs/openai/), [LangChain e LlamaIndex](https://webreaderapi.com/it/docs/langchain/), [n8n](https://webreaderapi.com/it/docs/n8n/), [OpenClaw](https://webreaderapi.com/it/docs/openclaw/) | | Prezzo | 3,75 USD per 10.000 pagine; i crediti non scadono mai | ## Perché un agente ha bisogno di un reader invece dell'HTML grezzo? Perché l'HTML grezzo consuma la finestra di contesto con cose di cui il modello non ha bisogno. Un articolo di notizie o una pagina di documentazione arriva avvolto in navigazione, script, banner di consenso e link correlati. Passato così com'è, occupa spazio nella conversazione e spinge il modello a citare i menu. Un reader risolve tre problemi insieme. Tiene solo il contenuto principale, esegue il rendering delle pagine che sono vuote finché non gira JavaScript e converte i PDF in testo. L'agente riceve un blocco compatto di Markdown con un titolo e una data che può citare. ## Perché a volte falliscono gli strumenti di fetch integrati? Soprattutto perché i siti rifiutano il traffico automatizzato. Dal 1° luglio 2025 Cloudflare blocca per impostazione predefinita i crawler AI per i nuovi domini, e dal 15 settembre 2026 i suoi preset bloccano il traffico "Agent" sulle pagine con pubblicità dei nuovi domini. Gli strumenti integrati negli agenti di coding e negli assistenti incontrano questi rifiuti come qualsiasi altro client. Altri fallimenti sono tecnici. La documentazione di OpenClaw, letta il 22 ottobre 2026, dice che il suo web_fetch integrato estrae il contenuto con Readability, non esegue JavaScript e limita l'output a 20.000 caratteri. Le pagine costruite nel browser, i documenti lunghi, i server lenti e i rate limit mettono in difficoltà questi strumenti. Un reader che esegue il rendering delle pagine risolve il caso JavaScript; la cache e la pazienza risolvono il resto. I rifiuti sono una decisione del proprietario del sito. La nostra [guida agli errori 403 di web fetch](https://webreaderapi.com/it/guides/web-fetch-403-errors/) spiega ogni caso. ## Perché lo strumento si chiama read_url e non web_fetch? Per evitare un conflitto con strumenti che gli agenti hanno già. Claude Code e OpenClaw includono entrambi uno strumento integrato chiamato `web_fetch`. Un secondo strumento con lo stesso nome confonde il modello su quale stia chiamando. Chiamare il nostro `read_url` tiene entrambi disponibili: l'agente può usare il suo fetcher integrato per controlli rapidi e `read_url` quando ha bisogno di Markdown pulito, PDF o pagine JavaScript. Le definizioni degli strumenti nelle nostre pagine di documentazione usano tutte questo nome, così puoi passare da un framework all'altro senza modificare i prompt. *Python: uno strumento read_url compatto con un limite di lunghezza* ```python import os import requests API = "https://webreaderapi.com/api/v1/read" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} def read_url(url: str, max_chars: int = 12000) -> str: """Return a web page as Markdown for a model, or a short reason it was not read.""" resp = requests.get(API, headers=HEADERS, params={"url": url, "max_chars": max_chars}, timeout=90) data = resp.json() if resp.status_code != 200: err = data.get("error", {}) return "Not read (" + err.get("code", "error") + "): " + err.get("message", "") head = "# " + (data.get("title") or url) + "\nSource: " + data["final_url"] if data.get("published_at"): head += " | Published: " + data["published_at"] return head + "\n\n" + data["markdown"] if __name__ == "__main__": print(read_url("https://example.com/blog/pour-over-coffee", max_chars=2000)[:500]) ``` ## Come dovrebbe un agente decidere cosa leggere? Dagli un budget e una regola. Tre abitudini tengono sotto controllo costi e contesto: - **Leggi poco, leggi bene.** Due o quattro fonti per domanda di solito bastano per rispondere con citazioni. - **Limita ogni pagina.** Parti con `max_chars` intorno ai 10.000-15.000 caratteri; aumentalo solo quando il `word_count` mostra che la risposta è probabilmente più in basso. - **Segnala i rifiuti.** Quando una pagina non viene letta, lascia che il modello lo dica e passi a un'altra fonte invece di riprovare. Lo strumento qui sopra restituisce i rifiuti come una semplice frase, così il modello può spiegarli all'utente. ## Quanto costa far girare un agente su WebReaderAPI? Un credito per pagina, due quando la pagina richiede un browser. Un assistente che risponde a 100 domande al giorno e legge 4 pagine per ciascuna legge circa 12.000 pagine al mese. 50.000 pagine (14,25 USD) le coprono per quattro mesi, a ottobre 2026. I crediti non scadono mai, quindi un agente indaffarato una settimana e inattivo quella dopo non spreca una quota mensile. Le pagine che falliscono o che robots.txt rifiuta non costano nulla. ## Quale pack è adatto a un agente? Fai il prototipo con 10.000 pagine; passa a 50.000 pagine o 100.000 pagine quando l'agente serve utenti reali. I crediti non scadono mai. | 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 | 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 ## Agenti AI: domande frequenti ### Posso aggiungere WebReaderAPI a Claude Desktop o Cursor? Sì, tramite un piccolo server MCP che espone `read_url`. La [pagina MCP](https://webreaderapi.com/it/docs/mcp/) contiene il codice e lo snippet di configurazione; la tua chiave API resta in una variabile d'ambiente. ### Funziona con OpenClaw? Sì, come server MCP accanto al web_fetch integrato di OpenClaw. La [pagina OpenClaw](https://webreaderapi.com/it/docs/openclaw/) mostra i comandi dalla documentazione di OpenClaw stessa. ### L'agente può leggere pagine che bloccano i bot AI? No. Se robots.txt non consente la pagina, l'API restituisce `blocked_by_robots`; se il sito rifiuta, restituisce `target_refused` con lo status del sito. Nessuno dei due viene addebitato, e non cerchiamo mai di aggirare il rifiuto. ### Come impedisco a una pagina lunga di riempire la finestra di contesto? Imposta `max_chars`. Il Markdown viene tagliato a quella lunghezza, e `word_count` dice all'agente quanto era lunga la pagina completa, così può chiedere di più solo quando serve. ### Serve una carta o un documento d'identità? No. WebReaderAPI non chiede documenti d'identità, selfie, documenti né carta. Il pagamento è in BTC, USDT, USDC, ETH, SOL, LTC, con una ricarica minima di 25 USD. ## Fonti 1. [Comunicato stampa: AI crawler bloccati per impostazione predefinita](https://www.cloudflare.com/press-releases/2025/cloudflare-just-changed-how-ai-crawlers-scrape-the-internet-at-large/) — Cloudflare (2025-07-01) 2. [Blog: nuovi valori predefiniti per crawler AI e agenti](https://blog.cloudflare.com/accountable-mixed-use-ai-crawlers/) — Cloudflare (2026-09-15) 3. [Strumento di recupero web](https://docs.openclaw.ai/tools/web-fetch.md) — OpenClaw (read 2026-10-22) --- 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. --- # Monitoraggio delle modifiche ai siti web: confronta le pagine pubbliche come Markdown pulito > Monitora le modifiche delle pagine web pubbliche: leggi prezzi, policy e changelog come Markdown con una pianificazione e ricevi avvisi da 0,07 USD/1K pagine. - URL: https://webreaderapi.com/it/use-cases/monitoring/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Confrontare l'HTML grezzo genera un avviso ogni volta che cambia una pubblicità o un token. Confrontare il contenuto principale come Markdown segnala solo ciò che noterebbe un lettore: un nuovo prezzo, una clausola riformulata, una nuova voce nel changelog. **Risposta rapida — Come posso monitorare le pagine web per rilevare modifiche ai contenuti?** Leggi ogni pagina con una pianificazione come Markdown del suo contenuto principale, salva il testo e confrontalo con la versione precedente; ricevi un avviso solo quando il testo cambia. **WebReaderAPI** legge fino a 100 URL per job batch, rimuove pubblicità e menu così non possono generare falsi allarmi, e addebita un credito per pagina da 0,07 USD/1K pagine a ottobre 2026. Senza KYC; paghi in criptovalute. ## Monitoraggio con WebReaderAPI | Attributo | Valore | | --- | --- | | Endpoint | `POST https://webreaderapi.com/api/v1/batch`, poi `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | Dimensione del batch | Fino a 100 URL per job batch | | Cosa viene confrontato | Il Markdown del contenuto principale, senza pubblicità, menu o banner | | 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 | | Volume di esempio | 200 pagine verificate al giorno = circa 6.000 pagine al mese | | Prezzo | 3,75 USD per 10.000 pagine; i crediti non scadono mai | ## Cosa vale la pena monitorare? Pagine la cui formulazione conta per la tua attività e che cambiano senza preavviso: - **Pagine dei prezzi** di fornitori e concorrenti, per vedere nuovi piani e variazioni di prezzo. - **Termini, privacy e politiche di rimborso** da cui dipendi, per cogliere clausole che cambiano. - **Changelog e note di rilascio** degli strumenti su cui costruisci, per reagire a modifiche che rompono qualcosa. - **Pagine di documentazione** a cui rimanda il tuo prodotto, per correggere indicazioni sbagliate in fretta. - **Avvisi pubblici** di enti regolatori o organismi di standard del tuo settore. Tieni la lista sulle pagine pubbliche. Profili personali e pagine dietro un login sono fuori ambito. ## Perché fare il diff del Markdown invece dell'HTML? Perché l'HTML cambia in continuazione senza che il contenuto cambi. Annunci a rotazione, token di sessione, timestamp nei footer e markup per i test A/B fanno sì che due caricamenti della stessa pagina differiscano. Un diff sull'HTML trasforma quel rumore in avvisi, e le persone smettono di leggerli. Il Markdown del contenuto principale rimuove gran parte del rumore prima del confronto. Quello che resta è il testo che una persona legge: titoli, paragrafi, liste e tabelle. Un diff su quel testo è breve, leggibile e merita un avviso. *Python: controlla una lista di pagine e stampa cosa è cambiato* ```python import difflib import json import os import pathlib import time import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} STORE = pathlib.Path("snapshots.json") URLS = [ "https://example.com/pricing", "https://example.com/legal/terms", "https://example.com/changelog", ] old = json.loads(STORE.read_text(encoding="utf-8")) if STORE.exists() else {} job = requests.post(API + "/batch", headers=HEADERS, json={"urls": URLS}, timeout=60).json() results, 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() results += page.get("results", []) cursor = page.get("next_cursor") if page["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) new = dict(old) for item in results: if "markdown" not in item: print("not read:", item["url"], item.get("error", {}).get("code")) continue before = old.get(item["url"], "") if before and before != item["markdown"]: diff = difflib.unified_diff(before.splitlines(), item["markdown"].splitlines(), lineterm="", n=0) print("CHANGED:", item["url"]) print("\n".join(list(diff)[:40])) new[item["url"]] = item["markdown"] STORE.write_text(json.dumps(new, ensure_ascii=False), encoding="utf-8") ``` ## Con che frequenza devo controllare, e con quanta educazione? Controlla con la frequenza con cui la pagina cambia realisticamente, e non di più. Il controllo giornaliero va bene per pagine dei prezzi e changelog; quello settimanale per politiche e documentazione. Una pagina letta ogni ora raramente ti dice più di una letta ogni giorno, e costa 24 volte tanto. WebReaderAPI rispetta robots.txt per ogni pagina e onora il `Crawl-delay` di un sito nei crawl job. Le pagine che il sito non consente vengono saltate e non addebitate, quindi un sito severo esce semplicemente dal tuo report. Chiedi al proprietario se ti serve accedere a una pagina che rifiuta robots. ## Quanto costa il monitoraggio? Un credito per pagina per controllo. Alcuni esempi ai prezzi di ottobre 2026: - **50 pagine, giornaliero:** circa 1.500 pagine al mese. 10.000 pagine (3,75 USD) durano più di sei mesi. - **200 pagine, giornaliero:** circa 6.000 pagine al mese. 50.000 pagine (14,25 USD) durano circa otto mesi. - **1.000 pagine, settimanale:** circa 4.300 pagine al mese, vicino al caso precedente. Le pagine che richiedono un browser usano due crediti; imposta `render=false` per le pagine che sai essere HTML semplice, per tenere il conteggio a uno. ## Quale pack è adatto al monitoraggio? Moltiplica le pagine per i controlli al mese, poi scegli un pack che duri qualche mese. I crediti non scadono mai. | 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 | 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 ## Monitoraggio delle modifiche: domande frequenti ### WebReaderAPI invia avvisi? No. Legge le pagine e restituisce Markdown; è il tuo script a confrontare le versioni e a inviare l'avviso via email, chat o ticket. Il codice qui sopra stampa le righe cambiate come punto di partenza. ### Come evito falsi allarmi da date e contatori? Confronta il Markdown del contenuto principale, non l'HTML, e rimuovi prima del diff le righe che sai cambiare a ogni caricamento, come "aggiornato 5 minuti fa". Gran parte degli elementi a rotazione viene già rimossa dall'estrazione del contenuto principale. ### Posso monitorare pagine che richiedono JavaScript? Sì. Con `render=auto`, le pagine che sono vuote senza JavaScript vengono renderizzate in un browser per due crediti. Le pagine che funzionano senza restano a uno. ### Posso monitorare un intero sito invece di una lista di pagine? Sì: avvia un crawl job invece di un batch, poi confronta pagina per pagina. Per siti grandi, confronta prima le date `lastmod` della sitemap e rileggi solo le pagine che sono cambiate. --- 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. --- # Pagine web per RAG: trasforma i siti in Markdown pulito e suddivisibile > Alimenta le pipeline RAG con pagine web: crawling in Markdown pulito, suddivisione per titolo e URL. Da 0,07 USD/1K pagine, senza KYC, in criptovalute. - URL: https://webreaderapi.com/it/use-cases/rag/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) 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. **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 | Attributo | Valore | | --- | --- | | Intero sito | `POST 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 URL | `POST https://webreaderapi.com/api/v1/batch`: Fino a 100 URL per job batch | | Per pagina | Markdown del contenuto principale, titolo, autore, data, lingua, conteggio parole | | PDF | I file PDF fino a 20 MB e 100 pagine vengono convertiti in Markdown, a 1 credito per ogni blocco di 10 pagine iniziato | | 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 | | Prezzo | 14,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* ```python 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](https://webreaderapi.com/it/bot/) 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. | 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 ## 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](https://webreaderapi.com/it/docs/langchain/) 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. --- 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. --- # Converti il tuo sito web in Markdown: esegui il crawling ed esporta ogni pagina > Converti il tuo sito web in file Markdown: esegui il crawling ed esporta ogni pagina con il front matter, per migrazione, backup o assistente. Senza KYC. - URL: https://webreaderapi.com/it/use-cases/website-to-markdown/ - Ultimo aggiornamento: 2026-10-22 - Editore: WebReaderAPI (https://webreaderapi.com) Passare a un generatore di siti statici, a una piattaforma per la documentazione o a una knowledge base spesso inizia con una domanda: come estraggo le mie pagine come Markdown pulito? Un crawl lo fa in un solo job, con titoli, date e URL conservati nel front matter. **Risposta rapida — Come converto tutto il mio sito web in Markdown?** Esegui il crawling del tuo sito, leggi il contenuto principale di ogni pagina come Markdown e scrivi un file `.md` per pagina con titolo, URL e data nel front matter. **WebReaderAPI** esegue il crawling fino a 10.000 pagine per job, segue la tua sitemap e robots.txt e addebita un credito per pagina da 0,07 USD/1K pagine a partire da ottobre 2026. Lo script Python qui sotto scrive i file. Senza KYC; paghi in criptovalute. ## Export del sito web con WebReaderAPI | Attributo | Valore | | --- | --- | | Endpoint | `POST https://webreaderapi.com/api/v1/crawl`, risultati da `GET https://webreaderapi.com/api/v1/jobs/{job_id}` | | 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 | | Per pagina | Markdown del contenuto principale, più titolo, descrizione, autore, data e lingua | | Pagine intere | `main_content=false` mantiene navigazione e footer quando ti servono | | Il tuo robots.txt | Deve consentire `WebReaderAPI` per le pagine che esporti | | Prezzo | 3,75 USD per 10.000 pagine; i crediti non scadono mai | ## Quando è utile un export in Markdown? Ogni volta che il contenuto deve uscire dal sistema che lo renderizza. Casi comuni: - **Migrazioni.** Passare da un CMS a un generatore di siti statici o a una piattaforma di documentazione che memorizza le pagine come Markdown. - **Backup.** Un archivio leggibile delle tue pagine pubblicate che non dipende da nessun database o tema. - **Il tuo assistente.** Alimentare un help bot o una ricerca interna con il testo del tuo sito, con ogni chunk collegato alla sua pagina. - **Audit.** Leggere tutte le tue pagine come testo semplice per trovare affermazioni superate, testi rotti o contenuti duplicati. In ogni caso vuoi le parole e la struttura, non il tema intorno. *Python: esegui il crawling del tuo sito in file Markdown con front matter* ```python import os import pathlib import time from urllib.parse import urlparse import requests API = "https://webreaderapi.com/api/v1" HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]} SITE = "https://www.example.com/" OUT = pathlib.Path("export") def target_path(url): path = urlparse(url).path.strip("/") or "index" return OUT / (path + ".md") def front_matter(page): fields = {"title": page.get("title", ""), "source": page["final_url"], "date": page.get("published_at") or ""} lines = ["---"] + [key + ": " + repr(value) for key, value in fields.items()] + ["---", ""] return "\n".join(lines) job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 2000, "max_depth": 5}, timeout=60).json() cursor, delay, written = None, 5, 0 while True: params = {"cursor": cursor} if cursor else {} batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json() for page in batch.get("results", []): if "markdown" not in page: continue dest = target_path(page["final_url"]) dest.parent.mkdir(parents=True, exist_ok=True) dest.write_text(front_matter(page) + page["markdown"] + "\n", encoding="utf-8") written += 1 cursor = batch.get("next_cursor") if batch["status"] == "done" and not cursor: break if not cursor: time.sleep(delay) delay = min(delay * 2, 60) print(written, "files in", OUT) ``` ## Come mantengo la struttura delle cartelle e gli URL? Rispecchia il percorso dell'URL nel percorso del file, come fa lo script: `/guides/setup/` diventa `export/guides/setup.md`. Conserva l'URL originale nel front matter come `source`, così puoi impostare i redirect dopo la migrazione e verificare che nulla sia andato perso. I link dentro il Markdown puntano ancora ai tuoi URL attuali. Dopo lo spostamento, sostituisci il dominio o il prefisso del percorso in un solo passaggio, poi testa un campione di pagine. Tabelle e blocchi di codice restano Markdown, quindi la maggior parte dei generatori statici li renderizza senza modifiche. ## E se il mio robots.txt blocca i crawler? Consenti il nostro token per la durata dell'export. WebReaderAPI legge solo ciò che robots.txt permette per `WebReaderAPI` o per tutti i robot, anche sul tuo sito. Aggiungi un gruppo come `User-agent: WebReaderAPI` con `Allow: /`, esegui il crawl, poi rimuovilo se vuoi. La nostra [pagina del crawler](https://webreaderapi.com/it/bot/) mostra le righe esatte e lo User-Agent che apparirà nei log del tuo server. Le pagine che restano vietate vengono saltate e non vengono addebitate. ## Quanto costa un export? Un credito per pagina, due per le pagine che richiedono un browser per mostrare il loro testo. Un sito da 2.000 pagine renderizzato sul server costa 2.000 crediti una volta; lo stesso sito come app JavaScript può costare fino a 4.000. Entrambi stanno in 10.000 pagine per 3,75 USD, a partire da ottobre 2026. Un sito da 50.000 pagine richiede più job, divisi per sezione con `include_paths`, e sta in 100.000 pagine (21,75 USD). I crediti che restano dopo l'export rimangono sul tuo account per gli aggiornamenti successivi. ## Quale pack copre la mia esportazione? Conta le tue pagine, raddoppia il conteggio se il sito richiede JavaScript per il rendering e scegli il pack sopra quello. I crediti non scadono mai. | 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 | 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 ## Da sito web a Markdown: domande frequenti ### Posso esportare l'intera pagina, inclusi menu e footer? Sì. Imposta `main_content=false` nelle opzioni di crawling e ogni file contiene la pagina completa convertita in Markdown. La maggior parte delle migrazioni preferisce solo il contenuto principale, perché il nuovo tema fornisce la propria navigazione. ### Le immagini vengono scaricate? No. Con `include_images=true`, i link alle immagini restano nel Markdown con il loro testo alternativo; scarica i file stessi con il tuo script se la migrazione ne ha bisogno. ### Posso esportare un sito che non possiedo? Solo le pagine pubbliche che il suo robots.txt consente, e solo per usi che i suoi termini e la legge permettono. Per una migrazione o un backup, esporta i tuoi siti o siti il cui proprietario è d'accordo. ### Quanto può essere grande un sito gestito da un solo job? Fino a 10.000 pagine per job di crawling, all'interno di un dominio. Suddividi i siti più grandi per sezione con `include_paths` ed esegui più job. --- 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.