> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cleariflow.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Website-Screenshot-API

> Die Cleariflow Website-Screenshot-API erstellt pixelgenaue Bilder jeder öffentlichen URL über eine moderne RESTful JSON-Schnittstelle mit SSRF-Schutz, Viewport-Steuerung und Browser-Automatisierungsoptionen.

## Erste Schritte

<Card title="Synchroner Screenshot" icon="camera" href="screenshot/screenshot">
  Der `screenshot`-Endpunkt startet eine Browser-Sitzung und liefert ein base64-kodiertes Bild in JSON — ideal für programmatische Integrationen und den API Tester.
</Card>

<Card title="Asynchrone Jobs" icon="clock" href="screenshot/jobs">
  Die `jobs`-Endpunkte stellen Screenshot-Aufgaben in die Warteschlange und ermöglichen das Abfragen von Status und Ergebnissen — ideal für hohes Volumen oder langsame Seiten.
</Card>

### REST-Architektur

Die Website-Screenshot-API folgt REST-Prinzipien mit vorhersehbaren, ressourcenorientierten URLs und standardmäßigen HTTP-Statuscodes für nahtlose Integration und Fehlerbehandlung.

### HTTPS-Sicherheit

Alle API-Kommunikation wird mit TLS 1.2 oder höher verschlüsselt, um Datenintegrität und Datenschutz zu gewährleisten.

### API-Versionierung

Die Website-Screenshot-API bleibt durch Versionierung abwärtskompatibel und befindet sich derzeit in Version 1.

### Authentifizierung

Ihr API-Schlüssel ist die ausschließliche Berechtigung für den Zugriff auf die Website-Screenshot-API. Jeder Cleariflow-Dienst erfordert einen eigenen Schlüssel. Übergeben Sie Ihren Schlüssel im JSON-Body als `api_key` oder als Query-Parameter für den Legacy-GET-Endpunkt.

### Basis-URL

```
https://screenshot.cleariflow.com
```

### Seiten-Rendering

Seiten werden in einem echten Headless-Browser gerendert. JavaScript wird vollständig ausgeführt, bevor der Screenshot aufgenommen wird. Integrierter SSRF-Schutz blockiert Anfragen an localhost und private IP-Bereiche.

## Antwort- und Fehlercodes

Bei fehlgeschlagenen Anfragen liefert die API strukturierte JSON-Fehlerantworten mit spezifischen Codes und Beschreibungen zur effektiven Fehlerbehebung.

| Code | Typ                   | Beschreibung                                                                                                    |
| ---- | --------------------- | --------------------------------------------------------------------------------------------------------------- |
| 200  | OK                    | Screenshot erfolgreich aufgenommen.                                                                             |
| 202  | Accepted              | Asynchroner Job wurde erfolgreich in die Warteschlange gestellt.                                                |
| 400  | Bad request           | Fehlerhafte Anfrage — ungültige URL, blockiertes Ziel oder fehlerhafte Nutzlast.                                |
| 401  | Unauthorized          | Die Anfrage war nicht zulässig — in der Regel fehlt der API-Schlüssel oder er ist ungültig.                     |
| 422  | Quota reached         | Die Anfrage wurde abgebrochen, da nicht genügend API-Guthaben vorhanden ist (kostenlose Tarife).                |
| 429  | Too many requests     | Das Anfragenlimit pro Sekunde wurde erreicht. Bei kostenlosen Tarifen gilt ein Limit von 1 Anfrage pro Sekunde. |
| 500  | Internal server error | Die Anfrage konnte aufgrund eines Serverfehlers nicht abgeschlossen werden.                                     |
