Zonder KYC — geen ID, geen selfie, geen documenten. Betalen met crypto: BTC, USDT, USDC, ETH, SOL, LTC
Taal: Nederlands
Vraag een API-sleutel aan

POST /crawl · tot 10.000 pagina's per opdracht · robots.txt en Crawl-delay worden gerespecteerd

Crawl API: maak van een hele website Markdown-bestanden

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.

Laatst bijgewerkt: · 6 min leestijd

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.

Crawl API in één oogopslag

Start een crawlPOST https://webreaderapi.com/api/v1/crawl met url, limit, max_depth, include_paths, exclude_paths
Haal de resultaten opGET https://webreaderapi.com/api/v1/jobs/{job_id}, gepagineerd met een cursor
BereikCrawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay
Veel afzonderlijke URL'sPOST https://webreaderapi.com/api/v1/batch: Tot 100 URL's per batch-job
Facturering1 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-eigenarenWe 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
PrijsUS$ 14,25 voor 50.000 pagina's, US$ 50 voor 500.000 pagina's

Hoe werkt een crawl-opdracht?

Een crawl is een achtergrondopdracht, omdat het lezen van honderden pagina's langer duurt dan één HTTP-verzoek zou moeten duren.

  1. Starten: POST https://webreaderapi.com/api/v1/crawl met de start-URL en je limieten. Je krijgt meteen een job_id.
  2. Ontdekken: de crawler leest de robots.txt en sitemap van de site en volgt dan links binnen hetzelfde domein, breadth first, tot max_depth.
  3. Lezen: elke toegestane pagina wordt gelezen met dezelfde opties als /read: Markdown, hoofdinhoud extraheren, rendering wanneer nodig.
  4. Ophalen: poll 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.

Python: crawl een documentatiesite naar Markdown-bestanden
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"))

Welke pagina's bezoekt de crawler en welke slaat hij over?

Hij blijft binnen het domein van de start-URL en slaat alles over wat de site robots vraagt met rust te laten. In detail:

  • Alleen hetzelfde domein. Links naar andere domeinen worden in de resultaten vermeld maar niet gelezen.
  • robots.txt eerst. Pagina's die voor WebReaderAPI of voor alle robots zijn uitgesloten, worden overgeslagen en niet in rekening gebracht.
  • Crawl-delay gerespecteerd. Als de site er een instelt, wacht de crawler zo lang tussen twee pagina's, dus een grote site kan langer duren.
  • Je filters. include_paths en exclude_paths nemen eenvoudige patronen zoals /blog/*; gebruik ze om tagpagina's, zoekpagina's en archieven te vermijden.
  • Duplicaten verwijderd. Dezelfde pagina bereikt via twee URL's, bijvoorbeeld met trackingparameters, wordt één keer gelezen wanneer de site een canonical URL aangeeft.

Moet ik een crawl of een batch gebruiken?

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.

Hoeveel kost het om een site te crawlen?

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.

Welk pack past bij een crawl?

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.

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
Kies 10.000 pagina's

Starter

50.000 pagina's

US$ 14,25

US$ 0,28/1K pagina's

  • Een AI-agent of een RAG-prototype
  • Crawlen door een documentatiesite
  • Credits verlopen nooit
Kies 50.000 pagina's

Build

100.000 pagina's

US$ 21,75

US$ 0,22/1K pagina's

  • Productie-agents en RAG-pipelines
  • Batch- en crawl-taken
  • Credits verlopen nooit
Kies 100.000 pagina's

Scale

500.000 pagina's

US$ 50

US$ 0,10/1K pagina's

  • Grote knowledge bases
  • Hogere concurrency op aanvraag
  • Credits verlopen nooit
Kies 500.000 pagina's

In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit

Crawl API: veelgestelde vragen

Hoeveel pagina's kan één crawl lezen?

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.

Gebruikt de crawler de sitemap?

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.

Kan ik een site crawlen die AI-crawlers blokkeert?

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.

Kan ik de resultaten krijgen terwijl de crawl nog loopt?

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.

Kan een crawl meer pagina's lezen dan mijn limiet?

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