API v1 · REST · JSON

API-Dokumentation

Integriere BFSGuard programmatisch. REST Endpunkte für Scans, Reports und Widget-Konfiguration.

Überblick

Die BFSGuard REST API wird über HTTPS bereitgestellt. Alle Anfragen und Antworten erfolgen im JSON-Format.

Basis-URL:

https://bfsguard.de/api

Content-Type: application/json

Hinweis: Die API ist in den Plänen Business und Enterprise enthalten. Starter-Kunden können Widget-Integration nutzen, aber keine programmatischen Scans.

Authentifizierung

Authentifizierung erfolgt über einen API-Key im X-API-Key Header. Ihren API-Key finden Sie im Dashboard unter Einstellungen.

curl -H "X-API-Key: YOUR_KEY" \
  https://bfsguard.de/api/sites
Sicherheit: Teilen Sie Ihren API-Key niemals öffentlich. Bei Kompromittierung rotieren Sie den Key im Dashboard.

Scans

Scan-Endpunkte zum Starten und Abfragen von WCAG-Analysen.

POST/api/scan
Startet einen neuen Scan für eine URL.

Request Body:

{
  "url": "https://example.com",
  "max_pages": 5
}

Response:

{
  "scan_id": "a3f0c918",
  "status": "pending",
  "url": "https://example.com"
}
GET/api/scan/{scan_id}
Fragt den Status und das Ergebnis eines Scans ab.

Response:

{
  "id": "a3f0c918",
  "status": "completed",
  "score": 85,
  "total_violations": 12,
  "critical": 0,
  "serious": 3,
  "moderate": 6,
  "minor": 3,
  "auto_fixable": 8,
  "bfsg_compliant": true,
  "pages_scanned": 5,
  "completed_at": "2026-04-16T22:30:00"
}

Reports

GET/api/scans
Liste aller Scans (authentifiziert, nur eigene).

Query Parameters:

ParameterTypBeschreibung
limitintMax. Ergebnisse (default: 20)
statusstringFilter: pending, completed, failed
GET/api/erklaerung/{scan_id}
Generiert die Barrierefreiheitserklärung nach §14 BFSG (HTML).

Widget-Integration

Eine Zeile Code installiert das BFSGuard Widget auf Ihrer Webseite:

<script src="https://bfsguard.de/widget.js"
  data-key="YOUR_API_KEY" async></script>

Optionale Konfiguration:

AttributWerteDefault
data-positionleft, rightleft
data-langde, en, fr, trde
data-badgetrue, falsetrue

Fehler-Codes

CodeBedeutung
400Ungültige Anfrage (z.B. fehlende URL)
401API-Key fehlt oder ungültig
403API-Zugang nicht im Plan enthalten (nur Business/Enterprise)
404Scan/Ressource nicht gefunden
429Rate Limit überschritten
500Server-Fehler

Rate Limits

Um faire Nutzung sicherzustellen, gelten folgende Rate Limits:

PlanRequests / MinuteScans / Tag
Starter20100
Business60unbegrenzt
EnterpriseCustomunbegrenzt

Bei Überschreitung gibt die API Status 429 zurück mit einem Retry-After Header.

Bereit zu integrieren?

Holen Sie sich Ihren API-Key im Dashboard.

Zum Dashboard →