Logo
Status Page

Status Page Documentation

Common troubleshooting topics: Creating a status page, setting up a monitor, incident management, etc.

JSON API for Custom Integrations

StatusPage.me Dec 9, 2025 Embeds & Integrations

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.

JSON API example


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

ParameterDescription
slugYour status page slug (required)
incSet to 1 to include active incidents
rtmResponse time sparkline (1-240 minutes)
updUptime 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

FieldDescription
pageStatus page info (name, slug, URL)
overallCurrent status (operational, degraded, partial_outage, major_outage)
updatedLast update timestamp
incidentsArray of active incidents (if inc=1)
rtmResponse time values in milliseconds (if rtm specified)
updDaily 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 CaseHow
Custom dashboardFetch and display in your admin panel
Mobile appShow status in your native app
CLI toolCheck status from command line
Slack botBuild custom status notifications
Internal displayOffice 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?

Was this article helpful?

Share this article: