Access your status page data programmatically. No authentication required.
Get the current status of any public status page as JSON. No authentication required. CORS enabled — call it from anywhere.
/api/v1/status?slug=your-slugReturns current status, monitors, and response times
curl https://openping.io/api/v1/status?slug=mycompany{
"status": "operational",
"page": {
"name": "My Company Status",
"description": "Service status for My Company"
},
"monitors": [
{
"name": "API",
"status": "up",
"response_time_ms": 42,
"last_checked": "2026-03-24T12:00:00Z"
},
{
"name": "Website",
"status": "up",
"response_time_ms": 128,
"last_checked": "2026-03-24T12:00:00Z"
}
],
"checked_at": "2026-03-24T12:01:00Z"
}| Field | Type | Description |
|---|---|---|
| status | string | "operational", "degraded", or "unknown" |
| page.name | string | Status page name |
| monitors[].name | string | Monitor display name |
| monitors[].status | string | "up", "down", or "unknown" |
| monitors[].response_time_ms | number | null | Average response time in ms |
| monitors[].last_checked | string | null | ISO 8601 timestamp |
GET /api/v1/status
→ 400 { "error": "Missing slug parameter..." }GET /api/v1/status?slug=nonexistent
→ 404 { "error": "Status page not found" }Responses are cached for 60 seconds. The checked_at field shows when the data was generated.
Embed a live uptime badge in your README or website. Shows monitor name and current status as an SVG image. The monitor must be on a public status page.
Preview
<img src="https://openping.io/badge/YOUR_MONITOR_ID" alt="Uptime" />Finding your monitor ID: Open a monitor in your dashboard — the badge section shows the embed code with your ID pre-filled. You can also find it in the URL: /monitors/YOUR_MONITOR_ID