API für Entwickler
Alles, was diese Seite zeigt, gibt es auch als JSON: den aktuellen Status einer Seite, ihre Verfügbarkeit, bestätigte Ausfälle und eine Prüfung auf Abruf von allen unseren Standorten.
Zugang
Anfragen brauchen einen Schlüssel, der als Bearer-Token mitgeschickt wird. Schlüssel vergibt der Betreiber von DownVerdict. Für jeden Schlüssel gilt eine Grenze an Anfragen pro Minute; eine Prüfung auf Abruf zählt als fünf.
curl -H "Authorization: Bearer YOUR_KEY" \ https://downverdict.com/api/v1/status/github.com
Fehler kommen als JSON mit dem Feld error: 401 ohne gültigen Schlüssel, 429, wenn die Grenze erreicht ist (mit Retry-After-Header), 404 für eine Seite, die nicht beobachtet wird.
Endpunkte
GET/api/v1/status/{domain}
Gespeicherter Status einer beobachteten Seite. Schnell, und startet keine neue Prüfung.
{
"domain": "github.com",
"name": "GitHub",
"status": "up", // up | down | unconfirmed | unavailable
"blocked": false, // reachable, but refused the automated check
"partial": false, // reachable from some locations only
"response_ms": 84,
"checked_at": "2026-10-09T08:12:41.000Z",
"uptime_percent": { "day": 100, "week": 99.97, "month": 99.91 },
"last_outage": { "started_at": "...", "ended_at": "..." },
"url": "https://downverdict.com/github.com"
}POST/api/v1/check
Prüft eine Domain jetzt von jedem Standort aus und liefert, was jeder davon gesehen hat. Funktioniert auch für Seiten, die wir noch nicht beobachten. Ein Ergebnis aus der letzten Minute wird wiederverwendet.
curl -X POST -H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"domain":"example.com"}' https://downverdict.com/api/v1/check{
"domain": "example.com",
"status": "up",
"locations_answered": 3,
"locations_total": 3,
"response_ms": 61,
"cached": false,
"locations": [
{ "location": "Berlin 1, Germany", "status": "up", "http_code": 200, "response_ms": 58, "error": null }
]
}Eine Seite gilt erst als down, wenn mindestens zwei Standorte sie nicht erreichen. Bei nur einer Antwort lautet der Status unconfirmed.
GET/api/v1/outages
Bestätigte Ausfälle, die neuesten zuerst. Optionale Query-Parameter: domain, ongoing=1, limit (bis zu 200).
{
"outages": [
{ "domain": "example.com", "name": "Example", "started_at": "...", "ended_at": null, "duration_seconds": 540 }
]
}Ohne Schlüssel
Das Status-Badge braucht keinen Schlüssel und lässt sich überall einbetten: https://downverdict.com/api/badge/github.com. Auf jeder Seite einer Website steht der Einbettungscode zum Kopieren bereit.