# Web lesen

Lies eine URL als Markdown, Text, HTML oder Screenshot.

Lies eine bestimmte Webseite in einem Format, das deine Anwendung verarbeiten kann.

Alle Beispiele verwenden `FELO_API_KEY` aus der [Übersicht](https://openapi.felo.ai/de/docs/data-api/guides/felo-overview.md). Aufrufe verwenden **Plattform-Guthaben**, nicht Felo-Pro-Guthaben. Antwortbeispiele sind illustrativ; Live-Inhalte und optionale Felder variieren.

## Endpunkt

`POST /api/v1/data/web/read`

## Anfrage

| Feld | Typ | Erforderlich | Bedeutung |
|---|---|---|---|
| `url` | string | Ja | HTTP- oder HTTPS-Seiten-URL |
| `formats` | string array | Nein | Genau eines von `MARKDOWN`, `TEXT`, `HTML`, `SCREENSHOT`; Standard ist Markdown |
| `mode` | string | Nein | `quality` (Standard), `fast` oder `auto` |
| `timeout` | integer | Nein | Zeitüberschreitung in Millisekunden, 1–60.000; Standard 30.000 |
| `totalTimeout` | integer | Nein | Gesamte Zeitüberschreitung in Millisekunden, 1–60.000; Standard ist `timeout` |

Wähle pro Anfrage genau ein Ausgabeformat; sende nicht alle vier im selben Array.

```bash
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/web/read" \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com","formats":["MARKDOWN"],"mode":"quality","timeout":30000}'
```

## Antwort

HTTP 200 gibt das ausgewählte Inhaltsfeld an der JSON-Root zurück. Eine Markdown-Antwort kann so aussehen:

```json
{
  "title": "Example Domain",
  "markdown": "# Example Domain\n\nThis domain is for use in documentation examples.",
  "metadata": {}
}
```

Lies `markdown`, `text`, `html` oder `screenshot` entsprechend dem von dir angeforderten Format. Andere Metadaten sind optional; erwarte nicht, dass jedes Formatfeld vorhanden ist. Siehe das `WebReadResponse`-Schema in der [OpenAPI-Definition](https://openapi.felo.ai/api/v1/data/openapi.json) für die vollständige Antwort.

## Abrechnung und Fehler

`web.read` wird pro Anfrage berechnet. Ein Timeout ist keine leere Seite: Prüfe den HTTP-Status, bevor du den Body verwendest. Wechsle nach einem Timeout nicht zu wiederholten Schnellanfragen; befolge [Abrechnung und Fehler](https://openapi.felo.ai/de/docs/data-api/guides/felo-billing.md).
