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
| 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.
Ricarica in criptovalute
Invia almeno 25 USD in BTC, USDT, USDC, ETH, SOL, LTC. Accesso con numero di account; email facoltativa.
Acquista un pack di crediti
10.000 pagine per 3,75 USD bastano per provare ogni opzione sui tuoi URL.
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 -sG "https://webreaderapi.com/api/v1/read" \
-H "Authorization: Bearer $WEBREADER_API_KEY" \
--data-urlencode "url=https://example.com/blog/first-post"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"])
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 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 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 spiega quali errori vale la pena riprovare e quali sono definitivi.
Dove vado adesso?
- Leggi il riferimento degli endpoint Ogni parametro di /read, con esempi
- Batch e crawling Fino a 100 URL per batch, o un intero sito
- Formato della risposta Ogni campo della risposta
- Errori e robots.txt Codici, cause e regole di retry
- Python requests, httpx async, chunking per RAG
- Node.js fetch, un piccolo pool, polling del crawl
- curl e jq Ricette per il terminale
- server MCP Un tool read_url per Claude e Cursor
- LangChain e LlamaIndex Loader e tool per il RAG
- OpenAI function calling Uno schema e un loop per il tool read_url
- n8n Tool HTTP Request per un AI Agent
- 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.