AESO Pool Price Report API

The hourly Alberta Pool Price — the settlement price of the province's energy-only wholesale electricity market — served as JSON for any date range back to 2000-01-01, up to one year per request. Each settlement hour returns the UTC and Mountain Prevailing Time begin timestamps, the pool price in CAD, the forecast pool price, and the thirty-day rolling average. Confirmed live on 2026-07-27: an anonymous GET to the gateway route returned HTTP 401 with "Access denied due to missing subscription key" (a nonexistent path on the same gateway returns HTTP 404), which confirms the route is real and that the only barrier is the free self-serve key.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aeso-pool-price-report-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aeso-poolprice-api-v1-1-openapi.json Raw ↑
{
  "openapi": "3.0.1",
  "info": {
    "title": "Pool Price Report",
    "description": "Pool Price report data",
    "version": "v1.1"
  },
  "servers": [
    {
      "url": "https://apimgw.aeso.ca/public/poolprice-api"
    },
    {
      "url": "https://gateway-apim.aeso.ca/public/poolprice-api"
    }
  ],
  "paths": {
    "/price/poolPrice": {
      "get": {
        "operationId": "getPoolPriceDateRangeReport",
        "summary": "Fetch pool price report for a given date range",
        "description": "Fetch pool price report for the date range: startDate (yyyy-mm-dd) to endDate (yyyy-mm-dd). The endDate is optional. If endDate is omitted, fetched data will include the pool price values for all the completed settlement hours of the day specified by startDate.\r\n\r\nTo fetch the latest pool price, include the date of that hour in your query.\r\n\r\n \r\n\r\nThe API will return data for a maximum of 1 year at a time.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MarketPriceDemandDataReport"
                },
                "examples": {
                  "default": {
                    "value": {
                      "Pool Price Report": [
                        {
                          "begin_datetime_utc": "string",
                          "begin_datetime_mpt": "string",
                          "pool_price": "string",
                          "forecast_pool_price": "string",
                          "rolling_30day_avg": "string"
                        }
                      ]
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          },
          "404": {
            "description": "Not Found"
          },
          "405": {
            "description": "Invalid method"
          },
          "500": {
            "description": "Internal server error"
          },
          "503": {
            "description": "Service unavailable"
          }
        },
        "parameters": [
          {
            "name": "startDate",
            "in": "query",
            "required": true,
            "description": "Any date between 2000-01-01 and current date.  (format: yyyy-MM-dd).",
            "schema": {
              "$ref": "#/components/schemas/PricePoolPriceGetRequest"
            }
          },
          {
            "name": "endDate",
            "in": "query",
            "required": false,
            "description": "Any date up to current date but after startDate. If left blank, only data for startDate will be returned. (format: yyyy-MM-dd).",
            "schema": {
              "$ref": "#/components/schemas/PricePoolPriceGetRequest-1"
            }
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "apiKeyHeader": {
        "type": "apiKey",
        "name": "API-KEY",
        "in": "header"
      },
      "apiKeyQuery": {
        "type": "apiKey",
        "name": "subscription-key",
        "in": "query"
      }
    },
    "schemas": {
      "MarketPriceDemandDataReport": {
        "type": "object",
        "properties": {
          "Pool Price Report": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MarketPriceDemandDataVO"
            }
          }
        }
      },
      "MarketPriceDemandDataVO": {
        "type": "object",
        "properties": {
          "begin_datetime_utc": {
            "type": "string",
            "description": "The begin timestamp of the settlement hour, in UTC."
          },
          "begin_datetime_mpt": {
            "type": "string",
            "description": "The begin timestamp of the settlement hour, in MPT (Mountain Prevailing Time) "
          },
          "pool_price": {
            "type": "string",
            "description": "The Pool Price for the settlement hour, in CAD."
          },
          "forecast_pool_price": {
            "type": "string",
            "description": "The Forecasted Pool Price for the settlement hour, in CAD."
          },
          "rolling_30day_avg": {
            "type": "string",
            "description": "The 30-day rolling average price for the settlement hour, in CAD."
          }
        }
      },
      "PricePoolPriceGetRequest": {
        "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$",
        "type": "string",
        "x-apim-inline": true
      },
      "PricePoolPriceGetRequest-1": {
        "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$",
        "type": "string",
        "x-apim-inline": true
      }
    }
  },
  "security": [
    {},
    {
      "apiKeyHeader": []
    },
    {
      "apiKeyQuery": []
    }
  ],
  "x-provenance": {
    "harvestedBy": "API Evangelist",
    "harvestedOn": "2026-07-27",
    "sourcePortal": "https://developer-apim.aeso.ca/",
    "method": "Assembled verbatim from the AESO Azure API Management developer-portal data API, which is served anonymously. AESO's own OpenAPI export (?export=true&format=openapi) returns a valid document with an EMPTY paths object, so paths, parameters, responses, examples and component schemas were read from the portal's operations/ and schemas/ endpoints and reassembled without alteration. Nothing was invented.",
    "sources": [
      {
        "url": "https://developer-apim.aeso.ca/developer/apis/poolprice-api-v1-1?api-version=2022-04-01-preview",
        "status": 200,
        "note": "API metadata"
      },
      {
        "url": "https://developer-apim.aeso.ca/developer/apis/poolprice-api-v1-1?export=true&format=openapi%2Bjson&api-version=2022-04-01-preview",
        "status": 200,
        "note": "AESO OpenAPI export (empty paths) - basis for info/servers/security"
      },
      {
        "url": "https://developer-apim.aeso.ca/developer/apis/poolprice-api-v1-1/operations?api-version=2022-04-01-preview",
        "status": 200,
        "note": "operation list"
      },
      {
        "url": "https://developer-apim.aeso.ca/developer/apis/poolprice-api-v1-1/schemas?api-version=2022-04-01-preview",
        "status": 200,
        "note": "schema list"
      },
      {
        "url": "https://developer-apim.aeso.ca/developer/apis/poolprice-api-v1-1/operations/getPoolPriceDateRangeReport?api-version=2022-04-01-preview",
        "status": 200,
        "note": "operation detail"
      },
      {
        "url": "https://developer-apim.aeso.ca/developer/apis/poolprice-api-v1-1/schemas/675b18683d594b1e2075ef0a?api-version=2022-04-01-preview",
        "status": 200,
        "note": "schema document"
      }
    ]
  }
}