# Fehler und Seitenstatus: was fehlgeschlagen ist und ob ein erneuter Versuch sinnvoll ist

> Search-API-Fehler: die sechs HTTP-Fehlercodes (nie berechnet), Seitenstatus innert 200 und wann Sie mit Backoff erneut versuchen. Ohne KYC, mit Krypto zahlen.

- URL: https://llmwebsearch.com/de/docs/errors/
- Zuletzt aktualisiert: 2026-10-22
- Herausgeber: LLMWebSearch (https://llmwebsearch.com)

Es gibt zwei Arten von Problemen. Ein HTTP-Fehler bedeutet, dass der gesamte Aufruf fehlgeschlagen ist, und er kostet nichts. Ein Seitenstatus bedeutet, dass die Suche funktioniert hat, aber eine Seite nicht gelesen werden konnte; er steht innerhalb einer normalen 200-Antwort. Agents sollten beide unterschiedlich behandeln.

**Kurze Antwort — Welche Fehler kann die LLMWebSearch API zurückgeben, und werden sie berechnet?**

**LLMWebSearch** hat sechs HTTP-Fehler: `400 invalid_parameter`, `401 invalid_api_key`, `402 insufficient_credits`, `429 rate_limited`, `502 search_failed` und `504 search_timeout`. Keiner wird berechnet. Seiten, die nicht gelesen werden können, zeigen stattdessen einen `content_status` innerhalb eines 200. Eine funktionierende Suchanfrage kostet 1 Credit, ab 1,20 $/1K Suchanfragen Stand Oktober 2026. Ohne KYC; mit Krypto bezahlen.

## Welche HTTP-Fehler gibt es?

Der Body ist immer `{"error": {"code": "…", "message": "…"}}`. Kein Fehler verbraucht ein Credit.

| HTTP | `code` | Ursache | Erneut versuchen? |
| --- | --- | --- | --- |
| 400 | `invalid_parameter` | Ein erforderlicher Parameter fehlt oder ein Wert liegt außerhalb des gültigen Bereichs | Nein: Anfrage korrigieren |
| 401 | `invalid_api_key` | Der API-Schlüssel fehlt, ist falsch oder wurde widerrufen | Nein: API-Schlüssel prüfen |
| 402 | `insufficient_credits` | Das Guthaben reicht nicht für diesen Aufruf | Nein: Pack kaufen |
| 429 | `rate_limited` | Mehr Aufrufe pro Minute als das Konto erlaubt | Ja, nach einer Pause |
| 502 | `search_failed` | Die Suchanfrage konnte nicht abgeschlossen werden | Ja, mit Backoff |
| 504 | `search_timeout` | Kein Suchergebnis innerhalb von 30 Sekunden | Ja, mit Backoff |

## Wie unterscheidet sich ein Seitenstatus von einem Fehler?

Ein Seitenstatus beschreibt ein einzelnes Ergebnis, nicht den Aufruf. Die Suche lief, die Ergebnisse sind da, und `credits_used` ist wie gewohnt gesetzt. Nur der Inhalt dieser einen Seite fehlt, und `content_status` sagt warum: `blocked_by_robots`, `blocked_by_site_policy`, `target_refused`, `fetch_failed`, `fetch_timeout` oder `unsupported_content`.

Behandeln Sie diese nicht als Fehlschläge, bei denen die ganze Suche wiederholt werden muss. Nutzen Sie die anderen Ergebnisse, das Snippet der fehlenden Seite oder eine andere Quelle. Die Seite [Antwortformat](https://llmwebsearch.com/de/docs/response/) erklärt jeden Status in einer Tabelle.

## Warum wiederholen Sie nie trotz einer Ablehnung?

Weil eine Ablehnung die Antwort der Webseite ist, und die respektieren wir. Unser Reader respektiert robots.txt: Er stellt sich als LLMWebSearch vor, befolgt die Regeln, die eine Website für ihn oder für alle Roboter schreibt, und lässt den Inhalt jeder Seite aus, die er nicht lesen darf. Eine Website, die in ihrer robots.txt Content-Signal: ai-input=no setzt, hält ihre Seiten aus dem Inhalt Ihrer Ergebnisse heraus. Wenn eine Webseite unseren Reader mit einem 403, einem 429 oder einer Challenge-Seite zurückweist, melden wir das als `target_refused` mit dem Status der Webseite in `target_status`.

Wenn eine Website unseren Reader abweist, kommt das Ergebnis ohne Inhalt und mit dem Status der Website zurück: Wir lösen niemals CAPTCHAs, melden uns nicht in Konten an und umgehen weder eine Sperre noch eine Paywall. Wir wiederholen auch nicht mit einer anderen Identität oder einem getarnten Browser. Ihr Agent sollte bei so einer Seite nicht in einer Schleife hängen: Das Ergebnis ändert sich nicht, und die Webseite hat Nein gesagt.

## Wann sollte mein Code wiederholen?

Nur bei `429`, `502` und `504`. Warten Sie, dann versuchen Sie es erneut, verdoppeln Sie die Wartezeit jedes Mal und fügen Sie etwas Zufall hinzu, damit parallele Worker nicht im Gleichschritt wiederholen. Drei bis fünf Versuche reichen; danach melden Sie den Fehler.

Wiederholen Sie nie `400`, `401` oder `402`: Dieselbe Anfrage liefert dieselbe Antwort, bis Sie etwas ändern. Bei Seiten können `fetch_failed` und `fetch_timeout` später funktionieren, über eine neue Suchanfrage oder einen `/extract`-Aufruf. `target_refused`, `blocked_by_robots` und `blocked_by_site_policy` sind endgültig.

*Python: 429, 502 und 504 mit exponentiellem Backoff wiederholen*

```python
import os
import random
import time

import requests

API = "https://llmwebsearch.com/api/v1/search"
HEADERS = {"Authorization": "Bearer " + os.environ["LLMWEBSEARCH_API_KEY"]}
RETRY_ON = {429, 502, 504}


def search(body, attempts=5):
    delay = 1.0
    for attempt in range(1, attempts + 1):
        resp = requests.post(API, headers=HEADERS, json=body, timeout=60)
        if resp.status_code == 200:
            return resp.json()
        err = resp.json().get("error", {})
        if resp.status_code not in RETRY_ON or attempt == attempts:
            raise RuntimeError(f"{resp.status_code} {err.get('code')}: {err.get('message')}")
        time.sleep(delay + random.uniform(0, delay / 2))
        delay = min(delay * 2, 30)


data = search({"q": "how to rotate api keys without downtime"})
unread = [r["url"] for r in data["results"] if r["content_status"] not in ("ok", "not_requested")]
print("credits:", data["credits_used"], "| pages not read:", unread)

```

## Was soll ich bei 402 insufficient_credits tun?

Anhalten und aufladen. Der Aufruf wurde nicht ausgeführt und kostete nichts. Damit Sie nicht mitten in einem langen Job anhalten müssen, prüfen Sie zuerst Ihr Guthaben mit `GET https://llmwebsearch.com/api/v1/credits`, was kostenlos ist, und vergleichen Sie es mit der Anzahl der geplanten Suchanfragen. Denken Sie daran, dass eine Suche mit `read` über 3 zwei Credits braucht.

Credits stammen aus Packs, die Sie mit Ihrem Krypto-Guthaben kaufen. Search-Credits verfallen nicht: Was Sie diesen Monat nicht verbrauchen, ist nächstes Jahr noch da.

## Wie bleibe ich unter dem Rate Limit?

Begrenzen Sie, wie viele Aufrufe gleichzeitig in Ihrem eigenen Code laufen. Jedes Konto hat ein Aufruflimit pro Minute, das im Dashboard angezeigt wird; fragen Sie den Support, und es kann erhöht werden. Ein kleiner Pool paralleler Worker, vier bis acht für die meisten Agenten, hält ein gleichmäßiges Tempo ohne Spitzen. Die Seiten [Python](https://llmwebsearch.com/de/docs/python/) und [Node.js](https://llmwebsearch.com/de/docs/node/) zeigen jeweils so einen Pool.

Wenn Sie dann einen `429` bekommen, pausieren Sie vor dem nächsten Versuch, statt ihn sofort abzufeuern. Ein sofortiger erneuter Versuch fügt nur weitere abgelehnte Aufrufe hinzu.

## Fehler: häufige Fragen

### Kostet eine Suche, bei der jede Seite abgelehnt wurde, trotzdem einen Credit?

Ja, wenn die Suche selbst funktioniert hat: Sie erhalten trotzdem die gerankten Ergebnisse und Snippets. Der Preis einer Suche hängt nicht davon ab, wie viele ihrer Seiten gelesen werden konnten.

### Wird ein 401 durch einen widerrufenen Schlüssel verursacht?

Das kann sein. Ein widerrufener Schlüssel, ein Tippfehler, ein fehlendes Präfix `Bearer ` oder ein Header, der uns nie erreicht hat, ergeben alle `401 invalid_api_key`. Erstellen Sie einen API-Schlüssel pro Agent, App oder Teamkollegen und widerrufen Sie jeden davon im Dashboard, ohne die anderen zu berühren.

### Warum hat eine Seite fetch_timeout zurückgegeben?

Seiten werden parallel gelesen, und eine Seite, die länger als 15 Sekunden braucht, wird ohne Inhalt zurückgegeben, damit sie nicht die ganze Antwort aufhält. Langsame Seiten antworten manchmal bei einem späteren Versuch.

### Kann ich meine fehlgeschlagenen Aufrufe sehen?

Ja. Der Verlauf im Dashboard listet Ihre Aufrufe 30 Tage lang auf, auch fehlgeschlagene, mit ihrem Status und ihren Credits. Fehlgeschlagene Aufrufe zeigen 0 Credits.

---

LLMWebSearch: LLMWebSearch ist eine Websuch-API für KI-Agenten, die gerankte Ergebnisse mit dem Inhalt der Top-Seiten als Markdown liefert, bezahlt mit Krypto ohne Ausweis-Upload. Vorausbezahlte Credits ab 1,20 $/1K Suchanfragen verfallen nie. Ohne KYC — kein Ausweis, kein Selfie, keine Dokumente. Mit Krypto bezahlen.
