Ü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:
| Parameter | Typ | Beschreibung |
|---|---|---|
limit | int | Max. Ergebnisse (default: 20) |
status | string | Filter: 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:
| Attribut | Werte | Default |
|---|---|---|
data-position | left, right | left |
data-lang | de, en, fr, tr | de |
data-badge | true, false | true |
Fehler-Codes
| Code | Bedeutung |
|---|---|
400 | Ungültige Anfrage (z.B. fehlende URL) |
401 | API-Key fehlt oder ungültig |
403 | API-Zugang nicht im Plan enthalten (nur Business/Enterprise) |
404 | Scan/Ressource nicht gefunden |
429 | Rate Limit überschritten |
500 | Server-Fehler |
Rate Limits
Um faire Nutzung sicherzustellen, gelten folgende Rate Limits:
| Plan | Requests / Minute | Scans / Tag |
|---|---|---|
| Starter | 20 | 100 |
| Business | 60 | unbegrenzt |
| Enterprise | Custom | unbegrenzt |
Bei Überschreitung gibt die API Status 429 zurück mit einem Retry-After Header.