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
POST /crawl · jusqu'à 10 000 pages par job · robots.txt et Crawl-delay respectés
Indiquez une URL de départ et une limite de pages. Le crawler suit le sitemap du site et les liens au sein du même domaine, lit chaque page en Markdown et vous remet les résultats page par page. Un crédit par page.
Réponse rapide
Comment explorer un site web entier et obtenir chaque page en Markdown ?
Utilisez une crawl API : vous envoyez une URL de départ et une limite, et elle renvoie chaque page du site en Markdown. WebReaderAPI explore jusqu'à 10 000 pages par job au sein d'un même domaine, suit le sitemap, robots.txt et le Crawl-delay, et facture un crédit par page lue, à partir de 0,07 $US/1K pages en octobre 2026. Les pages refusées par robots.txt sont gratuites. Sans KYC ; payer en crypto.
| Lancer un crawl | POST https://webreaderapi.com/api/v1/crawl avec url, limit, max_depth, include_paths, exclude_paths |
|---|---|
| Récupérer les résultats | GET https://webreaderapi.com/api/v1/jobs/{job_id}, paginés avec un cursor |
| Portée | Crawl d'un seul site web par job, jusqu'à 10 000 pages, en suivant son sitemap, son robots.txt et son Crawl-delay |
| De nombreuses URL distinctes | POST https://webreaderapi.com/api/v1/batch : Jusqu'à 100 URLs par job batch |
| 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 |
| Propriétaires de sites | 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 | 14,25 $US pour 50 000 pages, 50 $US pour 500 000 pages |
Un crawl est une tâche en arrière-plan, car lire des centaines de pages prend plus de temps qu'une seule requête HTTP ne devrait en prendre.
POST https://webreaderapi.com/api/v1/crawl avec l'URL de départ et vos limites. Vous recevez immédiatement un job_id.max_depth./read : Markdown, extraction du contenu principal, rendu si nécessaire.GET https://webreaderapi.com/api/v1/jobs/{job_id} et parcourez les résultats avec le curseur pendant que la tâche s'exécute, ou une fois qu'elle est done.La tâche s'arrête à votre limit, vous ne payez donc jamais pour plus de pages que demandé.
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"))
Il reste dans le domaine de l'URL de départ et ignore tout ce que le site demande aux robots de laisser tranquille. En détail :
WebReaderAPI ou pour tous les robots sont ignorées et non facturées.include_paths et exclude_paths acceptent des motifs simples comme /blog/* ; utilisez-les pour éviter les pages de tags, les pages de recherche et les archives.Utilisez un crawl quand vous connaissez le site mais pas les pages ; utilisez un batch quand vous avez déjà la liste des URL. Un crawl découvre les pages à partir du sitemap et des liens. Un batch lit exactement les URL que vous envoyez, jusqu'à 100 par tâche, sur n'importe quel nombre de sites.
Pour une actualisation hebdomadaire d'une base de connaissances, un schéma courant consiste en un crawl pour construire l'index, puis des batchs des pages dont le lastmod a changé dans le sitemap. Le coût hebdomadaire se limite ainsi aux pages qui ont réellement bougé.
Un crédit par page lue, deux pour les pages ayant nécessité un navigateur. Un site de documentation de 1 500 pages qui est rendu côté serveur coûte 1 500 crédits ; le même site construit en single-page app peut coûter jusqu'à 3 000.
Trois tâches typiques, en octobre 2026 : un manuel produit de 300 pages tient dans le pack 10 000 pages (3,75 $US) ; dix sites de documentation de 2 000 pages chacun tiennent dans 50 000 pages (14,25 $US) ; une archive de 400 000 pages tient dans 500 000 pages (50 $US). Les pages ignorées et en échec sont gratuites.
Dimensionnez le pack sur le nombre de pages, puis ajoutez une marge pour les pages qui nécessitent un navigateur. Les crédits n'expirent jamais, le reste sert donc au crawl suivant.
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
500 000 pages
50 $US
0,10 $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
Jusqu'à 10 000 pages par tâche, au sein du domaine de l'URL de départ. Pour un site plus grand, découpez-le en plusieurs tâches avec include_paths, par exemple une par section.
Oui. Il lit le sitemap indiqué dans robots.txt ou à l'emplacement habituel, puis suit les liens des pages qu'il lit. Les pages listées uniquement dans le sitemap sont tout de même lues si robots.txt les autorise.
Non, pas avec WebReaderAPI. Si robots.txt interdit notre crawler ou tous les robots, ces pages sont ignorées et non facturées. Si le site déclare Content-Signal: ai-input=no, nous ne le lisons pas pour vous. Nous ne cherchons jamais à contourner ces choix.
Oui. GET https://webreaderapi.com/api/v1/jobs/{job_id} renvoie les pages lues jusqu'ici avec un curseur ; continuez à paginer jusqu'à ce que la tâche soit done et qu'il ne reste plus de curseur.
Non. Les crédits sont comptés page par page, et la tâche s'arrête lorsqu'elle atteint la limit que vous avez définie. Les pages ignorées à cause de robots.txt et les pages en échec ne consomment aucun crédit.
À partir de 0,07 $US/1K pages · sans KYC
Obtenir une clé API