The Alberta Electric System Operator (AESO) is the independent, not-for-profit system and market operator for Alberta's electricity system — a statutory body created under Alberta's Electric Utilities Act that dispatches generation and operates the Alberta Interconnected Electric System twenty-four hours a day for roughly five million Albertans, plans the transmission system, administers grid connections, and runs Alberta's energy-only wholesale market including price settlement and market rules. It sits in the middle of the value chain: it does not own generation, wires or retail customers, it clears the pool, publishes the Pool Price, and holds the market-wide operational data every generator, retailer and trader in Alberta depends on. Its API posture is unusually clean for the sector and is the exact opposite of a compliance story — there is no mandate on AESO at all. Alberta has no Consumer Data Right, no Green Button regulation (that is Ontario's, by regulation, and Nova Scotia's), and no consumer energy-data obligation of any kind, and AESO holds no retail customer usage or billing data, so the consumer-data half of this sector simply does not exist here. What AESO publishes voluntarily is a genuinely open market-data surface in two layers: the legacy Energy Trading System report servlets at ets.aeso.ca, which return real CSV and HTML market reports — current supply and demand, pool price, system marginal price, daily averages, outages — anonymously with no key, no account and no licence click-through; and a modern Azure API Management gateway at apimgw.aeso.ca fronting fourteen documented JSON APIs whose full reference, operations, schemas and OpenAPI export can be read anonymously from the public developer portal, and whose keys are issued self-serve — email confirmation, subscribe to the single "AESO Public API" product, keys generated instantly, no approval step. Authentication is a single API-KEY request header (or a subscription-key query parameter). The one real friction is legal rather than technical: AESO's site terms permit non-commercial, personal or educational use only, and any other use requires written permission.
AESO publishes 13 APIs on the APIs.io network, including AIES Gen Capacity API, Assetlist API, Csd API, and 10 more. Tagged areas include Energy, Canada, Alberta, Electricity, and Energy Markets.
AESO’s developer surface includes authentication, documentation, signup flow, support, engineering blog, API reference, getting-started guide, and 42 more developer resources.
Regulatory Posture applies to this provider. Its tags matched the
Energy & Utilities regime, so
Regulatory Posture carries 15 points of the composite.
If this regime is wrong for your business, say so on your
provider repo — the
applicability map is public and we will correct it.
Create-or-Update Ergonomics does not apply to this provider. The published contracts declare
no write operations, and a read-only API cannot create-or-update. The facet is excluded from this provider's
denominator entirely — not scored zero. A reference or data API is not deficient for being unable to
upsert.
The six quality facets above are damped to 85 points between them,
because the conditional facet above carries the other
15. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 85% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/aeso: open an issue to ask a question, or submit a pull request to add artifacts.
Submit an artifact on GitHub — free →Manage your own listing — the Influence plan, $499/mo →
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 ...
Take one coherent reading of the Alberta market — supply and demand balance, live system marginal price, and today's completed settlement-hour pool prices.
Reconstruct why Alberta's price cleared where it did — the offer stack, the units directed online, the outages that removed supply, and the resulting system marginal and pool pr...
aid: aeso
url: https://raw.githubusercontent.com/api-evangelist/aeso/refs/heads/main/apis.yml
name: AESO
kind: company
description: 'The Alberta Electric System Operator (AESO) is the independent, not-for-profit system and market operator for
Alberta''s electricity system — a statutory body created under Alberta''s Electric Utilities Act that dispatches generation
and operates the Alberta Interconnected Electric System twenty-four hours a day for roughly five million Albertans, plans
the transmission system, administers grid connections, and runs Alberta''s energy-only wholesale market including price
settlement and market rules. It sits in the middle of the value chain: it does not own generation, wires or retail customers,
it clears the pool, publishes the Pool Price, and holds the market-wide operational data every generator, retailer and trader
in Alberta depends on. Its API posture is unusually clean for the sector and is the exact opposite of a compliance story
— there is no mandate on AESO at all. Alberta has no Consumer Data Right, no Green Button regulation (that is Ontario''s,
by regulation, and Nova Scotia''s), and no consumer energy-data obligation of any kind, and AESO holds no retail customer
usage or billing data, so the consumer-data half of this sector simply does not exist here. What AESO publishes voluntarily
is a genuinely open market-data surface in two layers: the legacy Energy Trading System report servlets at ets.aeso.ca,
which return real CSV and HTML market reports — current supply and demand, pool price, system marginal price, daily averages,
outages — anonymously with no key, no account and no licence click-through; and a modern Azure API Management gateway at
apimgw.aeso.ca fronting fourteen documented JSON APIs whose full reference, operations, schemas and OpenAPI export can be
read anonymously from the public developer portal, and whose keys are issued self-serve — email confirmation, subscribe
to the single "AESO Public API" product, keys generated instantly, no approval step. Authentication is a single API-KEY
request header (or a subscription-key query parameter). The one real friction is legal rather than technical: AESO''s site
terms permit non-commercial, personal or educational use only, and any other use requires written permission.'
deliveryModel:
model: saas
open_source: false
commercial: true
callable_host: true
label: Hosted service · you call their endpoint
confidence: high
source:
- openapi
- pricing
generated: '2026-08-28'
method: derived
accessModel:
pricing: free
onboarding: open
trial: false
try_now: true
public: true
label: Free · Open access
confidence: high
source:
- plans
- authentication
- security
- sandbox
generated: '2026-09-02'
method: derived
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/aeso.png
tags:
- Energy
- Canada
- Alberta
- Electricity
- Energy Markets
- Grid
- System Operator
- Market Operator
- Open Energy Data
- Wholesale Power
- Demand Response
- Renewables
- Utilities
created: '2026-07-27'
modified: '2026-07-27'
specificationVersion: '0.23'
apis:
- 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 & Demand
- Outages
- Anonymous Access
- Alberta
tags_raw:
- 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/
- aid: aeso:aeso-aiesgencapacity-api
name: AESO AIES Gen Capacity API
description: The AIESGenCapacity API from AESO — 1 operation(s) for aiesgencapacity.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- AIESGenCapacity
properties:
- type: OpenAPI
url: openapi/aeso-aiesgencapacity-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- aid: aeso:aeso-assetlist-api
name: AESO Assetlist API
description: The Assetlist API from AESO — 1 operation(s) for assetlist.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- AssetList
tags_raw:
- Assetlist
properties:
- type: OpenAPI
url: openapi/aeso-assetlist-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- aid: aeso:aeso-csd-api
name: AESO Csd API
description: The Csd API from AESO — 2 operation(s) for csd.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- CSD
tags_raw:
- Csd
properties:
- type: OpenAPI
url: openapi/aeso-csd-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- aid: aeso:aeso-interchange-api
name: AESO Interchange API
description: The Interchange API from AESO — 1 operation(s) for interchange.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- Interchange
properties:
- type: OpenAPI
url: openapi/aeso-interchange-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- aid: aeso:aeso-load-api
name: AESO Load API
description: The Load API from AESO — 1 operation(s) for load.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- Load
properties:
- type: OpenAPI
url: openapi/aeso-load-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- aid: aeso:aeso-loadoutagereport-api
name: AESO Load Outage Report API
description: The LoadOutageReport API from AESO — 1 operation(s) for loadoutagereport.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- LoadOutageReport
properties:
- type: OpenAPI
url: openapi/aeso-loadoutagereport-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- aid: aeso:aeso-meritorder-api
name: AESO Merit Order API
description: The MeritOrder API from AESO — 1 operation(s) for meritorder.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- MeritOrder
properties:
- type: OpenAPI
url: openapi/aeso-meritorder-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- aid: aeso:aeso-meteredvolume-api
name: AESO Meteredvolume API
description: The Meteredvolume API from AESO — 1 operation(s) for meteredvolume.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- Meteredvolume
properties:
- type: OpenAPI
url: openapi/aeso-meteredvolume-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- aid: aeso:aeso-operatingreserveoffercontrol-api
name: AESO Operating Reserve Offer Control API
description: The OperatingReserveOfferControl API from AESO — 1 operation(s) for operatingreserveoffercontrol.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- OperatingReserveOfferControl
properties:
- type: OpenAPI
url: openapi/aeso-operatingreserveoffercontrol-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- aid: aeso:aeso-outage-api
name: AESO Outage API
description: The Outage API from AESO — 1 operation(s) for outage.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- Outage
properties:
- type: OpenAPI
url: openapi/aeso-outage-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- aid: aeso:aeso-poolparticipantlist-api
name: AESO Poolparticipantlist API
description: The Poolparticipantlist API from AESO — 1 operation(s) for poolparticipantlist.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- Poolparticipantlist
properties:
- type: OpenAPI
url: openapi/aeso-poolparticipantlist-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- aid: aeso:aeso-price-api
name: AESO Price API
description: The Price API from AESO — 3 operation(s) for price.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- Price
properties:
- type: OpenAPI
url: openapi/aeso-price-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- aid: aeso:aeso-unitcommitment-api
name: AESO Unit Commitment API
description: The UnitCommitment API from AESO — 1 operation(s) for unitcommitment.
humanURL: https://developer-apim.aeso.ca/api-details#api=poolprice-api-v1-1
baseURL: https://apimgw.aeso.ca/public/poolprice-api/v1.1
tags:
- UnitCommitment
properties:
- type: OpenAPI
url: openapi/aeso-unitcommitment-api-openapi.yml
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
common:
- type: Overlay
url: overlays/aeso-poolprice-api-v1-1-overlay.yaml
- type: Overlay
url: overlays/aeso-systemmarginalprice-api-v1-1-overlay.yaml
- type: Overlay
url: overlays/aeso-currentsupplydemand-api-v2-overlay.yaml
- type: Overlay
url: overlays/aeso-currentsupplydemand-api-v1-overlay.yaml
- type: Overlay
url: overlays/aeso-actualforecast-api-v1-overlay.yaml
- type: Overlay
url: overlays/aeso-aiesgencapacity-api-v1-overlay.yaml
- type: Overlay
url: overlays/aeso-loadoutageforecast-api-v1-overlay.yaml
- type: Overlay
url: overlays/aeso-itc-api-v1-overlay.yaml
- type: Overlay
url: overlays/aeso-energymeritorder-api-v1-overlay.yaml
- type: Overlay
url: overlays/aeso-meteredvolume-api-v1-overlay.yaml
- type: Overlay
url: overlays/aeso-operatingreserveoffercontrol-api-v1-overlay.yaml
- type: Overlay
url: overlays/aeso-assetlist-api-v1-overlay.yaml
- type: Overlay
url: overlays/aeso-poolparticipant-api-v1-overlay.yaml
- type: Overlay
url: overlays/aeso-unitcommitmentdata-api-v2-overlay.yaml
- type: X-MCPServerCandidate
url: mcp/aeso-mcp.yml
note: 'Renamed from MCPServer 2026-09-03 (roadmap#247): the manifest self-describes as status: candidate — a tool list derived
from the published API contracts, not an existing server. The scorer already read the manifest and reported mcp_server
correctly; the MCPServer type was crediting the artifact-type surfaces with a server that does not exist.'
- type: AgenticAccess
url: agentic-access/aeso-agentic-access.yml
- type: DomainSecurity
url: security/aeso-domain-security.yml
- type: Authentication
url: authentication/aeso-authentication.yml
- type: Website
url: https://www.aeso.ca/
- type: DeveloperPortal
url: https://developer-apim.aeso.ca/
- type: Documentation
url: https://www.aeso.ca/market/market-and-system-reporting/aeso-application-programming-interface-api/
- type: Onboarding
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- type: SignUp
url: https://developer-apim.aeso.ca/signup
- type: SignIn
url: https://developer-apim.aeso.ca/signin
- type: Plans
url: https://developer-apim.aeso.ca/products
- type: TermsOfService
url: https://www.aeso.ca/legal/
- type: Support
url: mailto:info@aeso.ca
- type: Blog
url: https://www.aeso.ca/aeso/newsroom/
- type: LinkedIn
url: https://www.linkedin.com/company/25743
- type: Twitter
url: https://twitter.com/theaeso
- type: APIReference
url: https://developer-apim.aeso.ca/apis
- type: GettingStarted
url: https://www.aeso.ca/assets/downloads/external/api/API-Access-Instructions-APIM-API-Gateway.pdf
- type: PrivacyPolicy
url: https://www.aeso.ca/privacy/
- type: Plans
url: plans/aeso-plans.yml
- type: ChangeLog
url: changelog/aeso-changelog.yml
- type: Lifecycle
url: lifecycle/aeso-lifecycle.yml
- type: Conventions
url: conventions/aeso-conventions.yml
- type: ErrorCatalog
url: errors/aeso-problem-types.yml
- type: Conformance
url: conformance/aeso-conformance.yml
- type: DataModel
url: data-model/aeso-data-model.yml
- type: Examples
url: examples/aeso-examples.yml
- type: Packages
url: packages/aeso-packages.yml
- type: Sandbox
url: sandbox/aeso-sandbox.yml
- type: ToolCrosswalk
url: mcp/aeso-tool-crosswalk.yml
- type: LLMsTxt
url: llms/aeso-llms.txt
- type: AgentSkill
url: skills/_index.yml
- type: Arazzo
url: arazzo/aeso-market-snapshot.yaml
name: AESO live market snapshot
- type: Arazzo
url: arazzo/aeso-asset-drilldown.yaml
name: AESO asset drilldown
- type: Arazzo
url: arazzo/aeso-price-formation.yaml
name: AESO price formation trace
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.