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
Use case · migraties en exports · /crawl
Overstappen naar een static site generator, een docs-platform of een knowledge base begint vaak met één vraag: hoe krijg ik mijn pagina's eruit als schone Markdown? Een crawl doet het in één job, met titels, datums en URL's bewaard in front matter.
Kort antwoord
Hoe converteer ik mijn hele website naar Markdown?
Crawl je site, lees de hoofdinhoud van elke pagina als Markdown, en schrijf één .md-bestand per pagina met de titel, URL en datum in front matter. WebReaderAPI crawlt tot 10.000 pagina's per job, volgt je sitemap en robots.txt, en rekent één credit per pagina vanaf US$ 0,07/1K pagina's per oktober 2026. Een Python-script hieronder schrijft de bestanden. Zonder KYC; betalen met crypto.
| Endpoint | POST https://webreaderapi.com/api/v1/crawl, resultaten van GET https://webreaderapi.com/api/v1/jobs/{job_id} |
|---|---|
| Bereik | Crawl één website per job, tot 10.000 pagina's, volgens de sitemap, de robots.txt en de Crawl-delay |
| Per pagina | Markdown van de hoofdinhoud, plus titel, beschrijving, auteur, datum en taal |
| Hele pagina's | main_content=false behoudt navigatie en footers wanneer je die nodig hebt |
| Je robots.txt | Moet WebReaderAPI toestaan voor de pagina's die je exporteert |
| Prijs | US$ 3,75 voor 10.000 pagina's; credits verlopen nooit |
Wanneer content het systeem dat het rendert moet verlaten. Veelvoorkomende gevallen:
In elk geval wil je de woorden en de structuur, niet het thema eromheen.
import os
import pathlib
import time
from urllib.parse import urlparse
import requests
API = "https://webreaderapi.com/api/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
SITE = "https://www.example.com/"
OUT = pathlib.Path("export")
def target_path(url):
path = urlparse(url).path.strip("/") or "index"
return OUT / (path + ".md")
def front_matter(page):
fields = {"title": page.get("title", ""), "source": page["final_url"], "date": page.get("published_at") or ""}
lines = ["---"] + [key + ": " + repr(value) for key, value in fields.items()] + ["---", ""]
return "\n".join(lines)
job = requests.post(API + "/crawl", headers=HEADERS, json={"url": SITE, "limit": 2000, "max_depth": 5}, timeout=60).json()
cursor, delay, written = None, 5, 0
while True:
params = {"cursor": cursor} if cursor else {}
batch = requests.get(API + "/jobs/" + job["job_id"], headers=HEADERS, params=params, timeout=60).json()
for page in batch.get("results", []):
if "markdown" not in page:
continue
dest = target_path(page["final_url"])
dest.parent.mkdir(parents=True, exist_ok=True)
dest.write_text(front_matter(page) + page["markdown"] + "\n", encoding="utf-8")
written += 1
cursor = batch.get("next_cursor")
if batch["status"] == "done" and not cursor:
break
if not cursor:
time.sleep(delay)
delay = min(delay * 2, 60)
print(written, "files in", OUT)
Spiegel het URL-pad in het bestandspad, zoals het script doet: /guides/setup/ wordt export/guides/setup.md. Bewaar de originele URL in de front matter als source, zodat je na de migratie redirects kunt instellen en kunt controleren dat er niets verloren is gegaan.
Links in de Markdown wijzen nog naar je huidige URL's. Vervang na de verhuizing het domein of het padprefix in één pass en test daarna een steekproef van pagina's. Tabellen en codeblokken blijven Markdown, dus de meeste static generators renderen ze zonder wijzigingen.
Sta onze token toe voor de duur van de export. WebReaderAPI leest alleen wat robots.txt toestaat voor WebReaderAPI of voor alle robots, ook op je eigen site. Voeg een groep toe zoals User-agent: WebReaderAPI met Allow: /, voer de crawl uit en verwijder die daarna als je wilt.
Onze crawlerpagina toont de exacte regels en de User-Agent die in je serverlogs verschijnt. Pagina's die verboden blijven, worden overgeslagen en niet gefactureerd.
Eén credit per pagina, twee voor pagina's die een browser nodig hebben om hun tekst te tonen. Een site van 2.000 pagina's die op de server wordt gerenderd, kost eenmalig 2.000 credits; dezelfde site als JavaScript-app kan tot 4.000 kosten. Beide passen in 10.000 pagina's voor US$ 3,75, per oktober 2026.
Een site van 50.000 pagina's vereist meerdere jobs, gesplitst per sectie met include_paths, en past in 100.000 pagina's (US$ 21,75). Credits die na de export overblijven, blijven op je account voor latere verversingen.
Tel je pagina's, verdubbel de telling als de site JavaScript nodig heeft om te renderen, en kies de pack daarboven. Credits verlopen nooit.
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
In elk plan: Hoofdinhoud extraheren · JavaScript rendering wanneer nodig · Mislukte en geweigerde pagina's niet in rekening gebracht · Credits verlopen nooit
Ja. Stel main_content=false in bij de crawl-opties en elk bestand bevat de volledige pagina omgezet naar Markdown. De meeste migraties geven de voorkeur aan alleen de hoofdinhoud, omdat het nieuwe thema zijn eigen navigatie meebrengt.
Nee. Met include_images=true blijven afbeeldingslinks met hun alt-tekst in de Markdown staan; download de bestanden zelf met je eigen script als de migratie ze nodig heeft.
Alleen openbare pagina's die het robots.txt toestaat, en alleen voor gebruik dat de voorwaarden en de wet toestaan. Voor een migratie of een back-up exporteer je je eigen sites of sites waarvan de eigenaar heeft ingestemd.
Tot 10.000 pagina's per crawl-job, binnen één domein. Splits grotere sites per sectie met include_paths en voer meerdere jobs uit.
Vanaf US$ 0,07/1K pagina's · zonder KYC
Vraag een API-sleutel aan