Test
10.000 pagina's
US$ 3,75
US$ 0,38/1K pagina's
- Probeer het op je eigen URL's
- Dezelfde API als het grootste pack
- Credits verlopen nooit
POST /crawl · tot 10.000 pagina's per opdracht · robots.txt en Crawl-delay worden gerespecteerd
Geef een start-URL en een paginalimiet. De crawler volgt de sitemap van de site en links binnen hetzelfde domein, leest elke pagina als Markdown en levert je de resultaten pagina voor pagina. Eén credit per pagina.
Kort antwoord
Hoe crawl ik een hele website en krijg ik elke pagina als Markdown?
Gebruik een crawl-API: je stuurt een start-URL en een limiet, en het retourneert elke pagina van de site als Markdown. WebReaderAPI crawlt tot 10.000 pagina's per opdracht binnen één domein, volgt de sitemap, robots.txt en Crawl-delay, en rekent één credit per gelezen pagina, vanaf US$ 0,07/1K pagina's per oktober 2026. Pagina's die door robots.txt worden geweigerd zijn gratis. Zonder KYC; betalen met crypto.
| Start een crawl | POST https://webreaderapi.com/api/v1/crawl met url, limit, max_depth, include_paths, exclude_paths |
|---|---|
| Haal de resultaten op | GET https://webreaderapi.com/api/v1/jobs/{job_id}, gepagineerd met een cursor |
| Bereik | Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay |
| Veel afzonderlijke URL's | POST https://webreaderapi.com/api/v1/batch: Tot 100 URL's per batch-job |
| Facturering | 1 credit = 1 pagina lezen zonder browser; 2 credits wanneer de pagina een browser nodig heeft om JavaScript te renderen. Een verzoek dat mislukt, of dat de robots.txt van een site weigert, wordt niet in rekening gebracht |
| Site-eigenaren | We respecteren robots.txt: onze crawler identificeert zich als WebReaderAPI, volgt de regels die voor hem of voor alle robots zijn geschreven, en leest geen pagina die een site niet toestaat. Geweigerde pagina's worden niet in rekening gebracht |
| Prijs | US$ 14,25 voor 50.000 pagina's, US$ 50 voor 500.000 pagina's |
Een crawl is een achtergrondopdracht, omdat het lezen van honderden pagina's langer duurt dan één HTTP-verzoek zou moeten duren.
POST https://webreaderapi.com/api/v1/crawl met de start-URL en je limieten. Je krijgt meteen een job_id.max_depth./read: Markdown, hoofdinhoud extraheren, rendering wanneer nodig.GET https://webreaderapi.com/api/v1/jobs/{job_id} en blader met de cursor door de resultaten terwijl de opdracht loopt, of zodra deze done is.De opdracht stopt bij je limit, dus je betaalt nooit voor meer pagina's dan je hebt aangevraagd.
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"))
Hij blijft binnen het domein van de start-URL en slaat alles over wat de site robots vraagt met rust te laten. In detail:
WebReaderAPI of voor alle robots zijn uitgesloten, worden overgeslagen en niet in rekening gebracht.include_paths en exclude_paths nemen eenvoudige patronen zoals /blog/*; gebruik ze om tagpagina's, zoekpagina's en archieven te vermijden.Gebruik een crawl wanneer je de site kent maar niet de pagina's; gebruik een batch wanneer je de lijst met URL's al hebt. Een crawl ontdekt pagina's via de sitemap en links. Een batch leest precies de URL's die je verstuurt, tot 100 per opdracht, over elk aantal sites.
Voor een wekelijkse verversing van een kennisbank is een veelvoorkomend patroon één crawl om de index op te bouwen, en daarna batches van de pagina's waarvan lastmod in de sitemap is gewijzigd. Zo blijven de wekelijkse kosten beperkt tot de pagina's die daadwerkelijk zijn gewijzigd.
Eén credit per gelezen pagina, twee voor pagina's waarvoor een browser nodig was. Een documentatiesite van 1.500 pagina's die op de server rendert, kost 1.500 credits; dezelfde site als single-page app kan tot 3.000 kosten.
Drie typische opdrachten, per oktober 2026: een producthandleiding van 300 pagina's past in het 10.000 pagina's-pack (US$ 3,75); tien documentatiesites van elk 2.000 pagina's passen in 50.000 pagina's (US$ 14,25); een archief van 400.000 pagina's past in 500.000 pagina's (US$ 50). Overgeslagen en mislukte pagina's zijn gratis.
Bepaal de pack op basis van het aantal pagina's en tel er een marge bij voor pagina's waarvoor een browser nodig is. Credits verlopen nooit, dus de rest dient voor de volgende crawl.
10.000 pagina's
US$ 3,75
US$ 0,38/1K pagina's
50.000 pagina's
US$ 14,25
US$ 0,28/1K pagina's
100.000 pagina's
US$ 21,75
US$ 0,22/1K pagina's
500.000 pagina's
US$ 50
US$ 0,10/1K pagina's
In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit
Tot 10.000 pagina's per opdracht, binnen het domein van de start-URL. Voor een grotere site splits je het in meerdere opdrachten met include_paths, bijvoorbeeld één per sectie.
Ja. Hij leest de sitemap die in robots.txt of op de gebruikelijke locatie staat en volgt dan links op de pagina's die hij leest. Pagina's die alleen de sitemap vermeldt, worden nog steeds gelezen als robots.txt ze toestaat.
Niet met WebReaderAPI. Als robots.txt onze crawler of alle robots weigert, worden die pagina's overgeslagen en niet in rekening gebracht. Als de site Content-Signal: ai-input=no aangeeft, lezen we die niet voor je. We proberen zulke keuzes nooit te omzeilen.
Ja. GET https://webreaderapi.com/api/v1/jobs/{job_id} geeft de tot nu toe gelezen pagina's terug met een cursor; blijf bladeren tot de opdracht done is en er geen cursor meer over is.
Nee. Credits worden pagina voor pagina geteld en de opdracht stopt wanneer hij de limit bereikt die je hebt ingesteld. Pagina's die hij vanwege robots.txt overslaat, en pagina's die mislukken, gebruiken geen credit.
Vanaf US$ 0,07/1K pagina's · zonder KYC
Vraag een API-sleutel aan