Test
10.000 Seiten
3,75 $
0,38 $/1K Seiten
- Testen Sie es mit Ihren echten URLs
- Dieselbe API wie beim größten Paket
- Credits verfallen nie
Anwendungsfall · Migrationen und Exporte · /crawl
Der Wechsel zu einem Static Site Generator, einer Docs-Plattform oder einer Wissensdatenbank beginnt oft mit einer Frage: Wie bekomme ich meine Seiten als sauberes Markdown heraus? Ein Crawl erledigt das in einem Job, mit Titeln, Daten und URLs im Front Matter.
Kurze Antwort
Wie wandle ich meine gesamte Website in Markdown um?
Crawlen Sie Ihre Seite, lesen Sie den Hauptinhalt jeder Seite als Markdown und schreiben Sie eine .md-Datei pro Seite mit Titel, URL und Datum im Front Matter. WebReaderAPI crawlt bis zu 10.000 Seiten pro Job, folgt Ihrer Sitemap und robots.txt und berechnet einen Credit pro Seite ab 0,07 $/1K Seiten (Stand Oktober 2026). Ein Python-Skript weiter unten schreibt die Dateien. Ohne KYC; mit Krypto bezahlen.
| Endpoint | POST https://webreaderapi.com/api/v1/crawl, Ergebnisse von GET https://webreaderapi.com/api/v1/jobs/{job_id} |
|---|---|
| Umfang | Eine Website pro Job crawlen, bis zu 10.000 Seiten, entlang ihrer Sitemap, ihrer robots.txt und ihrer Crawl-delay |
| Pro Seite | Markdown des Hauptinhalts, plus Titel, Beschreibung, Autor, Datum und Sprache |
| Ganze Seiten | main_content=false behält Navigation und Footer bei, wenn Sie sie brauchen |
| Ihre robots.txt | Muss WebReaderAPI für die Seiten erlauben, die Sie exportieren |
| Preis | 3,75 $ für 10.000 Seiten; Credits laufen nie ab |
Immer wenn Inhalte das System verlassen müssen, das sie rendert. Häufige Fälle:
In jedem Fall wollen Sie die Wörter und die Struktur, nicht das Theme drumherum.
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)
Spiegeln Sie den URL-Pfad im Dateipfad, wie es das Skript tut: /guides/setup/ wird zu export/guides/setup.md. Behalten Sie die ursprüngliche URL im Front Matter als source, damit Sie nach der Migration Redirects einrichten und prüfen können, dass nichts verloren gegangen ist.
Links innerhalb des Markdown zeigen weiterhin auf Ihre aktuellen URLs. Ersetzen Sie nach dem Umzug die Domain oder das Pfad-Präfix in einem Durchgang und testen Sie dann eine Stichprobe von Seiten. Tabellen und Codeblöcke bleiben als Markdown erhalten, sodass die meisten Static-Generatoren sie ohne Änderungen rendern.
Erlauben Sie unser Token für die Dauer des Exports. WebReaderAPI liest nur, was robots.txt für WebReaderAPI oder für alle Robots erlaubt, auch auf Ihrer eigenen Seite. Fügen Sie eine Gruppe wie User-agent: WebReaderAPI mit Allow: / hinzu, führen Sie den Crawl aus und entfernen Sie sie danach, wenn Sie möchten.
Unsere Crawler-Seite zeigt die genauen Zeilen und den User-Agent, den Ihre Server-Logs anzeigen werden. Seiten, die gesperrt bleiben, werden übersprungen und nicht berechnet.
Ein Credit pro Seite, zwei für Seiten, die einen Browser benötigen, um ihren Text anzuzeigen. Eine 2.000-Seiten-Site, die auf dem Server gerendert wird, kostet einmalig 2.000 Credits; dieselbe Site als JavaScript-App kann bis zu 4.000 kosten. Beides passt in 10.000 Seiten für 3,75 $ (Stand Oktober 2026).
Eine Site mit 50.000 Seiten benötigt mehrere Jobs, aufgeteilt nach Abschnitt mit include_paths, und passt in 100.000 Seiten (21,75 $). Credits, die nach dem Export übrig bleiben, bleiben für spätere Aktualisierungen auf Ihrem Konto.
Zählen Sie Ihre Seiten, verdoppeln Sie die Zahl, wenn die Webseite JavaScript zum Rendern benötigt, und wählen Sie das Paket darüber. Credits verfallen nie.
10.000 Seiten
3,75 $
0,38 $/1K Seiten
50.000 Seiten
14,25 $
0,28 $/1K Seiten
100.000 Seiten
21,75 $
0,22 $/1K Seiten
In jedem Plan: Hauptinhalt extrahieren · JavaScript-Rendering bei Bedarf · Fehlgeschlagene und abgelehnte Seiten werden nicht berechnet · Credits verfallen nie
Ja. Setzen Sie main_content=false in den Crawl-Optionen, und jede Datei enthält die vollständige Seite, umgewandelt in Markdown. Bei den meisten Migrationen ist nur der Hauptinhalt gewünscht, weil das neue Theme seine eigene Navigation mitbringt.
Nein. Mit include_images=true bleiben Bildlinks mit ihrem Alt-Text im Markdown; laden Sie die Dateien selbst mit Ihrem eigenen Skript herunter, wenn die Migration sie braucht.
Nur öffentliche Seiten, die ihre robots.txt erlaubt, und nur für Nutzungen, die ihre Bedingungen und das Gesetz zulassen. Für eine Migration oder ein Backup exportieren Sie Ihre eigenen Webseiten oder solche, deren Eigentümer zugestimmt hat.
Bis zu 10.000 Seiten pro Crawl-Job, innerhalb einer Domain. Teilen Sie größere Webseiten mit include_paths nach Bereichen auf und starten Sie mehrere Jobs.
Ab 0,07 $/1K Seiten · ohne KYC
API-Schlüssel erhalten