Skip to content

Market Data APIs

Returns the most recent 5-minute dispatch prices for all or specified NEM regions.

Query Parameters:

ParameterTypeDefaultDescription
regionstringallFilter: NSW1, QLD1, SA1, TAS1, VIC1
interval_typestringdispatchdispatch (5-min) or trading (30-min)

Example Request:

Terminal window
GET /api/prices/latest?region=SA1

Example Response:

{
"data": {
"timestamp": "2025-03-21T05:30:00Z",
"interval_type": "dispatch",
"regions": {
"SA1": {
"price": 215.40,
"demand_mw": 1580,
"net_interchange_mw": -245,
"is_price_capped": false
}
}
},
"meta": {
"timestamp": "2025-03-21T05:30:12Z",
"data_source": "lakebase",
"query_ms": 11.2
}
}

Historical price time series with filtering.

Query Parameters:

ParameterTypeRequiredDescription
regionstringNoNEM region (default: all)
startISO 8601 dateNoStart date (default: 24h ago)
endISO 8601 dateNoEnd date (default: now)
intervalstringNo5min or 30min (default: 30min)
Terminal window
GET /api/prices/history?region=SA1&start=2025-03-14&end=2025-03-21&interval=30min

Current generation by fuel type.

Terminal window
GET /api/generation/latest?region=NSW1
# Response
{
"data": {
"timestamp": "2025-03-21T05:30:00Z",
"region_id": "NSW1",
"total_generation_mw": 8250,
"renewable_pct": 18.4,
"carbon_intensity_gco2_kwh": 710,
"fuel_mix": {
"black_coal": 4820,
"gas_ccgt": 820,
"gas_ocgt": 145,
"hydro": 320,
"wind": 890,
"solar_utility": 520,
"solar_rooftop": 680,
"battery": 55
}
}
}

Historical generation time series by fuel type.

Terminal window
GET /api/generation/history?region=QLD1&fuel_type=wind&start=2025-03-14

DUID-level generation data.

Terminal window
GET /api/generation/duid?region=SA1&fuel_type=battery
# Returns array of DUID records:
{
"data": [
{
"duid": "HPRL1",
"station_name": "Hornsdale Power Reserve",
"fuel_type": "battery",
"current_output_mw": 45.2,
"registered_capacity_mw": 150,
"utilisation_pct": 30.1
}
]
}

Current interconnector flows.

Terminal window
GET /api/interconnectors/latest
# Response
{
"data": {
"timestamp": "2025-03-21T05:30:00Z",
"interconnectors": {
"QNI": {"mw_flow": 782, "export_limit": 1078, "utilisation_pct": 72.5},
"VIC1-NSW1": {"mw_flow": -320, "import_limit": 1350, "utilisation_pct": 23.7},
"V-SA": {"mw_flow": 245, "export_limit": 650, "utilisation_pct": 37.7},
"BASSLINK": {"mw_flow": -120, "import_limit": 594, "utilisation_pct": 20.2}
}
}
}

All 8 FCAS service prices.

Terminal window
GET /api/fcas/latest
# Response
{
"data": {
"timestamp": "2025-03-21T05:30:00Z",
"services": {
"RAISEREG": {"price": 32.50, "enablement_mw": 890},
"LOWERREG": {"price": 18.20, "enablement_mw": 890},
"RAISE1SEC": {"price": 5.80, "enablement_mw": 420},
"LOWER1SEC": {"price": 2.10, "enablement_mw": 350},
"RAISE6SEC": {"price": 0.95, "enablement_mw": 1240},
"LOWER6SEC": {"price": 0.45, "enablement_mw": 980},
"RAISE60SEC": {"price": 0.12, "enablement_mw": 2100},
"LOWER60SEC": {"price": 0.08, "enablement_mw": 1850}
}
}
}

FCAS price history for one or more services.

Terminal window
GET /api/fcas/history?service=RAISE6SEC,LOWER6SEC&start=2025-03-14

Current weather for NEM regions.

Terminal window
GET /api/weather/latest?region=SA1
# Response
{
"data": {
"region_id": "SA1",
"observed_at": "2025-03-21T05:00:00Z",
"temperature_c": 28.4,
"humidity_pct": 62,
"wind_speed_ms": 8.2,
"solar_irradiance_wm2": 0
}
}

72-hour NWP weather forecast.

Terminal window
GET /api/weather/forecast?region=NSW1&horizon=72h

Today’s AI-generated daily market brief.

Terminal window
GET /api/market-brief/latest
# Response
{
"data": {
"brief_date": "2025-03-21",
"generated_at": "2025-03-21T05:32:14+10:00",
"brief_text": "## NEM Daily Market Brief — 21 March 2025\n\n...",
"word_count": 547,
"quality_score": 88
}
}

Brief for a specific date.

Terminal window
GET /api/market-brief/2025-03-15

Application health check.

Terminal window
GET /health
# Response
{
"status": "ok",
"sql_connected": true,
"lakebase_connected": true,
"lakebase_fresh": true,
"version": "1.0.0"
}

Data source connectivity and statistics.

Terminal window
GET /api/health/datasource
# Response
{
"lakebase": {
"connected": true,
"latency_ms": 12,
"queries_served": 14283,
"last_error": null
},
"sql_warehouse": {
"connected": true,
"latency_ms": 420,
"queries_served": 1842,
"last_error": null
}
}