ServiceIsDown API

Access real-time service status monitoring with a simple REST API. Track incidents, cascade effects, and economic impact across thousands of critical services. Completely free with no authentication required.

100% Free No Auth CORS Enabled Real-Time
82 Services Tracked
0 Active Incidents
100% Free & Open
0 Auth Required

Why Use Our API

Real-Time Data

Live updates on service status and incidents as they happen

No Authentication

Call the API directly without API keys or authentication

CORS Enabled

Use directly from browser without backend proxy

Always Reliable

Database-backed with minimal latency

Rich Data

Status, incidents, affected users, severity, and metrics

JSON Format

Clean, standardized JSON responses for easy integration

API Endpoints

GET https://serviceisdown.com/api/v1/health

Check API health and connectivity status.

Response
{
  "success": true,
  "message": "API is operational"
}
GET https://serviceisdown.com/api/v1/services

Get list of all monitored services.

Response
{
  "success": true,
  "data": {
    "services": [
      {
        "id": 1,
        "name": "AWS",
        "status": "operational",
        "industry": "cloud",
        "affected_users": 0,
        "last_incident": "2024-03-20T10:30:00Z"
      },
      ...
    ],
    "total": 82  }
}
GET https://serviceisdown.com/api/v1/services/{name}

Get details for a specific service.

Example: https://serviceisdown.com/api/v1/services/aws

Response
{
  "success": true,
  "data": {
    "service": {
      "id": 1,
      "name": "AWS",
      "status": "operational",
      "industry": "cloud",
      "affected_users": 0,
      "impact_per_hour": 0,
      "incident_count_24h": 0
    }
  }
}
GET https://serviceisdown.com/api/v1/incidents

Get all active incidents across services.

Response
{
  "success": true,
  "data": {
    "incidents": [
      {
        "id": 1,
        "service_name": "Stripe",
        "status": "investigating",
        "severity": "critical",
        "affected_users": 500000,
        "start_time": "2024-03-25T14:20:00Z",
        "description": "Payment processing delays"
      }
    ],
    "total": 0  }
}
GET https://serviceisdown.com/api/v1/incidents/service/{name}

Get incidents for a specific service.

Example: https://serviceisdown.com/api/v1/incidents/service/stripe

GET https://serviceisdown.com/api/v1/cascade/{name}

Analyze cascade effects if a service goes down.

Example: https://serviceisdown.com/api/v1/cascade/aws

GET https://serviceisdown.com/api/v1/stats

Get global statistics and overview.

Response
{
  "success": true,
  "data": {
    "total_services": 82,
    "active_incidents": 0,
    "affected_users_total": 0,
    "economic_impact_hourly": 0
  }
}

Getting Started

Quick Example

// Fetch all services
fetch('https://serviceisdown.com/api/v1/services')
  .then(res => res.json())
  .then(data => console.log(data))
  .catch(err => console.error(err))
import requests

response = requests.get('https://serviceisdown.com/api/v1/services')
data = response.json()
print(data)
curl https://serviceisdown.com/api/v1/services | jq

Standard Response Format

All API responses follow this structure:

{
  "success": true|false,
  "data": { /* Endpoint-specific data */ },
  "error": "error message (if success is false)"
}

Response Status Codes

Code Meaning
200 Success - request completed
400 Bad Request - invalid parameters
404 Not Found - service or resource doesn't exist
500 Server Error - something went wrong