# Manitoba Hydro > Manitoba Hydro is the provincial Crown corporation that generates, transmits and distributes electricity and distributes natural gas across Manitoba, Canada, serving 632,117 electric customers and 300,789 natural gas customers. It runs no developer programme: there is no developer portal, no API keys, no OpenAPI, no SDKs, and no terms governing data reuse. Despite that, several real, anonymous, live data surfaces exist as a by-product of public map publishing — current and planned power outages over Esri ArcGIS REST and OGC WFS 2.0.0 refreshed every five minutes, an on-domain ArcGIS Server reference-geography directory, and a KISTERS hydrological monitoring application serving same-day readings for 158+ gauging stations as JSON. Consumer energy data is entirely closed: Manitoba has no consumer energy data mandate and Manitoba Hydro has no advanced metering infrastructure, so no interval consumption data exists to serve. Generated by API Evangelist on 2026-07-27 from https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/apis.yml — this file was authored by API Evangelist, not by Manitoba Hydro, because Manitoba Hydro serves no /llms.txt (HTTP 404). ## Read this first - [Authentication profile](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/authentication/manitoba-hydro-authentication.yml): There is no authentication. Every catalogued surface answers an anonymous HTTPS GET. Nothing to register for, nothing to rotate. - [API conventions](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/conventions/manitoba-hydro-conventions.yml): Format via `f=json|geojson|pbf`, paging via `resultOffset`/`resultRecordCount` with `exceededTransferLimit` on the response, filtering via a SQL-92 `where` clause, dates as epoch milliseconds. - [Error catalog](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/errors/manitoba-hydro-problem-types.yml): **The ArcGIS surfaces return HTTP 200 on application errors.** Check for a top-level `error` key before reading `features`. The `www.hydro.mb.ca` host also sits behind an F5 firewall that answers non-browser requests with HTTP 200 and an HTML "Request Rejected" page. - [Lifecycle](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/lifecycle/manitoba-hydro-lifecycle.yml): No versioning policy, no deprecation policy, no SLA, no status page, no changelog, no data licence. One surface has already been silently forked and abandoned in place. ## APIs - [Manitoba Hydro Current Power Outages](https://www.arcgis.com/home/item.html?id=607ef103b2934e3fbbbc7b05c4c3df34): Live unplanned outage polygons with cause, crew status, estimated restoration time and customers affected. Base `https://services2.arcgis.com/QoeQkfdOG126FqSi/arcgis/rest/services/Manitoba_Hydro_Current_Power_Outages/FeatureServer`. Layer 0 only. Query-only. - [Manitoba Hydro Planned Power Outages](https://www.arcgis.com/home/item.html?id=016914ea3b28449e8205e07c04a92d51): Scheduled outage orders with start/end window, device, address and service centre. Base `https://services2.arcgis.com/QoeQkfdOG126FqSi/arcgis/rest/services/Manitoba_Hydro_Planned_Power_Outages/FeatureServer`. Updated every 5 minutes. - [Manitoba Hydro ArcGIS Server Reference Data](https://maps.hydro.mb.ca/arcgis/rest/services?f=json): ArcGIS Server 10.91 REST directory on Manitoba Hydro's own domain. `ReferenceData/MH_AdminBoundaries` exposes customer service centres, locate areas and station areas. The host root returns HTTP 403; only the `/arcgis/rest/services` tree responds. - [Manitoba Hydro Hydrological Data](https://www.hydro.mb.ca/corporate/operations/water-levels/hydrological-data/): 169 gauging stations, 15 monitored parameters (water level, water and air temperature, precipitation, wind, humidity, pressure, snow depth). Base `https://www.hydro.mb.ca/hydrologicalData/static/data/`. Latest value per station only — no history endpoint. ## Machine-readable contracts Manitoba Hydro publishes no OpenAPI, AsyncAPI, GraphQL schema, or Postman collection. `/openapi.json`, `/swagger.json` and `/api-docs` return HTTP 404 on every host. The only formal contracts are these, saved verbatim from the live services: - [Current outages WFS 2.0.0 capabilities](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/wfs/manitoba-hydro-current-power-outages-wfs-capabilities.xml) - [Current outages WFS DescribeFeatureType schema](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/wfs/manitoba-hydro-current-power-outages-describefeaturetype.xsd) - [Planned outages WFS 2.0.0 capabilities](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/wfs/manitoba-hydro-planned-power-outages-wfs-capabilities.xml) - [Planned outages WFS DescribeFeatureType schema](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/wfs/manitoba-hydro-planned-power-outages-describefeaturetype.xsd) ## Schemas derived by API Evangelist - [Current power outages attributes](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/json-schema/manitoba-hydro-current-power-outages.schema.json) - [Planned power outages attributes](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/json-schema/manitoba-hydro-planned-power-outages.schema.json) - [Customer service centres attributes](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/json-schema/manitoba-hydro-customer-service-centres.schema.json) - [Locate areas attributes](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/json-schema/manitoba-hydro-locate-areas.schema.json) - [Station areas attributes](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/json-schema/manitoba-hydro-station-areas.schema.json) - [Hydrological observation file](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/json-schema/manitoba-hydro-hydrological-timeseries.schema.json) - [Data model and inferred joins](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/data-model/manitoba-hydro-data-model.yml) ## Examples Real captured responses, not constructed samples — see the [index](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/examples/_index.yml). - [Current outages layer metadata](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/examples/manitoba-hydro-current-power-outages-layer-metadata.json) - [Current outages query response](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/examples/manitoba-hydro-current-power-outages-query-response.json) - [Planned outages layer metadata](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/examples/manitoba-hydro-planned-power-outages-layer-metadata.json) - [Planned outages query response](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/examples/manitoba-hydro-planned-power-outages-query-response.json) - [ArcGIS error response (HTTP 200 with an error body)](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/examples/manitoba-hydro-arcgis-error-response.json) - [Hydrological parameter index](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/examples/manitoba-hydro-hydrological-parameter-index.json) ## Recipes Count current outages: ``` GET https://services2.arcgis.com/QoeQkfdOG126FqSi/arcgis/rest/services/Manitoba_Hydro_Current_Power_Outages/FeatureServer/0/query?where=1%3D1&returnCountOnly=true&f=json ``` List current outages as attributes in WGS84 GeoJSON: ``` GET https://services2.arcgis.com/QoeQkfdOG126FqSi/arcgis/rest/services/Manitoba_Hydro_Current_Power_Outages/FeatureServer/0/query?where=1%3D1&outFields=*&outSR=4326&f=geojson ``` Planned outages starting in the next 24 hours: ``` GET https://services2.arcgis.com/QoeQkfdOG126FqSi/arcgis/rest/services/Manitoba_Hydro_Planned_Power_Outages/FeatureServer/0/query?where=SCHEDULED_START_TIME+BETWEEN+CURRENT_TIMESTAMP+AND+CURRENT_TIMESTAMP+%2B+INTERVAL+%271%27+DAY&outFields=*&returnGeometry=false&f=json ``` Latest water level for every reporting gauging station (send a browser User-Agent and `Referer: https://www.hydro.mb.ca/hydrologicalData/static/`): ``` GET https://www.hydro.mb.ca/hydrologicalData/static/data/tsdata.json # parameter index, pid 1 = Water Level GET https://www.hydro.mb.ca/hydrologicalData/static/data/1.json # 158 stations, latest reading each GET https://www.hydro.mb.ca/hydrologicalData/static/data/stationdata.json # station metadata, join on station number ``` ## Security and standards - [security.txt (RFC 9116)](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/well-known/manitoba-hydro-security.txt) — Contact `mailto:website-security@hydro.mb.ca` - [Well-known index](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/well-known/manitoba-hydro-well-known.yml) — security.txt is the only document served; no OIDC, no OAuth metadata, no api-catalog - [Conformance](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/conformance/manitoba-hydro-conformance.yml) — conforms to OGC WFS 2.0.0, OWS 1.1 exceptions, GML 3.2 and RFC 9116; conforms to no energy data standard (no Green Button/ESPI, no CDR, no IEC CIM, no IEEE 2030.5, no OpenADR) - [Domain security probe](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/security/manitoba-hydro-domain-security.yml) - [Vulnerability disclosure](https://raw.githubusercontent.com/api-evangelist/manitoba-hydro/refs/heads/main/security/manitoba-hydro-vulnerability-disclosure.yml) ## What does not exist Do not go looking for these — every one was probed and is absent: - No developer portal, no `developer.hydro.mb.ca`, `api.hydro.mb.ca`, `docs.hydro.mb.ca`, `data.hydro.mb.ca` or `opendata.hydro.mb.ca` (all fail DNS resolution) - No OpenAPI, Swagger, AsyncAPI, GraphQL, or Postman collection - No SDKs or client libraries in any package registry, and no GitHub organization - No MCP server, no agent skills, no CLI, no sandbox, no embedded components - No webhooks, events, or streaming — outage data is polled, never pushed - No consumer energy data API. Manitoba has no consumer energy data mandate, Manitoba Hydro has no advanced metering infrastructure (the 2006-2009 smart meter pilot was not continued), and the only consumer surface is an interactive login at `https://account.hydro.mb.ca/Portal` - No wholesale market data. Manitoba Hydro trades into MISO and other markets, but that data is published by the operators, not by Manitoba Hydro - No data licence. The ArcGIS items carry `licenseInfo: null` and nothing grants reuse rights ## Corporate - [Website](https://www.hydro.mb.ca/) - [About](https://www.hydro.mb.ca/corporate/) - [Outages](https://www.hydro.mb.ca/outages/) - [Support](https://www.hydro.mb.ca/support/) - [Contact](https://www.hydro.mb.ca/support/contact/) - [Terms of use](https://www.hydro.mb.ca/terms-of-use/) — includes the privacy statement at `#privacy` - [News and articles](https://www.hydro.mb.ca/articles/) - [Customer account portal](https://account.hydro.mb.ca/Portal)