Erfassen Sie Screenshots, PDFs, Markdown, Crawls, Video, forensische Pakete und strukturierte Extrakte über eine einfache HTTPS-API. Authentifizieren Sie sich mit einem API-Schlüssel aus dem Dashboard.
Die meisten Capture-Endpunkte antworten mit 202 Accepted und einer jobId. Signierte Download-URLs für Artefakte werden im Job-Detail zurückgegeben.
curl -X POST 'https://api.sitescreens.com/v1/screenshot' \
-H 'Authorization: Bearer ssk_your_api_key' \
-H 'Content-Type: application/json' \
-d '{"url":"https://example.com","device":"mobile"}'API-Fehler verwenden standardisierte HTTP-Statuscodes. Validierungsantworten enthalten details aus den Schema-Prüfungen.
Prüfen Sie vor einem erneuten Versuch Ihren API-Schlüssel, die Tarifberechtigung, das Credit-Guthaben der Organisation und die Limits pro Schlüssel.
| Status | Bedeutung |
|---|---|
400 | Validierung fehlgeschlagen — der Body enthält details aus Schema-Prüfungen. |
401 | Fehlender oder ungültiger API-Schlüssel / Sitzung. |
402 | Unzureichende Organisations-Credits. |
403 | Tariffunktion nicht verfügbar, Konto gesperrt oder unveränderliches Artefakt. |
404 | Ressource nicht gefunden. |
429 | Tägliches/wöchentliches/monatliches Credit-Limit des API-Schlüssels überschritten (period, limit, spent, requested). |
500 | Unerwarteter Serverfehler. |
Overlay-Bereinigung, Proxys und Wartebedingungen gelten gemeinsam für Capture-Endpunkte.
/v1/healthLiveness-Probe für die API.
Auth: None (public)
No required parameters.
curl -X GET 'https://api.sitescreens.com/v1/health'
{
"ok": true,
"service": "sitescreens-api"
}/v1/plansÖffentliche Tarifdefinitionen, Funktionen und Credit-Kontingente.
Auth: None (public)
No required parameters.
curl -X GET 'https://api.sitescreens.com/v1/plans'
{
"plans": [
{
"id": "starter",
"name": "Starter",
"creditsPerMonth": 2000,
"features": {
"crawl": true,
"batch": true,
"video": false
}
}
]
}/v1/screenshotViewport- oder Full-Page-Screenshot in die Warteschlange stellen. Free-Tarife können Ergebnisse mit Wasserzeichen versehen. Status und signierte Artefakt-URLs über GET /v1/jobs/:id pollen.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
urlrequired | body | string (url) | Seiten-URL zum Erfassen. |
| Name | In | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
fullPage | body | boolean | Die gesamte scrollbare Seite erfassen. Kostet 2 Credits statt 1. Default: false | ||||||||||||||||||||||||||||||||||||||||||||
format | body | "png" | "jpeg" | "webp" | Bildausgabeformat. Default: "png" | ||||||||||||||||||||||||||||||||||||||||||||
device | body | "desktop" | "mobile" | "tablet" | Geräte-Viewport-Voreinstellung. Default: "desktop" | ||||||||||||||||||||||||||||||||||||||||||||
resolution | body | string (preset id | "custom") | Benannte Viewport-Preset-ID oder "custom" mit width/height. Verfügbarkeit hängt von Ihrem Tarif ab (grössere Formate benötigen höhere Tarife).
| ||||||||||||||||||||||||||||||||||||||||||||
width | body | integer (320–3840) | Override der Viewport-Breite. | ||||||||||||||||||||||||||||||||||||||||||||
height | body | integer (240–2160) | Override der Viewport-Höhe. | ||||||||||||||||||||||||||||||||||||||||||||
deviceScaleFactor | body | number (1–3) | Geräte-Pixelverhältnis. Default: 1 | ||||||||||||||||||||||||||||||||||||||||||||
darkMode | body | boolean | prefers-color-scheme: dark emulieren. Default: false | ||||||||||||||||||||||||||||||||||||||||||||
delayMs | body | integer (0–30000) | Zusätzliche Wartezeit nach der Navigation vor der Erfassung. Default: 0 | ||||||||||||||||||||||||||||||||||||||||||||
selector | body | string | CSS-Selektor für den Screenshot anstelle des gesamten Viewports. | ||||||||||||||||||||||||||||||||||||||||||||
useProxy | body | boolean | Die Erfassung über Ihren konfigurierten Proxy-Pool leiten. Pro+. Default: false | ||||||||||||||||||||||||||||||||||||||||||||
proxy | body | string | Proxy-Label oder URL (beispielsweise "us"). Impliziert Geo/Proxy-Funktion (Pro+). | ||||||||||||||||||||||||||||||||||||||||||||
waitUntil | body | "load" | "domcontentloaded" | "networkidle" | Playwright-Navigations-Wartebedingung. Default: "networkidle" | ||||||||||||||||||||||||||||||||||||||||||||
webhookUrl | body | string (url) | Webhook-Override pro Job. Empfängt job.succeeded / job.failed Ereignisse. | ||||||||||||||||||||||||||||||||||||||||||||
overlayMode | body | "cut" | "pass" | "disable" | Kurzform der Overlay-Richtlinie für Cookies, Werbung und Modals. | ||||||||||||||||||||||||||||||||||||||||||||
overlays | body | object | Overlay-Steuerung pro Kategorie: cookies, ads, modals (cut|pass|disable) und timeoutMs (0–15000). |
{
"url": "https://example.com",
"device": "mobile",
"resolution": "mobile_390x844",
"fullPage": false,
"format": "png",
"overlayMode": "cut"
}{
"jobId": "job_01HXYZ...",
"reservedCredits": 1,
"status": "queued"
}/v1/scrapePDF-Export oder Text-/Markdown-Extraktion in die Warteschlange stellen. Relative Links in Markdown/Text werden in absolute URLs umgeschrieben. Erfordert Starter+.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
urlrequired | body | string (url) | Seiten-URL zum Scrapen. |
formatrequired | body | "pdf" | "text" | "markdown" | Ausgabeformat. Entspricht dem Job-Typ pdf, text oder markdown. |
| Name | In | Type | Description |
|---|---|---|---|
useProxy | body | boolean | Die Erfassung über Ihren konfigurierten Proxy-Pool leiten. Pro+. Default: false |
proxy | body | string | Proxy-Label oder URL (beispielsweise "us"). Impliziert Geo/Proxy-Funktion (Pro+). |
waitUntil | body | "load" | "domcontentloaded" | "networkidle" | Playwright-Navigations-Wartebedingung. Default: "networkidle" |
webhookUrl | body | string (url) | Webhook-Override pro Job. Empfängt job.succeeded / job.failed Ereignisse. |
overlayMode | body | "cut" | "pass" | "disable" | Kurzform der Overlay-Richtlinie für Cookies, Werbung und Modals. |
overlays | body | object | Overlay-Steuerung pro Kategorie: cookies, ads, modals (cut|pass|disable) und timeoutMs (0–15000). |
{
"url": "https://example.com",
"format": "markdown",
"overlays": {
"ads": "cut"
}
}{
"jobId": "job_01HXYZ...",
"reservedCredits": 2,
"status": "queued"
}/v1/crawlEine Website in ein mehrseitiges Markdown-Paket plus JSONL für Agents und RAG crawlen. Erfordert Starter+. maxPages wird durch Ihren Tarif begrenzt.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
urlrequired | body | string (url) | Start-URL. |
| Name | In | Type | Description |
|---|---|---|---|
maxPages | body | integer (1–5000) | Maximale Anzahl zu besuchender Seiten. Credit-Kosten skalieren mit diesem Wert. Default: 25 |
maxDepth | body | integer (0–10) | Link-Tiefe ab der Start-URL. Default: 2 |
sameOrigin | body | boolean | Auf derselben Origin wie die Start-URL bleiben. Default: true |
includeSubdomains | body | boolean | Geschwister-Subdomains beim Crawlen erlauben. Default: false |
respectRobotsTxt | body | boolean | Disallow-Regeln aus robots.txt beachten. Default: true |
useProxy | body | boolean | Die Erfassung über Ihren konfigurierten Proxy-Pool leiten. Pro+. Default: false |
proxy | body | string | Proxy-Label oder URL (beispielsweise "us"). Impliziert Geo/Proxy-Funktion (Pro+). |
waitUntil | body | "load" | "domcontentloaded" | "networkidle" | Playwright-Navigations-Wartebedingung. Default: "networkidle" |
webhookUrl | body | string (url) | Webhook-Override pro Job. Empfängt job.succeeded / job.failed Ereignisse. |
overlayMode | body | "cut" | "pass" | "disable" | Kurzform der Overlay-Richtlinie für Cookies, Werbung und Modals. |
overlays | body | object | Overlay-Steuerung pro Kategorie: cookies, ads, modals (cut|pass|disable) und timeoutMs (0–15000). |
{
"url": "https://example.com",
"maxPages": 10,
"maxDepth": 2,
"overlayMode": "cut"
}{
"jobId": "job_01HXYZ...",
"reservedCredits": 10,
"status": "queued"
}/v1/videoKurzes scrollendes Produkt-Demo-Video aufzeichnen (WebM oder MP4). Erfordert Pro+.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
urlrequired | body | string (url) | Seiten-URL zum Aufzeichnen. |
| Name | In | Type | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
seconds | body | integer (3–30) | Cliplänge in Sekunden (tarifabhängig begrenzt). Default: 10 | ||||||||
format | body | "webm" | "mp4" | Video-Containerformat. Default: "webm" | ||||||||
scroll | body | boolean | Seite während der Aufnahme automatisch scrollen. Default: true | ||||||||
device | body | "desktop" | "mobile" | "tablet" | Geräte-Viewport-Voreinstellung. Wird für Standard-width/height verwendet, wenn diese Felder weggelassen werden. Default: "desktop"
| ||||||||
width | body | integer (320–1920) | Benutzerdefinierte Viewport-Breite. Falls weggelassen, Standard je Gerät: Desktop 1280, Mobile 390, Tablet 834. Default: desktop 1280 · mobile 390 · tablet 834 | ||||||||
height | body | integer (240–1080) | Benutzerdefinierte Viewport-Höhe. Falls weggelassen, Standard je Gerät: Desktop 720, Mobile 844, Tablet 1112. Default: desktop 720 · mobile 844 · tablet 1112 | ||||||||
useProxy | body | boolean | Die Erfassung über Ihren konfigurierten Proxy-Pool leiten. Pro+. Default: false | ||||||||
proxy | body | string | Proxy-Label oder URL (beispielsweise "us"). Impliziert Geo/Proxy-Funktion (Pro+). | ||||||||
waitUntil | body | "load" | "domcontentloaded" | "networkidle" | Playwright-Navigations-Wartebedingung. Default: "networkidle" | ||||||||
webhookUrl | body | string (url) | Webhook-Override pro Job. Empfängt job.succeeded / job.failed Ereignisse. | ||||||||
overlayMode | body | "cut" | "pass" | "disable" | Kurzform der Overlay-Richtlinie für Cookies, Werbung und Modals. | ||||||||
overlays | body | object | Overlay-Steuerung pro Kategorie: cookies, ads, modals (cut|pass|disable) und timeoutMs (0–15000). |
{
"url": "https://example.com",
"seconds": 8,
"format": "webm",
"scroll": true,
"device": "desktop"
}{
"jobId": "job_01HXYZ...",
"reservedCredits": 10,
"status": "queued"
}/v1/forensicZeitgestempeltes Evidence-Paket erfassen: Screenshot, Content-Hash und Manifest. Artefakte optional als unveränderlich markieren, damit sie nicht gelöscht werden können. Erfordert Starter+.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
urlrequired | body | string (url) | Seiten-URL als Evidence erfassen. |
| Name | In | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
immutable | body | boolean | Löschen der resultierenden Artefakte über DELETE /v1/artifacts/:id verhindern. Default: false | ||||||||||||||||||||||||||||||||||||||||||||
includeMarkdown | body | boolean | Zusätzlich einen Markdown-Snapshot im Paket einschliessen. Default: true | ||||||||||||||||||||||||||||||||||||||||||||
fullPage | body | boolean | Full-Page-Screenshot im Paket. Default: false | ||||||||||||||||||||||||||||||||||||||||||||
format | body | "png" | "jpeg" | "webp" | Screenshot-Bildformat. Default: "png" | ||||||||||||||||||||||||||||||||||||||||||||
device | body | "desktop" | "mobile" | "tablet" | Geräte-Viewport-Voreinstellung. Default: "desktop" | ||||||||||||||||||||||||||||||||||||||||||||
resolution | body | string (preset id | "custom") | Benannte Viewport-Preset-ID oder "custom" mit width/height. Verfügbarkeit hängt von Ihrem Tarif ab (grössere Formate benötigen höhere Tarife).
| ||||||||||||||||||||||||||||||||||||||||||||
width | body | integer (320–3840) | Override der Viewport-Breite. | ||||||||||||||||||||||||||||||||||||||||||||
height | body | integer (240–2160) | Override der Viewport-Höhe. | ||||||||||||||||||||||||||||||||||||||||||||
useProxy | body | boolean | Die Erfassung über Ihren konfigurierten Proxy-Pool leiten. Pro+. Default: false | ||||||||||||||||||||||||||||||||||||||||||||
proxy | body | string | Proxy-Label oder URL (beispielsweise "us"). Impliziert Geo/Proxy-Funktion (Pro+). | ||||||||||||||||||||||||||||||||||||||||||||
waitUntil | body | "load" | "domcontentloaded" | "networkidle" | Playwright-Navigations-Wartebedingung. Default: "networkidle" | ||||||||||||||||||||||||||||||||||||||||||||
webhookUrl | body | string (url) | Webhook-Override pro Job. Empfängt job.succeeded / job.failed Ereignisse. | ||||||||||||||||||||||||||||||||||||||||||||
overlayMode | body | "cut" | "pass" | "disable" | Kurzform der Overlay-Richtlinie für Cookies, Werbung und Modals. | ||||||||||||||||||||||||||||||||||||||||||||
overlays | body | object | Overlay-Steuerung pro Kategorie: cookies, ads, modals (cut|pass|disable) und timeoutMs (0–15000). |
{
"url": "https://example.com",
"immutable": true,
"includeMarkdown": true,
"fullPage": true
}{
"jobId": "job_01HXYZ...",
"reservedCredits": 3,
"status": "queued"
}/v1/extractStrukturiertes JSON von einer Seite gemäss Ihrem Schema extrahieren. Relative URL-Strings im Ergebnis werden in absolute URLs umgeschrieben. Erfordert Pro+.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
urlrequired | body | string (url) | Seiten-URL für die Extraktion. |
schemarequired | body | object | JSON-Schema-ähnliches Objekt, das die zu extrahierenden Felder beschreibt. |
| Name | In | Type | Description |
|---|---|---|---|
prompt | body | string (≤4000) | Optionale Extraktionsanweisungen, die dem Operator-Prompt angehängt werden. |
useProxy | body | boolean | Die Erfassung über Ihren konfigurierten Proxy-Pool leiten. Pro+. Default: false |
proxy | body | string | Proxy-Label oder URL (beispielsweise "us"). Impliziert Geo/Proxy-Funktion (Pro+). |
waitUntil | body | "load" | "domcontentloaded" | "networkidle" | Playwright-Navigations-Wartebedingung. Default: "networkidle" |
webhookUrl | body | string (url) | Webhook-Override pro Job. Empfängt job.succeeded / job.failed Ereignisse. |
overlayMode | body | "cut" | "pass" | "disable" | Kurzform der Overlay-Richtlinie für Cookies, Werbung und Modals. |
overlays | body | object | Overlay-Steuerung pro Kategorie: cookies, ads, modals (cut|pass|disable) und timeoutMs (0–15000). |
{
"url": "https://example.com",
"schema": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"price": {
"type": "string"
}
},
"required": [
"title"
]
}
}{
"jobId": "job_01HXYZ...",
"reservedCredits": 7,
"status": "queued"
}/v1/summaryEine einzelne URL, eine URL-Liste oder eine Website crawlen und pro Seite sowie als Gesamtüberblick zusammenfassen. Erfordert Pro+ und einen konfigurierten LLM-Endpunkt am Worker. Credits: 5 pro zusammengefasster Seite (+ Proxy).
Auth: API key or session required
No required parameters.
| Name | In | Type | Description |
|---|---|---|---|
url | body | string (url) | Start-/Seiten-URL. Erforderlich für Einzel- und Crawl-Modus. |
urls | body | string[] (urls) | Explizite Liste von 2–50 URLs (nicht kombinierbar mit crawl). |
crawl | body | boolean | Bei true mit url: BFS-Crawl bis maxPages/maxDepth. Default: false |
maxPages | body | integer | Crawl-Seitenbudget (tarifabhängig begrenzt). Default: 25 |
maxDepth | body | integer | Crawl-Linktiefe. Default: 2 |
sameOrigin | body | boolean | Crawl auf denselben Origin beschränken. Default: true |
includeSubdomains | body | boolean | Subdomains erlauben, wenn sameOrigin true ist. Default: false |
respectRobotsTxt | body | boolean | robots.txt-Disallow-Regeln beim Crawl beachten. Default: true |
focus | body | string (≤2000) | Optionaler Hinweis, worauf die Zusammenfassung achten soll. |
length | body | "short" | "medium" | "long" | Längen-Voreinstellung der Zusammenfassung. Default: "medium" |
useProxy | body | boolean | Die Erfassung über Ihren konfigurierten Proxy-Pool leiten. Pro+. Default: false |
proxy | body | string | Proxy-Label oder URL (beispielsweise "us"). Impliziert Geo/Proxy-Funktion (Pro+). |
waitUntil | body | "load" | "domcontentloaded" | "networkidle" | Playwright-Navigations-Wartebedingung. Default: "networkidle" |
webhookUrl | body | string (url) | Webhook-Override pro Job. Empfängt job.succeeded / job.failed Ereignisse. |
overlayMode | body | "cut" | "pass" | "disable" | Kurzform der Overlay-Richtlinie für Cookies, Werbung und Modals. |
overlays | body | object | Overlay-Steuerung pro Kategorie: cookies, ads, modals (cut|pass|disable) und timeoutMs (0–15000). |
{
"url": "https://example.com",
"crawl": true,
"maxPages": 10,
"maxDepth": 2,
"length": "medium"
}{
"jobId": "job_01HXYZ...",
"reservedCredits": 50,
"status": "queued"
}/v1/jobsJobs Ihrer Organisation mit optionalen Filtern und Paginierung auflisten.
Auth: API key or session required
No required parameters.
| Name | In | Type | Description |
|---|---|---|---|
status | query | "queued" | "running" | "succeeded" | "failed" | Nach Job-Status filtern. Ungültige Werte werden ignoriert. |
kind | query | string | Exakter Job-Typ-Filter (screenshot, markdown, crawl, …). |
q | query | string | Gross-/kleinschreibungsunabhängige Suche nach Job-URL oder Job-ID. |
from | query | string (ISO datetime) | Inklusive untere Grenze für createdAt. |
to | query | string (ISO datetime) | Inklusive obere Grenze für createdAt. |
limit | query | integer (≥1, ≤100) | Seitengrösse. Default: 25 |
offset | query | integer (≥0) | Anzahl zu überspringender Jobs. Default: 0 |
curl -X GET 'https://api.sitescreens.com/v1/jobs?status=succeeded&limit=25&offset=0' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"jobs": [
{
"id": "job_01HXYZ...",
"kind": "screenshot",
"status": "succeeded",
"url": "https://example.com",
"reservedCredits": 1,
"settledCredits": 1,
"createdAt": "2026-08-11T10:00:00.000Z",
"faviconUrl": "https://api.sitescreens.com/v1/files?key=...&sig=..."
}
],
"total": 1,
"limit": 25,
"offset": 0
}/v1/jobs/:idEinen einzelnen Job einschliesslich signierter Artefakt-Download-URLs abrufen (typischerweise ca. 1 Stunde gültig).
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Job-ID aus einem Create-Aufruf. |
curl -X GET 'https://api.sitescreens.com/v1/jobs/job_01HXYZ...' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"job": {
"id": "job_01HXYZ...",
"kind": "screenshot",
"status": "succeeded",
"url": "https://example.com",
"reservedCredits": 1,
"settledCredits": 1,
"error": null,
"meta": {
"overlaysDetected": []
},
"createdAt": "2026-08-11T10:00:00.000Z",
"finishedAt": "2026-08-11T10:00:08.000Z",
"artifacts": [
{
"id": "art_01...",
"contentType": "image/png",
"byteSize": 184220,
"contentHash": "sha256:…",
"watermarked": false,
"immutable": false,
"url": "https://api.sitescreens.com/v1/artifacts/art_01...?exp=...&sig=..."
}
]
}
}/v1/artifacts/:idEin Artefakt, das Ihnen gehört, soft-löschen. Unveränderliche forensische Artefakte können nicht gelöscht werden.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Artefakt-ID. |
curl -X DELETE 'https://api.sitescreens.com/v1/artifacts/art_01...' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"ok": true
}/v1/artifacts/:idBinärer Download für ein Artefakt. Erfordert eine gültige exp- und sig-Query-Signatur aus einer Job-Antwort — keinen API-Schlüssel.
Auth: None (public)
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Artefakt-ID. |
exprequired | query | string | Ablaufzeitstempel der Signatur. |
sigrequired | query | string | HMAC-Signatur aus der Job-Artefakt-URL. |
curl -X GET 'https://api.sitescreens.com/v1/artifacts/art_01...?exp=1723370000&sig=%E2%80%A6'
{
"note": "Binary response body with Content-Type from the artifact (image/png, application/pdf, text/markdown, …)."
}/v1/batchViele URLs in einer Anfrage einreihen. Fehler pro URL werden in results zurückgegeben, ohne den gesamten Batch scheitern zu lassen. Erfordert Starter+. Die URL-Anzahl ist durch plan maxBatchSize begrenzt.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
kindrequired | body | "screenshot" | "markdown" | "text" | "pdf" | Job-Typ, der auf jede URL angewendet wird. |
urlsrequired | body | string[] (urls) | Liste von URLs (1–500, tarifabhängig begrenzt). |
| Name | In | Type | Description |
|---|---|---|---|
options | body | object | Gemeinsame Optionen: fullPage, device, width, height, resolution (Screenshot), useProxy, proxy, overlayMode, overlays, webhookUrl. |
{
"kind": "screenshot",
"urls": [
"https://example.com",
"https://example.org"
],
"options": {
"device": "desktop",
"fullPage": false,
"overlayMode": "cut"
}
}{
"batchSize": 2,
"queued": 2,
"failed": 0,
"results": [
{
"url": "https://example.com",
"jobId": "job_01...",
"reservedCredits": 1
},
{
"url": "https://example.org",
"jobId": "job_02...",
"reservedCredits": 1
}
]
}/v1/monitorsChange-Monitore Ihrer Organisation auflisten.
Auth: API key or session required
No required parameters.
curl -X GET 'https://api.sitescreens.com/v1/monitors' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"monitors": [
{
"id": "mon_01...",
"name": "example.com",
"url": "https://example.com",
"intervalMinutes": 60,
"thresholdPercent": 2,
"enabled": true,
"lastCheckedAt": "2026-08-11T09:00:00.000Z",
"nextRunAt": "2026-08-11T10:00:00.000Z"
}
]
}/v1/monitorsWiederkehrende visuelle/inhaltsbezogene Prüfungen planen. Erfordert Starter+. Anzahl tarifabhängig begrenzt.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
urlrequired | body | string (url) | Zu überwachende URL. |
| Name | In | Type | Description |
|---|---|---|---|
name | body | string (1–80) | Anzeigename. Standardmässig der Hostname. |
intervalMinutes | body | integer (5–10080) | Prüfintervall in Minuten. Default: 60 |
thresholdPercent | body | number (0–100) | Visueller Diff-Schwellenwert, der als Änderung zählt. Default: 2 |
fullPage | body | boolean | Full-Page-Screenshots für Vergleiche erfassen. Default: false |
device | body | "desktop" | "mobile" | "tablet" | Viewport-Voreinstellung. Default: "desktop" |
webhookUrl | body | string (url) | Webhook pro Monitor für monitor.changed / monitor.unchanged. |
enabled | body | boolean | Ob der Monitor aktiv ist. Default: true |
forensicOnChange | body | boolean | Bei erkannter Änderung ein forensisches Paket einreihen. Default: false |
overlayMode | body | "cut" | "pass" | "disable" | Overlay-Kurzform für Monitor-Erfassungen. |
overlays | body | object | Overlay-Einstellungen pro Kategorie. |
{
"url": "https://example.com",
"intervalMinutes": 60,
"thresholdPercent": 2,
"overlayMode": "cut"
}{
"monitor": {
"id": "mon_01...",
"name": "example.com",
"url": "https://example.com",
"intervalMinutes": 60,
"thresholdPercent": 2,
"enabled": true
}
}/v1/monitors/:idEinen einzelnen Monitor anhand der ID abrufen.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Monitor-ID. |
curl -X GET 'https://api.sitescreens.com/v1/monitors/mon_01...' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"monitor": {
"id": "mon_01...",
"name": "example.com",
"url": "https://example.com",
"intervalMinutes": 60,
"enabled": true
}
}/v1/monitors/:idTeilaktualisierung der Monitor-Einstellungen. Body-Felder entsprechen Create (alle optional).
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Monitor-ID. |
| Name | In | Type | Description |
|---|---|---|---|
enabled | body | boolean | Monitor pausieren oder fortsetzen. |
intervalMinutes | body | integer | Neues Prüfintervall. |
thresholdPercent | body | number | Neuer visueller Änderungsschwellenwert. |
name | body | string | Anzeigename. |
webhookUrl | body | string (url) | Webhook-URL-Override. |
{
"enabled": false,
"intervalMinutes": 120
}{
"monitor": {
"id": "mon_01...",
"enabled": false,
"intervalMinutes": 120
}
}/v1/monitors/:idEinen Monitor entfernen.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Monitor-ID. |
curl -X DELETE 'https://api.sitescreens.com/v1/monitors/mon_01...' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"ok": true
}/v1/monitors/:id/historyAktuelle Monitor-Läufe mit Änderungsflags und Screenshot-URLs.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Monitor-ID. |
| Name | In | Type | Description |
|---|---|---|---|
limit | query | integer (1–100) | Maximale Anzahl zurückzugebender Läufe. Default: 50 |
curl -X GET 'https://api.sitescreens.com/v1/monitors/mon_01.../history?limit=20' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"monitor": {
"id": "mon_01...",
"url": "https://example.com"
},
"runs": [
{
"id": "run_01...",
"jobId": "job_01...",
"changed": true,
"contentChanged": true,
"visualChanged": true,
"diffPercent": 4.2,
"createdAt": "2026-08-11T09:00:00.000Z",
"screenshotUrl": "https://api.sitescreens.com/v1/artifacts/...?exp=...&sig=..."
}
]
}/v1/monitors/:id/compareSeiten-an-Seiten-Vergleich zweier Monitor-Läufe.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Monitor-ID. |
leftrequired | query | string | Linke Lauf-ID. |
rightrequired | query | string | Rechte Lauf-ID. |
curl -X GET 'https://api.sitescreens.com/v1/monitors/mon_01.../compare?left=run_01...&right=run_02...' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"monitor": {
"id": "mon_01..."
},
"left": {
"id": "run_01...",
"screenshot": {
"url": "…"
}
},
"right": {
"id": "run_02...",
"screenshot": {
"url": "…"
}
}
}/v1/rag/sourcesAllowlistete RAG-Sync-Quellen auflisten. Erstellen/Sync erfordert Pro+.
Auth: API key or session required
No required parameters.
curl -X GET 'https://api.sitescreens.com/v1/rag/sources' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"sources": [
{
"id": "rag_01...",
"name": "example.com",
"startUrl": "https://example.com",
"allowlistHosts": [
"example.com"
],
"maxPages": 25,
"enabled": true
}
]
}/v1/rag/sourcesEine allowlistete Website für wiederkehrenden Knowledge-Pack-Sync hinzufügen. Erfordert Pro+.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
startUrlrequired | body | string (url) | Crawl-Start-URL. |
allowlistHostsrequired | body | string[] (1–50) | Hosts, die der Crawler besuchen darf. |
| Name | In | Type | Description |
|---|---|---|---|
name | body | string (1–80) | Anzeigename. |
maxPages | body | integer (1–5000) | Seiten pro Sync. Default: 25 |
maxDepth | body | integer (0–10) | Crawl-Tiefe. Default: 2 |
intervalMinutes | body | integer (15–10080) | Automatisches Sync-Intervall. Default: 1440 |
respectRobotsTxt | body | boolean | robots.txt beachten. Default: true |
enabled | body | boolean | Ob der geplante Sync aktiv ist. Default: true |
webhookUrl | body | string (url) | Empfängt rag.synced Ereignisse. |
overlayMode | body | "cut" | "pass" | "disable" | Overlay-Kurzform für Sync-Crawls. |
overlays | body | object | Overlay-Einstellungen pro Kategorie. |
{
"startUrl": "https://example.com/docs",
"allowlistHosts": [
"example.com"
],
"maxPages": 25,
"intervalMinutes": 1440
}{
"source": {
"id": "rag_01...",
"startUrl": "https://example.com/docs",
"allowlistHosts": [
"example.com"
]
}
}/v1/rag/sources/:idEine RAG-Quelle abrufen.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Quellen-ID. |
curl -X GET 'https://api.sitescreens.com/v1/rag/sources/rag_01...' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"source": {
"id": "rag_01...",
"startUrl": "https://example.com"
}
}/v1/rag/sources/:idTeilaktualisierung. Body-Felder entsprechen Create (alle optional).
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Quellen-ID. |
| Name | In | Type | Description |
|---|---|---|---|
enabled | body | boolean | Geplanten Sync aktivieren oder deaktivieren. |
maxPages | body | integer | Seiten pro Sync. |
intervalMinutes | body | integer | Sync-Takt. |
{
"enabled": true,
"maxPages": 40
}{
"source": {
"id": "rag_01...",
"maxPages": 40,
"enabled": true
}
}/v1/rag/sources/:idEine RAG-Quelle entfernen.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Quellen-ID. |
curl -X DELETE 'https://api.sitescreens.com/v1/rag/sources/rag_01...' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"ok": true
}/v1/rag/sources/:id/syncSofortigen rag_sync-Job für die Quelle einreihen. Erfordert Pro+.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Quellen-ID. |
curl -X POST 'https://api.sitescreens.com/v1/rag/sources/rag_01.../sync' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"jobId": "job_01HXYZ...",
"reservedCredits": 1,
"status": "queued"
}/v1/rag/packsVersionierte Knowledge-Packs aus dem RAG-Sync auflisten.
Auth: API key or session required
No required parameters.
| Name | In | Type | Description |
|---|---|---|---|
ragSourceId | query | string | Packs auf eine Quelle filtern. |
curl -X GET 'https://api.sitescreens.com/v1/rag/packs?ragSourceId=rag_01...' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"packs": [
{
"id": "pack_01...",
"ragSourceId": "rag_01...",
"version": 3,
"createdAt": "2026-08-11T08:00:00.000Z"
}
]
}/v1/rag/packs/:idEin Pack und seine signierten Artefakt-URLs (Markdown/JSONL) abrufen.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Pack-ID. |
curl -X GET 'https://api.sitescreens.com/v1/rag/packs/pack_01...' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"pack": {
"id": "pack_01...",
"version": 3,
"artifacts": [
{
"id": "art_01...",
"contentType": "text/markdown",
"url": "https://api.sitescreens.com/v1/artifacts/art_01...?exp=...&sig=..."
}
]
}
}/v1/keysAktive API-Schlüssel und Perioden-Ausgabenübersichten auflisten. Secrets werden hier nie zurückgegeben.
Auth: API key or session required
No required parameters.
curl -X GET 'https://api.sitescreens.com/v1/keys' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"keys": [
{
"id": "key_01...",
"name": "Production",
"keyPrefix": "ssk_live_ab12",
"dailyCreditLimit": 1000,
"weeklyCreditLimit": null,
"monthlyCreditLimit": null,
"spentToday": 42,
"spentThisWeek": 210,
"spentThisMonth": 880,
"createdAt": "2026-07-01T00:00:00.000Z"
}
]
}/v1/keysEinen neuen API-Schlüssel erstellen. Das vollständige Secret wird einmal zurückgegeben — sicher speichern.
Auth: API key or session required
No required parameters.
| Name | In | Type | Description |
|---|---|---|---|
name | body | string (1–60) | Bezeichnung für den Schlüssel. Default: "Default" |
{
"name": "CI"
}{
"key": {
"id": "key_01...",
"name": "CI",
"keyPrefix": "ssk_live_zz99",
"dailyCreditLimit": null,
"weeklyCreditLimit": null,
"monthlyCreditLimit": null,
"secret": "ssk_live_zz99…full_secret_once"
}
}/v1/keys/:idSchlüssel umbenennen oder tägliche/wöchentliche/monatliche Credit-Limits setzen. null hebt ein Limit auf (unbegrenzt).
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Schlüssel-ID. |
| Name | In | Type | Description |
|---|---|---|---|
name | body | string (1–60) | Neue Bezeichnung. |
dailyCreditLimit | body | integer | null | UTC-Tageslimit für Ausgaben. null = unbegrenzt. |
weeklyCreditLimit | body | integer | null | UTC-Wochenlimit (Mo–So) für Ausgaben. null = unbegrenzt. |
monthlyCreditLimit | body | integer | null | UTC-Kalendermonats-Limit für Ausgaben. null = unbegrenzt. |
{
"dailyCreditLimit": 500,
"weeklyCreditLimit": 2000
}{
"key": {
"id": "key_01...",
"name": "CI",
"dailyCreditLimit": 500,
"weeklyCreditLimit": 2000,
"monthlyCreditLimit": null,
"spentToday": 42
}
}/v1/keys/:idEinen API-Schlüssel sofort widerrufen.
Auth: API key or session required
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | Schlüssel-ID. |
curl -X DELETE 'https://api.sitescreens.com/v1/keys/key_01...' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"ok": true
}/v1/settings/webhookOrganisations-Webhook-URL und ob ein HMAC-Secret konfiguriert ist lesen.
Auth: API key or session required
No required parameters.
curl -X GET 'https://api.sitescreens.com/v1/settings/webhook' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"webhookUrl": "https://hooks.example.com/sitescreens",
"hasSecret": true
}/v1/settings/webhookOrganisations-Webhook-URL setzen oder löschen und optional das HMAC-Signatur-Secret rotieren.
Auth: API key or session required
No required parameters.
| Name | In | Type | Description |
|---|---|---|---|
webhookUrl | body | string (url) | null | Ziel-URL oder null zum Löschen. |
rotateSecret | body | boolean | Wenn true, wird ein neues Secret erzeugt und einmal zurückgegeben. |
{
"webhookUrl": "https://hooks.example.com/sitescreens",
"rotateSecret": true
}{
"ok": true,
"webhookSecret": "a1b2c3…"
}/v1/usageAktuelle Credit-Ledger-Einträge Ihrer Organisation (neueste 50).
Auth: API key or session required
No required parameters.
curl -X GET 'https://api.sitescreens.com/v1/usage' \ -H 'Authorization: Bearer ssk_your_api_key'
{
"ledger": [
{
"id": "led_01...",
"jobId": "job_01...",
"delta": -1,
"balanceAfter": 999,
"reason": "reserve",
"createdAt": "2026-08-11T10:00:00.000Z"
}
]
}