Unified Utility Outage API
Track active outages, scheduled maintenance, and service disruptions across South African utility providers. Covers electricity, water, and gas with data sourced from Eskom, municipal utilities, and water providers.
Base URL
Authentication
Include your Utility API key in the Authorization header.
curl -H "Authorization: Bearer db_utility_live_YOUR_KEY" \
https://api.crimate.net/v1/utility/outages/activeEndpoints
/v1/utility/outagesList utility outages with optional filters by provider, type, and area
Parameters: provider, type (electricity/water/gas), area, status (active/resolved/scheduled), from (YYYY-MM-DD), to (YYYY-MM-DD), page, per_page
Example
GET /v1/utility/outages?provider=eskom&type=electricity&status=active/v1/utility/outages/{outageCode}Get detailed information for a specific outage by its code
Parameters: outageCode (required, path)
Example
GET /v1/utility/outages/ESK-GP-2026-03421/v1/utility/outages/activeGet all currently active outages, optionally filtered by area or provider
Parameters: provider, type, area, lat, lon, radius_km
Example
GET /v1/utility/outages/active?area=cape_town/v1/utility/schedulesScheduled maintenance and planned outages for upcoming periods
Parameters: provider, area, from (YYYY-MM-DD), to (YYYY-MM-DD), page, per_page
Example
GET /v1/utility/schedules?provider=eskom&from=2026-03-08&to=2026-03-15/v1/utility/providersList all utility providers with service area and type information
Parameters: type (electricity/water/gas), province
Example
GET /v1/utility/providers?type=electricity&province=gauteng/v1/utility/areasList all service areas with active provider and outage counts
Parameters: province, provider
Example
GET /v1/utility/areas?province=western_cape/v1/utility/statsDataset statistics (total outages, providers, areas, latest update)
Parameters: None
Example
GET /v1/utility/statsResponse Examples
Active outages response:
{
"outages": [
{
"outage_code": "ESK-GP-2026-03421",
"provider": "Eskom",
"type": "electricity",
"area": "Sandton, Johannesburg",
"province": "gauteng",
"status": "active",
"start_time": "2026-03-08T06:30:00Z",
"estimated_restore": "2026-03-08T14:00:00Z",
"affected_customers": 12500,
"cause": "Cable fault",
"description": "Unplanned outage affecting Sandton CBD and surrounding areas due to underground cable fault."
},
{
"outage_code": "CCT-WC-2026-00891",
"provider": "City of Cape Town",
"type": "water",
"area": "Camps Bay, Cape Town",
"province": "western_cape",
"status": "active",
"start_time": "2026-03-08T08:00:00Z",
"estimated_restore": "2026-03-08T18:00:00Z",
"affected_customers": 3200,
"cause": "Pipe burst",
"description": "Water supply disruption due to burst main pipe on Victoria Road."
}
]
}Try It
Enter your Utility API key to make a live request. Generate a key in the dashboard.
Try It
Make a live API call from your browser
curl -H "Authorization: Bearer db_utility_live_YOUR_KEY" \
"https://crimate.net/v1/utility/stats"Data Sources
Eskom
South Africa's primary electricity utility. Provides real-time outage notifications, load shedding schedules, and planned maintenance windows covering the national grid.
Municipal Utilities
Metropolitan and district municipality electricity and water departments. Includes City of Cape Town, City of Johannesburg, eThekwini, and Tshwane with localised outage and maintenance data.
CoCT
City of Cape Town utility services including electricity distribution, water supply, and sanitation. Provides area-level outage tracking and scheduled maintenance notifications.
Joburg Water
Johannesburg Water SOC Ltd. Provides water supply disruption alerts, reservoir levels, and planned maintenance schedules for the greater Johannesburg area.
Rate Limits
| Tier | Price | Rate Limit | Daily Quota | Monthly Quota |
|---|---|---|---|---|
| Free | R0/mo | 10 req/min | 100 | 1,000 |
| Starter | R499/mo | 60 req/min | 5,000 | 50,000 |
| Pro | R1,999/mo | 300 req/min | Unlimited | 500,000 |
Error Codes
All error responses follow a consistent JSON format:
{
"error": "error_code",
"message": "Human-readable description."
}| Status | Error Code | Description |
|---|---|---|
| 400 | invalid_request | The request body or query parameters are malformed. |
| 401 | unauthorized | Missing or invalid API key. |
| 403 | no_subscription | No active subscription for this API product. |
| 403 | quota_exceeded | Daily or monthly quota exceeded. |
| 404 | not_found | The requested resource does not exist. |
| 429 | rate_limit_exceeded | Too many requests. Check X-RateLimit-Remaining header. |
| 500 | internal_error | An unexpected server error occurred. |