JSON API for Custom Integrations
Need to build something custom? Our JSON API lets you fetch your status data and display it however you want.
If you want a hosted banner without building your own UI, start with Embeddable Status Banner.

API Endpoint
Fetch your status data from:
GET https://statuspage.me/api/embed/status?slug=your-slug
Replace your-slug with your status page slug.
Query Parameters
| Parameter | Description |
|---|---|
slug | Your status page slug (required) |
inc | Set to 1 to include active incidents |
rtm | Response time sparkline (1-240 minutes) |
upd | Uptime per day (1-30 days) |
Example Request
https://statuspage.me/api/embed/status?slug=your-slug&inc=1&rtm=60&upd=7
This returns: status, incidents, 60-minute response times, 7-day uptime.
Response Format
The API returns JSON:
{
"page": {
"name": "Your Status Page",
"slug": "your-slug",
"url": "https://your-slug.statuspage.me"
},
"overall": "operational",
"updated": "2025-12-09T12:00:00Z",
"incidents": [
{
"title": "API Latency Issues",
"status": "monitoring",
"created_at": "2025-12-09T11:30:00Z"
}
],
"rtm": [120, 115, 118, 125, 110, ...],
"upd": [99.95, 100, 100, 99.80, 100, 100, 100]
}
Response Fields
| Field | Description |
|---|---|
page | Status page info (name, slug, URL) |
overall | Current status (operational, degraded, partial_outage, major_outage) |
updated | Last update timestamp |
incidents | Array of active incidents (if inc=1) |
rtm | Response time values in milliseconds (if rtm specified) |
upd | Daily uptime percentages (if upd specified) |
Using with JavaScript
async function getStatus() {
const response = await fetch(
'https://statuspage.me/api/embed/status?slug=your-slug&inc=1'
);
const data = await response.json();
console.log('Status:', data.overall);
console.log('Incidents:', data.incidents.length);
return data;
}
Use Cases
| Use Case | How |
|---|---|
| Custom dashboard | Fetch and display in your admin panel |
| Mobile app | Show status in your native app |
| CLI tool | Check status from command line |
| Slack bot | Build custom status notifications |
| Internal display | Office TV dashboard |
Caching
- Responses are cached for a few minutes
- Use reasonable polling intervals (30+ seconds)
- Don’t hammer the API with constant requests
Markdown API
For simple text output, use the markdown endpoint:
GET https://statuspage.me/api/embed/markdown?slug=your-slug
Returns markdown-formatted status text for easy embedding in docs or chat.
Rate Limits
- The API is designed for reasonable use
- Polling every 30-60 seconds is appropriate
- Contact us if you need higher limits
What’s Next?
- Use the embeddable status banner for a hosted horizontal status notice
- Use the live widget for zero-code embedding
- Use the SVG badge for README files
- Install the WordPress plugin