Kurze Antwort
Wie wandle ich eine Webseite über die Kommandozeile in Markdown um?
Führen Sie curl -sG https://webreaderapi.com/api/v1/read --data-urlencode "url=…" mit Ihrem Schlüssel in einem Authorization: Bearer-Header aus und leiten Sie die Antwort an jq -r .markdown weiter. WebReaderAPI gibt den Hauptinhalt der Seite als Markdown mit ihren Metadaten zurück. Eine einfache Seite verbraucht 1 Credit, ab 0,07 $/1K Seiten Stand Oktober 2026. Ohne KYC; mit Krypto bezahlen.
Wie richte ich das Terminal ein?
Installieren Sie curl und jq, die die meisten Linux- und macOS-Systeme bereits mitbringen, und exportieren Sie Ihren Schlüssel einmal pro Sitzung. Jedes Rezept unten liest ihn aus $WEBREADER_API_KEY, sodass der Schlüssel nie als Teil eines Befehls in Ihrer Shell-History auftaucht.
Verwenden Sie -G mit --data-urlencode für GET-Anfragen: curl kodiert dann die Seitenadresse für Sie, was wichtig ist, weil Adressen eigene ?, & und = enthalten.
export WEBREADER_API_KEY="your-key"
curl -sG "https://webreaderapi.com/api/v1/read" \
-H "Authorization: Bearer $WEBREADER_API_KEY" \
--data-urlencode "url=https://example.com/guides/compost" \
| jq -r '.markdown' > compost.mdWie sehe ich, was ein Aufruf zurückgegeben hat und gekostet hat?
Fragen Sie jq nach den Metadaten statt nach dem Inhalt. final_url zeigt, wohin Weiterleitungen führten, rendered sagt Ihnen, ob ein Headless-Browser verwendet wurde, und credits_used ist, was der Aufruf gekostet hat. Wenn die Antwort ein Fehler ist, gibt derselbe Filter null Felder aus; geben Sie .error aus, um Code und Meldung zu lesen.
curl -sG "https://webreaderapi.com/api/v1/read" \
-H "Authorization: Bearer $WEBREADER_API_KEY" \
--data-urlencode "url=https://example.com/guides/compost" \
| jq '.error // {title, final_url, rendered, credits_used, word_count}'Wie liste ich die Links einer Seite auf?
Fügen Sie include_links=true hinzu und wandeln Sie die links Liste in tabgetrennte Zeilen um. Das gibt Ihnen eine schnelle Übersicht über die ausgehenden Links einer Seite, die Sie sortieren, mit grep filtern oder an einen Batch-Job übergeben können.
curl -sG "https://webreaderapi.com/api/v1/read" \
-H "Authorization: Bearer $WEBREADER_API_KEY" \
--data-urlencode "url=https://example.com/docs/" \
-d include_links=true \
| jq -r '.links[] | "\(.text)\t\(.url)"' | sort -uWie lese ich eine JavaScript-Seite oder ein PDF?
Fügen Sie -d render=true für eine Seite hinzu, die ihren Inhalt mit JavaScript aufbaut; sie kostet dann 2 Credits. Ein PDF braucht nichts Besonderes: Senden Sie seine URL und der Text kommt in markdown zurück. PDF-Dateien bis 20 MB und 100 Seiten werden in Markdown umgewandelt, zu 1 Credit pro angefangenem Block von 10 Seiten.
curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \
--data-urlencode "url=https://example.com/app/changelog" -d render=true \
| jq -r '.markdown' > changelog.md
curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \
--data-urlencode "url=https://example.com/files/annual-report.pdf" \
| jq -r '.markdown' > annual-report.mdWie führe ich einen Batch-Job von der Shell aus?
Senden Sie einen JSON-Body mit Ihren URLs an /batch, behalten Sie die job_id und lesen Sie dann den Job. Eine kleine Schleife wartet, bis der Job done ist, und gibt den Titel oder Fehlercode jeder Seite aus. Bei langen Jobs folgen Sie next_cursor wie auf der Batch- und Crawl-Seite gezeigt.
JOB=$(curl -s "https://webreaderapi.com/api/v1/batch" \
-H "Authorization: Bearer $WEBREADER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"urls": ["https://example.com/a", "https://example.com/b", "https://example.com/c"]}' \
| jq -r '.job_id')
until [ "$(curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq -r '.status')" = "done" ]; do
sleep 5
done
curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" \
| jq -r '.results[] | "\(.url)\t\(.title // .error.code)"'Wie prüfe ich meine Credits?
Rufen Sie /credits auf; das ist kostenlos. Es gibt credits_remaining, credits_used_today und Ihr concurrency_limit zurück. Prepaid-Credits verfallen nie: Ungenutzte Seiten bleiben auf Ihrem Konto, bis Sie sie verwenden.
curl -s "https://webreaderapi.com/api/v1/credits" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq '.credits_remaining'Wie lautet die PowerShell-Version unter Windows?
Invoke-RestMethod parst das JSON für Sie, sodass kein jq nötig ist. Bauen Sie die Abfrage mit [uri]::EscapeDataString, um die Seitenadresse zu kodieren, und übergeben Sie den Schlüssel in einer Headers-Tabelle.
$headers = @{ Authorization = "Bearer $env:WEBREADER_API_KEY" }
$target = [uri]::EscapeDataString('https://example.com/guides/compost')
$page = Invoke-RestMethod -Uri "https://webreaderapi.com/api/v1/read?url=$target" -Headers $headers
$page.markdown | Out-File -Encoding utf8 compost.md
"$($page.title): $($page.word_count) words, $($page.credits_used) credit(s)"curl: häufige Fragen
Warum schlägt meine URL mit & darin fehl?
Weil die Shell oder curl sie aufteilt. Setzen Sie das gesamte url=…-Argument in Anführungszeichen und übergeben Sie es mit --data-urlencode, wie in den Rezepten oben; curl kodiert dann &, ? und = innerhalb der Seitenadresse.
Wie sehe ich den HTTP-Status eines Fehlers?
Fügen Sie -w '\n%{http_code}\n' hinzu, um ihn nach dem Body auszugeben, oder -i, um alle Header zu sehen. Das error.code im Body ist der stabile Wert, den Sie in Skripten testen.
Wird ein fehlgeschlagener Aufruf berechnet?
Nein. 1 Credit = 1 gelesene Seite ohne Browser; 2 Credits, wenn die Seite einen Browser braucht, um JavaScript auszuführen. Eine Suchanfrage, die fehlschlägt oder die eine robots.txt einer Website verweigert, wird nicht abgerechnet.