Skip to content
PG Pulse
PG Pulse

Try searching for

Local knowledge for your AI tools

Connect Cursor, VS Code, Codex or Claude Code. Free MCP access, no key needed.

Connect your AI assistant
View as MarkdownFree, no key needed

Power: API reference

3 endpoints. Base URL https://princegeorgepulse.ca/api/v1. Conventions (envelope, paging, fields, formats, limits) are on the overview. All endpoints.

GET /api/v1/power/outages #

BC Hydro outages within 150 km, plus regional and provincial totals.

  • Cache: 5 min (live source, cached on our server)
  • Source: BC Hydro outage map data
  • Licence: © BC Hydro. Public outage information, not openly licensed: shown with credit and a link to BC Hydro; check BC Hydro for current status

Also accepts fields (sparse fieldset) and format (json, md).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/power/outages"

Example response (trimmed)

json
{
  "data": {
    "nearby": [],
    "region": {
      "outages": 1,
      "customers": 80
    },
    "province": {
      "outages": 3,
      "customers": 108
    },
    "radiusKm": 150
  },
  "meta": {
    "source": "BC Hydro outage map data",
    "sourceUrl": "https://www.bchydro.com/power-outages/app/outage-map.html",
    "updatedAt": "2026-10-16T10:47:26.109Z",
    "ageSec": 55,
    "license": "© BC Hydro. Public outage information, not openly licensed: shown with credit and a link to BC Hydro; check BC Hydro for current status",
    "attribution": "BC Hydro, via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/power/outages",
    "next": null,
    "docs": "/developers/reference/power/#get-power-outages"
  }
}

GET /api/v1/power/rates #

BC Hydro residential rates (tiered, flat and time-of-day).

Also accepts fields (sparse fieldset) and format (json, md).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/power/rates"

Example response (trimmed)

json
{
  "data": {
    "source": "BC Hydro, Residential rates (tiered rate, flat rate and time-of-day pricing pages)",
    "sourceUrl": "https://www.bchydro.com/accounts-billing/rates-energy-use/electricity-rates/residential-rates.html",
    "asOf": "2026-09-30",
    "notes": "Rates as published on bchydro.com, checked weekly; these values were first seen on 2026-09-30. Estimates exclude GST and any rate riders or regional charges; your actual bill may differ.",
    "tiered": {
      "url": "https://www.bchydro.com/accounts-billing/rates-energy-use/electricity-rates/residential-rates/tiered.html",
      "basicChargeCentsPerDay": 23.44,
      "tier1CentsPerKwh": 11.87,
      "tier2CentsPerKwh": 14.08,
      "tier1KwhPerDay": 22.1918,
      "tier1ThresholdMonthlyKwh": 675,
      "tier1ThresholdBimonthlyKwh": 1350
    },
    "flat": {
      "url": "https://www.bchydro.com/accounts-billing/rates-energy-use/electricity-rates/residential-rates/flat.html",
      "basicChargeCentsPerDay": 25,
      "energyCentsPerKwh": 12.7
    },
    "timeOfDay": {
      "url": "https://www.bchydro.com/accounts-billing/rates-energy-use/electricity-rates/residential-rates/time-of-day.html",
      "onPeakSurchargeCentsPerKwh": 5,
      "onPeakHours": "4 to 9 p.m.",
      "overnightDiscountCentsPerKwh": 5,
      "overnightHours": "11 p.m. to 7 a.m.",
      "offPeakHours": "7 a.m. to 4 p.m. and 9 to 11 p.m."
    }
  },
  "meta": {
    "source": "BC Hydro, Residential rates (tiered rate, flat rate and time-of-day pricing pages)",
    "sourceUrl": "https://www.bchydro.com/accounts-billing/rates-energy-use/electricity-rates/residential-rates.html",
    "updatedAt": "2026-10-01T04:27:28.898Z",
    "ageSec": 1318853,
    "license": "BC Hydro published rates, with attribution",
    "attribution": "BC Hydro, via PG Pulse (princegeorgepulse.ca)",
    "dataset": "bchydro-rates",
    "asOf": "2026-09-30"
  },
  "links": {
    "self": "/api/v1/power/rates",
    "next": null,
    "docs": "/developers/reference/power/#get-power-rates"
  }
}

GET /api/v1/power/outages/history #

Recorded BC Hydro outage counts and customers affected (nearby, Northern region, province).

ParameterInTypeDescription
seriesquerystringOnly some of: outages.nearby.count, outages.nearby.customers, outages.region.count, outages.region.customers, outages.province.count, outages.province.customers.
fromquerystringStart: ISO date/datetime, or a span back from to such as 48h, 7d or 30d (default 7d). Example: 7d.
toquerystringEnd: ISO date/datetime (default now).
intervalquerystringraw (every recorded reading; kept 90 days), hour or day (hourly rollups, kept indefinitely), or auto (raw up to 3 days, hourly up to 120 days, then daily). One of: auto, raw, hour, day.

Also accepts fields (sparse fieldset) and format (json, md).

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/power/outages/history?from=48h"

Example response (trimmed)

json
{
  "data": [
    {
      "series": "outages.nearby.count",
      "label": "Power outages within 150 km",
      "unit": "outages",
      "interval": "raw",
      "truncated": false,
      "points": [
        {
          "t": "2026-10-14T10:50:00.000Z",
          "value": 0
        },
        {
          "t": "2026-10-14T10:55:00.000Z",
          "value": 0
        },
        "… 574 more"
      ]
    },
    {
      "series": "outages.nearby.customers",
      "label": "Customers without power within 150 km",
      "unit": "customers",
      "interval": "raw",
      "truncated": false,
      "points": [
        {
          "t": "2026-10-14T10:50:00.000Z",
          "value": 0
        },
        {
          "t": "2026-10-14T10:55:00.000Z",
          "value": 0
        },
        "… 574 more"
      ]
    },
    "… 4 more"
  ],
  "meta": {
    "source": "BC Hydro outage map data",
    "sourceUrl": "https://www.bchydro.com/power-outages/app/outage-map.html",
    "updatedAt": "2026-10-16T10:45:00.000Z",
    "ageSec": 201,
    "license": "© BC Hydro. Public outage information, not openly licensed: shown with credit and a link to BC Hydro; check BC Hydro for current status",
    "attribution": "The upstream named in each series (`meta.series.source`), via PG Pulse (princegeorgepulse.ca)",
    "from": "2026-10-14T10:48:21.000Z",
    "to": "2026-10-16T10:48:21.000Z",
    "interval": "raw",
    "series": [
      {
        "id": "outages.nearby.count",
        "source": "BC Hydro outage map data"
      },
      {
        "id": "outages.nearby.customers",
        "source": "BC Hydro outage map data"
      },
      "… 4 more"
    ]
  },
  "links": {
    "self": "/api/v1/power/outages/history?from=48h",
    "next": null,
    "docs": "/developers/reference/power/#get-power-outages-history"
  }
}

Add PG Pulse to your home screen

Your browser installs apps from its Share menu.

  1. Tap Share in the browser toolbar (at the bottom of the screen on iPhone, at the top on iPad).
  2. Scroll down and tap Add to Home Screen.
  3. Tap Add. PG Pulse opens from its icon like any other app.