AESO Energy Trading System (ETS) Public Reports

AESO's long-running Energy Trading System report servlets — the fully anonymous half of its data posture, and the reason market_data_open is true for AESO regardless of the API key on the newer gateway. Each report is a plain HTTP GET that accepts contentType=csv and returns machine-readable CSV with no key, no account, no login and no licence click-through. Confirmed live and anonymous on 2026-07-27: CSDReportServlet returned HTTP 200 with the Current Supply Demand report (Alberta Total Net Generation 10,430 MW, Net Actual Interchange 241 MW, Alberta Internal Load 10,189 MW, plus the generation mix by fuel — cogeneration, wind, combined cycle); SMPriceReportServlet returned HTTP 200 with the hourly Pool Price series including the thirty-day rolling average and AIL demand; DailyAveragePoolPriceReportServlet returned HTTP 200 with daily on-peak and off-peak averages; RealTimeShiftReportServlet, ActualForecastWMRQHReportServlet and HistoricalPoolPriceReportServlet all returned HTTP 200. There is no OpenAPI, no schema and no formal reference for this surface — AESO documents the report URLs on its Market and System Reporting page and nothing more — so it is recorded here as a verified public data surface rather than as a specified API.

API entry from apis.yml

apis.yml Raw ↑
aid: aeso:aeso-ets-public-reports
name: AESO Energy Trading System (ETS) Public Reports
description: 'AESO''s long-running Energy Trading System report servlets — the fully anonymous half of
  its data posture, and the reason market_data_open is true for AESO regardless of the API key on the
  newer gateway. Each report is a plain HTTP GET that accepts contentType=csv and returns machine-readable
  CSV with no key, no account, no login and no licence click-through. Confirmed live and anonymous on
  2026-07-27: CSDReportServlet returned HTTP 200 with the Current Supply Demand report (Alberta Total
  Net Generation 10,430 MW, Net Actual Interchange 241 MW, Alberta Internal Load 10,189 MW, plus the generation
  mix by fuel — cogeneration, wind, combined cycle); SMPriceReportServlet returned HTTP 200 with the hourly
  Pool Price series including the thirty-day rolling average and AIL demand; DailyAveragePoolPriceReportServlet
  returned HTTP 200 with daily on-peak and off-peak averages; RealTimeShiftReportServlet, ActualForecastWMRQHReportServlet
  and HistoricalPoolPriceReportServlet all returned HTTP 200. There is no OpenAPI, no schema and no formal
  reference for this surface — AESO documents the report URLs on its Market and System Reporting page
  and nothing more — so it is recorded here as a verified public data surface rather than as a specified
  API.'
humanURL: https://www.aeso.ca/market/market-and-system-reporting/
baseURL: http://ets.aeso.ca/ets_web/ip/Market/Reports
tags:
- Open Data
- CSV
- Pool Price
- Supply and Demand
- Outages
- Anonymous Access
- Alberta
properties:
- type: Documentation
  url: https://www.aeso.ca/market/market-and-system-reporting/
- type: Website
  url: http://ets.aeso.ca/