Test
10 000 pages
3,75 $US
0,38 $US/1K pages
- Testez-le sur vos vraies URL
- Même API que le pack le plus grand
- Les crédits n'expirent jamais
GET /read · 1 crédit par page · à partir de 0,07 $US/1K pages
Passez une URL et récupérez l'article en Markdown : titres, paragraphes, listes, tableaux et liens conservés ; menus, bannières de cookies, publicités et pieds de page supprimés. Avec le titre, l'auteur, la date et la langue de la page.
Réponse rapide
Quelle API convertit une page web en Markdown propre pour un LLM ?
Une API page web vers Markdown récupère une page, conserve son contenu principal et le renvoie en Markdown. WebReaderAPI le fait en une seule requête : GET https://webreaderapi.com/api/v1/read?url=… renvoie l'article avec ses titres, listes, tableaux et liens, plus le titre, l'auteur, la date et le nombre de mots, pour un crédit par page à partir de 0,07 $US/1K pages en octobre 2026. robots.txt est respecté. Sans KYC ; payez en crypto.
| Endpoint | GET https://webreaderapi.com/api/v1/read?url=… (ou POST avec un corps JSON) |
|---|---|
| Sortie | Markdown propre du contenu principal de la page (ou texte brut, ou HTML nettoyé), avec titre, description, auteur, date de publication, langue et nombre de mots ; liens et images sur demande |
| JavaScript | Rendu JavaScript dans un navigateur headless quand la page en a besoin (render=auto), ou toujours, ou jamais |
| Facturation | 1 crédit = 1 page lue sans navigateur ; 2 crédits quand la page nécessite un navigateur pour exécuter JavaScript. Une requête qui échoue, ou qu'un robots.txt de site refuse, n'est pas facturée |
| Budget de tokens | max_chars réduit le Markdown à la longueur que votre modèle peut prendre |
| robots.txt | Nous respectons robots.txt : notre crawler s'identifie comme WebReaderAPI, suit les règles écrites pour lui ou pour tous les robots, et ne lit pas une page qu'un site interdit. Les pages refusées ne sont pas facturées |
| Prix | 3,75 $US pour 10 000 pages, 21,75 $US pour 100 000 pages, à partir de 0,07 $US/1K pages à 5 000 000 pages |
| Paiement | BTC, USDT, USDC, ETH, SOL, LTC, à partir d'une recharge de 25 $US ; sans KYC |
Le Markdown conserve la structure dont un modèle a besoin et supprime le balisage dont il n'a pas besoin. Une page d'article typique embarque navigation, scripts, balises de tracking, bandeaux cookies et widgets d'articles liés autour de quelques centaines de mots de texte. Envoyée en HTML brut, la plupart des tokens que vous payez sont du balisage.
Le Markdown conserve les titres en #, les listes en -, les tableaux en barres verticales et les liens en [text](url). Un modèle peut toujours voir quelle phrase appartient à quelle section, citer le lien source et découper le texte en chunks selon ses titres. Le même texte en prose simple perd cette structure ; le même texte en HTML coûte bien plus de tokens.
Avec main_content=true, la valeur par défaut, l'API conserve la partie de la page pour laquelle le lecteur est venu et supprime le reste.
| Conservé | Supprimé |
|---|---|
| Titre et headings | Navigation du site et menus |
| Paragraphes, citations et listes | Bandeaux cookies et de consentement |
| Tableaux, en tableaux Markdown | Publicités et widgets sponsorisés |
| Blocs de code, avec leur langage quand affiché | Barres latérales et listes d'articles liés |
| Liens à l'intérieur du texte | Footers et mentions légales |
Images, uniquement avec include_images=true | Boutons de partage et formulaires de commentaire |
Définissez main_content=false pour convertir plutôt toute la page, par exemple une page d'accueil ou une liste de produits où tout compte. Définissez format=text pour du texte brut sans Markdown, ou format=html pour du HTML nettoyé du contenu principal.
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=20000import 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])
De nombreuses pages n'envoient presque pas de texte dans leur premier HTML et construisent le contenu dans le navigateur. Avec render=auto, la valeur par défaut, l'API lit d'abord le HTML brut ; s'il contient trop peu de texte, elle ouvre la page dans un navigateur headless et lit le résultat. La réponse indique ce qui s'est produit dans rendered.
Une page qui a nécessité le navigateur coûte deux crédits au lieu d'un. Si vous savez qu'un site en a toujours besoin, définissez render=true ; si vous ne voulez que ce que le serveur envoie, définissez render=false et ne payez jamais le second crédit.
Nous respectons son choix et vous n'êtes pas facturé. Notre crawler s'identifie comme WebReaderAPI et vérifie robots.txt avant chaque lecture. Une page interdite pour notre token, ou pour tous les robots, renvoie 403 blocked_by_robots. Un site qui déclare Content-Signal: ai-input=no renvoie 403 blocked_by_site_policy.
Si le site refuse la requête d'une autre manière, comme un statut 403, une page de challenge ou un mur de connexion, vous recevez 502 target_refused avec le statut propre au site. Si un site refuse notre requête, nous renvoyons sa réponse : nous ne résolvons jamais de CAPTCHA, ne nous connectons pas à des comptes et ne cherchons pas à contourner un blocage ou un paywall. Notre page crawler explique tout cela aux propriétaires de sites, avec le User-Agent exact.
Comptez un crédit par page, deux pour les pages qui nécessitent le navigateur. Quelques volumes typiques :
Les crédits n'expirent jamais, donc un pack acheté pour un crawl ponctuel conserve sa valeur restante pour des tâches ultérieures.
10 000 pages coûtent 3,75 $US, 100 000 pages coûtent 21,75 $US et 1 000 000 pages coûtent 74,25 $US, à la date d'octobre 2026. Les pages en échec et les pages refusées par robots.txt sont gratuites. Voir tous les packs.
10 000 pages
3,75 $US
0,38 $US/1K pages
50 000 pages
14,25 $US
0,28 $US/1K pages
100 000 pages
21,75 $US
0,22 $US/1K pages
1 000 000 pages
74,25 $US
0,07 $US/1K pages
Dans chaque offre: Extraction du contenu principal · Rendu JavaScript si nécessaire · Pages en échec et refusées non facturées · Les crédits n'expirent jamais
Oui. Les tableaux HTML deviennent des tableaux Markdown, et les blocs de code restent délimités, avec leur langage quand la page l'indique. Les tableaux très complexes, comme ceux à cellules fusionnées, sont aplatis ligne par ligne.
Oui. Définissez main_content=false et l'API convertit tout ce qui se trouve sur la page, y compris la navigation et le footer. Cela convient aux pages d'accueil, aux pages de catégorie et aux listes de produits, où le détecteur de contenu principal supprimerait des parties utiles.
Utilisez max_chars, entre 1 000 et 500 000 caractères, pour couper le Markdown à une longueur définie. Le champ word_count vous indique la longueur de l'article complet, pour que votre agent puisse décider s'il doit lire davantage.
Non. WebReaderAPI lit uniquement les pages publiques. Il ne se connecte jamais à des comptes et ne tente jamais de contourner un paywall ou un blocage ; ces pages renvoient le refus du site et ne sont pas facturées.
Non. WebReaderAPI ne demande ni pièce d'identité, ni selfie, ni documents d'entreprise, ni carte. Connexion par numéro de compte ; l'email est facultatif. Vous rechargez depuis 25 $US en BTC, USDT, USDC, ETH, SOL, LTC.
À partir de 0,07 $US/1K pages · sans KYC
Obtenir une clé API