API Overview
StatusPage.me provides a simple, read-only public API for displaying your status page data in custom applications, dashboards, and websites.
What Can You Do With the API?
| Use Case | Endpoint |
|---|---|
| Embed live status widget | Embed Status API |
| Show status badge | SVG Badge API |
| Display incidents | Incidents API |
| Show maintenances | Maintenances API |
| Get availability metrics | Availability API |
Base URL
All API endpoints use:
https://statuspage.me
Or your custom domain if configured.
Authentication
Most endpoints are public and don’t require authentication. They only need your status page slug to fetch data.
For private status pages, some endpoints accept an auth_token query parameter that you configure in your status page settings.
Response Format
All API responses are in JSON format.
Success Response
{
"page": "your-slug",
"overall": "operational",
"updated": "2025-12-09T12:00:00Z"
}
Error Response
{
"error": "not found"
}
Rate Limiting
- API requests are subject to reasonable rate limits
- Recommended polling interval: 30-60 seconds
- Excessive requests may be temporarily blocked
Plan Requirements
API access depends on your plan:
| Feature | Free | Pro | Growth+ |
|---|---|---|---|
| Embed Widget | ✗ | ✓ | ✓ |
| SVG Badge | ✗ | ✓ | ✓ |
| JSON API | ✗ | ✗ | ✓ |
| Sparkline Data | ✗ | ✗ | ✓ |
| Incidents List | ✗ | ✗ | ✓ |
Check your plan limits in Billing & Plan.
CORS Support
API endpoints include CORS headers to allow browser-based requests from any origin. You can safely call these endpoints from client-side JavaScript.
Caching
Responses include cache headers for optimal performance:
- Status endpoints: ~15 seconds cache
- Static data (badges): ~5 minutes cache
- Use
Cache-Controlheaders to understand freshness
What’s Next?
- Embed Status API - Main status data endpoint
- SVG Badge API - Status badges for READMEs
- Incidents API - Fetch incident history