New Incident Management + Host Exposure Scanning — Shipped April 12
Services Pricing Dashboard

REST API Documentation

Programmatic access to real-time status, incidents, SLA compliance, and reliability data for 2321+ cloud services.

https://servicealert.ai/api/v1/

Quick Start

  1. Public endpoints (services, status, incidents) work without authentication, just make a GET request.
  2. For premium endpoints (SLA, scores, rankings, trends, analytics), create an API key in your dashboard.
  3. Pass your key in the X-API-Key header with every request.
Example
curl -H "X-API-Key: sa_live_your_key_here" \ https://servicealert.ai/api/v1/scores

Authentication

Public endpoints (/services, /status, /incidents) require no authentication. Premium endpoints require an API key.

Pass your API key in the X-API-Key header:

X-API-Key: sa_live_your_key_here

API keys can be created and managed from the API Keys page in your dashboard. Keys are shown only once on creation, store them securely.

Rate Limits

All responses include rate limit headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Access LevelRate LimitWindow
No API Key (public)30 requestsPer minute
With API Key120 requestsPer minute

Exceeding the limit returns 429 Too Many Requests with a Retry-After header.

Endpoints

Public Endpoints

GET /api/v1/services Public List all monitored services

Returns the full catalog of monitored services. Use /{feedId} for a single service.

ParameterTypeDescription
category optionalstringFilter by category slug (e.g., cloud-platforms)
Response
{ "success": true, "data": [ { "feedId": "aws", "name": "Amazon Web Services", "url": "https://health.aws.amazon.com/health/status", "feedType": "healthcheck", "description": "Cloud computing platform..." } ], "meta": { "total": 2321 } }
GET /api/v1/status Public Current status of all services

Returns the latest cached status for all services. Data is refreshed every 5 minutes. Use /{feedId} for a single service.

Response
{ "success": true, "data": [ { "feedId": "github", "status": "up", "lastCheck": 1710334795, "indicator": "none" } ], "meta": { "total": 950, "generated": 1710334800, "age_seconds": 42 } }
GET /api/v1/incidents Public Active incidents across all services

Returns current active incidents. Use /{feedId} for incidents affecting a specific service.

Response
{ "success": true, "data": [ { "service": "GitHub", "id": "abc123", "title": "Degraded performance for Actions", "status": "investigating", "started": 1710300000, "updates": [...] } ], "meta": { "total": 3, "services_affected": 2 } }

Premium Endpoints (API key required)

GET /api/v1/sla Auth SLA compliance data

Compare vendor uptime against published SLA targets. Use /{feedId} for a single service.

ParameterTypeDescription
month optionalstringHistorical month (e.g., 2026-02)
Response
{ "success": true, "data": { "summary": { "services_tracked": 850, "compliance_rate": 94.2, "services_breaching_sla": 49 }, "services": [ { "feedId": "aws", "name": "Amazon Web Services", "sla_target": 99.99, "uptime_30d": 99.98, "status": "at_risk", "margin": -0.01 } ] } }
GET /api/v1/scores Auth Vendor reliability scores (0-100)

Composite reliability scores based on uptime (40%), incidents (25%), resolution time (20%), and SLA compliance (15%). Use /{feedId} for a single service.

ParameterTypeDescription
month optionalstringHistorical month (e.g., 2026-02)
Response
{ "success": true, "data": { "summary": { "services_scored": 800, "avg_score": 82.4, "top_service": "Cloudflare" }, "scores": [ { "feedId": "cloudflare", "name": "Cloudflare", "score": 97.2, "grade": "A", "tier": "excellent", "components": { "uptime": 98.5, "incidents": 100, "resolution": 90, "sla": 100 } } ] } }
GET /api/v1/rankings Auth Uptime reliability rankings

Services ranked by uptime performance with 30/90-day metrics.

ParameterTypeDescription
month optionalstringHistorical month (e.g., 2026-02)
GET /api/v1/analytics Auth Incident analytics & MTTR

MTTR trends, severity distribution, top affected services, day-of-week patterns, and component analysis.

ParameterTypeDescription
month optionalstringHistorical month (e.g., 2026-02)

Code Examples

# Public endpoint (no auth) curl https://servicealert.ai/api/v1/status/github # Premium endpoint (API key required) curl -H "X-API-Key: sa_live_your_key_here" \ https://servicealert.ai/api/v1/scores/aws # Filter services by category curl https://servicealert.ai/api/v1/services?category=cloud-platforms # Historical SLA data curl -H "X-API-Key: sa_live_your_key_here" \ "https://servicealert.ai/api/v1/sla?month=2026-02"
// Public endpoint const res = await fetch('https://servicealert.ai/api/v1/status/github'); const { data } = await res.json(); console.log(data.status); // "up" // Premium endpoint const scores = await fetch('https://servicealert.ai/api/v1/scores', { headers: { 'X-API-Key': 'sa_live_your_key_here' } }); const { data: scoreData } = await scores.json(); console.log(scoreData.summary.avg_score);
import requests # Public endpoint r = requests.get('https://servicealert.ai/api/v1/status/github') print(r.json()['data']['status']) # "up" # Premium endpoint headers = {'X-API-Key': 'sa_live_your_key_here'} r = requests.get('https://servicealert.ai/api/v1/scores', headers=headers) print(r.json()['data']['summary']['avg_score'])

Error Codes

CodeMeaning
200Success
401Authentication required, missing or invalid API key
403Forbidden, API key lacks required scope
404Resource not found (invalid endpoint or feedId)
405Method not allowed, API is read-only (GET only)
429Rate limit exceeded, wait and retry
500Internal server error
503Data not yet available (service initializing)

All error responses follow the format: { "success": false, "error": "description" }

Ready to integrate? Create your API key and start building.

Get Your API Key