Skip to main content
GET
/
api
/
v1
/
grid
/
system-state
Get grid system state (authenticated)
curl --request GET \
  --url https://api.powersignals.co.za/api/v1/grid/system-state \
  --header 'X-API-KEY: <api-key>'
{
  "meta": {
    "interval": "1h",
    "derived": true,
    "start": "<string>",
    "end": "<string>",
    "dataset": "grid.system_state",
    "timezone": "UTC",
    "schema_version": "1.0"
  },
  "data": [
    {}
  ]
}

Documentation Index

Fetch the complete documentation index at: https://powersignals.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Returns South African grid system state data for a given time range.. This is the primary endpoint for accessing generation mix, imports/exports, and derived grid metrics.

Use Cases

  • Monitor the current state of the South African power grid
  • Track renewable energy penetration over time
  • Detect OCGT ramp events (indicators of grid stress)
  • Build energy forecasting models with historical data

Intervals

IntervalDescription
1hRaw hourly readings from Eskom
1dDaily aggregation (averages, max ramp events)

Data Fields (Hourly)

Each record in the data array contains:
FieldUnitDescription
tsISO-8601Timestamp (UTC)
residual_demand_mwMWSystem demand minus RE generation
residual_forecast_mwMWForecasted residual demand
thermal_mwMWCoal-fired generation
nuclear_mwMWNuclear generation
eskom_gas_mwMWEskom gas turbine output
eskom_ocgt_mwMWOpen-cycle gas turbine output
hydro_water_mwMWHydro generation
wind_mwMWWind generation
pv_mwMWSolar PV generation
total_re_mwMWTotal renewable generation
imports_mwMWPower imports
exports_mwMWPower exports
net_import_mwMWImports minus exports
renewable_share_pct%Renewable % of total generation
ocgt_ramp_mwMWHour-over-hour OCGT change
forecast_error_mwMWActual minus forecast residual demand

Authorizations

X-API-KEY
string
header
required

Query Parameters

end
string
required

End datetime in ISO-8601 format (e.g. 2026-01-02T00:00:00Z).

interval
enum<string>

Data resolution. Defaults to 1h.

Available options:
1d,
1h
start
string
required

Start datetime in ISO-8601 format (e.g. 2026-01-01T00:00:00Z).

Response

meta
object
required
data
object[]
required