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

Living: API reference

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

GET /api/v1/costs/household #

Household cost estimate: rent or property tax, electricity, natural gas, City utilities, gasoline and transit, monthly and yearly.

Give any of the inputs (all optional; defaults are a two-bedroom rented apartment with electric heat, two people and one car). Each line has source, sourceUrl, asOf, the basis of the number and whether it rests on an assumption (a published average or a default you can replace). Insurance is not estimated: links point to where to price it. An estimate from published averages and rates, not a quote: your own use, rent and bills will differ. Every line names its source, as-of date and assumption; lines whose data is missing are listed in unavailable.

ParameterInTypeDescription
tenurequerystringrent or own. One of: rent, own. Example: rent.
homequerystringHome type. One of: apartment, townhouse, house. Example: apartment.
bedsqueryintegerBedrooms: 0 (bachelor) to 3 (3 or more). Example: 2.
heatquerystringMain heating: electric or gas. One of: electric, gas.
peoplequeryintegerPeople in the household (for the per-person figure). Example: 2.
carsqueryintegerCars (0 to 4). Example: 1.
kmqueryintegerKilometres driven a week, all cars (default 200 per car, an assumption).
lp100querynumberFuel use, litres per 100 km (default 10, an assumption).
adultPassesqueryintegerAdult 30-day transit passes a month.
concessionPassesqueryintegerSenior or youth 30-day passes a month.
cartquerystringGarbage cart size (detached houses). One of: small, medium, large.
grantquerystringHome owner grant (owners): basic, senior or none. One of: basic, senior, none.
cityUtilsquerybooleanInclude the City water, sewer and garbage bill (default: owners and detached houses).
assessedqueryintegerAssessed value for property tax (owners; default the typical value for the home type).
kwhqueryintegerYour electricity use, kWh a month (default the published average for the home and heating).
gjquerynumberYour natural gas use, GJ a month (default the utility’s example bill).
rentqueryintegerYour rent a month (default the average rent for the bedrooms).

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/costs/household?tenure=rent&home=apartment&beds=2&heat=electric&cars=1"

Example response (trimmed)

json
{
  "data": {
    "inputs": {
      "tenure": "rent",
      "home": "apartment",
      "beds": 2,
      "heat": "electric",
      "people": 2,
      "cars": 1,
      "km": 200,
      "lp100": 10,
      "adultPasses": 0,
      "concessionPasses": 0,
      "cart": "medium",
      "grant": "basic",
      "…": "5 more keys"
    },
    "lines": [
      {
        "id": "rent",
        "label": "Rent",
        "monthly": 1422,
        "source": "CMHC Rental Market Survey (via Statistics Canada table 34-10-0133)",
        "sourceUrl": "https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3410013301",
        "asOf": "2025-10",
        "basis": "Average rent for a two-bedroom unit in Prince George census agglomeration, October 2025 survey (CMHC Rental Market Survey: purpose-built rentals of three or more units, all tenants including long-time ones, so asking …",
        "assumption": true,
        "yearly": 17064
      },
      {
        "id": "electricity",
        "label": "Electricity",
        "monthly": 50.46,
        "source": "BC Hydro residential tiered rate",
        "sourceUrl": "https://www.bchydro.com/accounts-billing/rates-energy-use/electricity-rates/residential-rates/tiered.html",
        "asOf": "2026-09-30",
        "basis": "365 kWh a month on the residential tiered rate: basic charge 23.44¢ a day, 365 kWh at 11.87¢. Before GST.",
        "assumption": true,
        "assumptionNote": "Use: BC Hydro's average for an apartment with electric heat; a province-wide average, and winters here can push use higher.",
        "useSourceUrl": "https://www.bchydro.com/powersmart/residential/energy-explained.html",
        "yearly": 605.52
      },
      "… 1 more"
    ],
    "total": {
      "monthly": 1634.61,
      "yearly": 19615.32
    },
    "perPerson": {
      "monthly": 817.31
    },
    "unavailable": [],
    "notes": [
      "Car insurance, payments, parking and repairs are not included: see the insurance links."
    ],
    "query": "tenure=rent&home=apartment",
    "links": [
      {
        "id": "icbc",
        "label": "ICBC Basic Autoplan",
        "url": "https://www.icbc.com/insurance/products-coverage/basic-insurance",
        "note": "Car insurance is mandatory in BC and priced per driver and vehicle: get a quote from ICBC or a broker."
      },
      {
        "id": "tenant-insurance",
        "label": "Tenant insurance (Insurance Bureau of Canada)",
        "url": "https://www.ibc.ca/insurance-basics/home",
        "note": "What tenant insurance covers; prices come from insurers."
      },
      "… 2 more"
    ],
    "page": "/tools/household-costs/?tenure=rent&home=apartment",
    "note": "An estimate from published averages and rates, not a quote: your own use, rent and bills will differ. Every line names its source, as-of date and assumption; lines whose data is missing are listed in `unavailable`."
  },
  "meta": {
    "source": "Published rates: CMHC (via Statistics Canada), BC Hydro, FortisBC, the City, BC Assessment, Natural Resources Canada, the transit operator",
    "sourceUrl": "https://princegeorgepulse.ca/tools/household-costs/",
    "updatedAt": "2026-10-15T12:00:00Z",
    "ageSec": 82105,
    "license": "Mixed: see each item’s source",
    "attribution": "Published rates: CMHC (via Statistics Canada), BC Hydro, FortisBC, the City, BC Assessment, Natural Resources Canada, the transit operator, via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/costs/household?tenure=rent&home=apartment&beds=2&heat=electric&cars=1",
    "next": null,
    "docs": "/developers/reference/living/#get-costs-household"
  }
}

GET /api/v1/costs/rates #

The rates and published averages behind the household cost calculator, each with its source and date.

Average rents by bedroom (CMHC), the electricity and natural gas rates, typical monthly energy use published by the utilities, City flat utility rates, the residential tax rate and home owner grant, typical assessed values, the city’s average regular gasoline price and 30-day transit pass prices. A part whose data is missing is null.

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

Example request

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

Example response (trimmed)

json
{
  "data": {
    "rent": {
      "bedrooms": [
        {
          "beds": 0,
          "label": "Bachelor",
          "value": 940,
          "year": 2025
        },
        {
          "beds": 1,
          "label": "One bedroom",
          "value": 1214,
          "year": 2025
        },
        "… 2 more"
      ],
      "source": "CMHC Rental Market Survey (via Statistics Canada table 34-10-0133)",
      "sourceUrl": "https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3410013301",
      "asOf": "2025-10",
      "geography": "Prince George census agglomeration",
      "survey": "October 2025 survey"
    },
    "hydro": {
      "plan": "residential tiered",
      "basicCentsPerDay": 23.44,
      "tier1Cents": 11.87,
      "tier2Cents": 14.08,
      "tier1KwhPerDay": 22.1918,
      "source": "BC Hydro residential tiered rate",
      "sourceUrl": "https://www.bchydro.com/accounts-billing/rates-energy-use/electricity-rates/residential-rates/tiered.html",
      "asOf": "2026-09-30"
    },
    "use": {
      "kwh": {
        "house": {
          "electric": 1279,
          "other": 728
        },
        "apartment": {
          "electric": 365,
          "other": 198
        }
      },
      "gj": 8,
      "source": "BC Hydro",
      "sourceUrl": "https://www.bchydro.com/powersmart/residential/energy-explained.html",
      "gasSource": "FortisBC",
      "gasSourceUrl": "https://www.fortisbc.com/accounts/billing-rates/natural-gas-rates/residential-rates",
      "asOf": "2026-10-01"
    },
    "gas": {
      "basicPerDay": 0.4216,
      "deliveryPerGJ": 8.469,
      "storagePerGJ": 2.472,
      "costPerGJ": 1.66,
      "source": "FortisBC residential rate (Mainland and Vancouver Island)",
      "sourceUrl": "https://www.fortisbc.com/accounts/billing-rates/natural-gas-rates/residential-rates",
      "asOf": "2026-07-01"
    },
    "utilities": {
      "year": 2026,
      "single": {
        "water": 330,
        "sewer": 330,
        "garbageSmall": 96,
        "garbageMedium": 126.5,
        "garbageLarge": 153
      },
      "strata": {
        "water": 258,
        "sewer": 252,
        "garbageSmall": 96,
        "garbageMedium": 126.5,
        "garbageLarge": 153
      },
      "source": "City of Prince George flat utility rates",
      "sourceUrl": "https://www.princegeorge.ca/city-services/utilities-taxes/paying-your-bill"
    },
    "tax": {
      "year": 2026,
      "totalRate": 9.7125,
      "grant": {
        "basic": 770,
        "senior": 1045,
        "threshold": 2075000,
        "phaseOutPer1000": 5,
        "minTaxBasic": 350,
        "minTaxSenior": 100
      },
      "typical": {
        "house": 459000,
        "strata": 273000,
        "source": "BC Assessment typical assessed values",
        "sourceUrl": "https://www.globenewswire.com/news-release/2026/01/02/3212222/0/en/BC-Assessment-North-Central-BC-2026-Property-Assessments-Announced.html",
        "asOf": "2025-07-01"
      },
      "source": "City of Prince George residential tax rates",
      "sourceUrl": "https://www.princegeorge.ca/sites/default/files/2026-05/2026%20TAX%20RATES.pdf",
      "grantUrl": "https://www2.gov.bc.ca/gov/content/taxes/property-taxes/annual-property-tax/home-owner-grant"
    },
    "fuel": {
      "centsPerLitre": 187.1,
      "date": "2026-10-15",
      "label": "regular, daily city average",
      "source": "Natural Resources Canada average retail prices",
      "sourceUrl": "/fuel/",
      "stale": false
    },
    "transit": {
      "adult": 65,
      "adultLabel": "30 Day Adult Pass (Adult (19–64))",
      "concession": 55,
      "concessionLabel": "30 Day Concession Pass (seniors 65+, youth 13–18)",
      "source": "BC Transit: Prince George fares",
      "sourceUrl": "https://www.bctransit.com/prince-george/fares/",
      "asOf": "2026-09-06"
    },
    "datasets": [
      {
        "id": "housing-rents",
        "title": "Average rents and vacancy rates (CMHC)",
        "source": "Canada Mortgage and Housing Corporation Rental Market Survey, via Statistics Canada table 34-10-0133 and 34-10-0128",
        "sourceUrl": "https://www150.statcan.gc.ca/t1/tbl1/en/tv.action?pid=3410013301",
        "licence": "Statistics Canada Open Licence (https://www.statcan.gc.ca/en/reference/licence)",
        "asOf": "2025-10",
        "checkedAt": "2026-10-01T04:27:12.099Z",
        "stale": false
      },
      {
        "id": "bchydro-rates",
        "title": "BC Hydro residential rates",
        "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",
        "licence": "BC Hydro published rates, with attribution",
        "asOf": "2026-09-30",
        "checkedAt": "2026-10-12T13:20:28.607Z",
        "stale": false
      },
      "… 6 more"
    ]
  },
  "meta": {
    "source": "Published rates: CMHC (via Statistics Canada), BC Hydro, FortisBC, the City, BC Assessment, Natural Resources Canada, the transit operator",
    "sourceUrl": "https://princegeorgepulse.ca/tools/household-costs/",
    "updatedAt": "2026-10-12T13:20:29.126Z",
    "ageSec": 336475,
    "license": "Mixed: see each item’s source",
    "attribution": "Published rates: CMHC (via Statistics Canada), BC Hydro, FortisBC, the City, BC Assessment, Natural Resources Canada, the transit operator, via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/costs/rates",
    "next": null,
    "docs": "/developers/reference/living/#get-costs-rates"
  }
}

GET /api/v1/internet/providers #

Internet providers in the city or a neighbourhood: technologies and how much of the area each reports covering.

From ISED’s National Broadband Data (hexagons of about 25 km²). For each provider: the technologies it reports (fibre, cable, DSL, fixed wireless, satellite, mobile), the hexagons, and sharePct, the share of the area’s hexagons with homes where it reports a home (non-mobile) service. ISED does not publish speeds by provider; meta.area.homes5010 counts hexagons by the share of homes that can get 50/10 Mbps. Availability is as reported by providers to Innovation, Science and Economic Development Canada for hexagons of about 25 km²; a provider listed in a hexagon may not reach every street or home in it. It is not a guarantee of service: check your address with the provider.

ParameterInTypeDescription
neighbourhoodquerystringNeighbourhood slug (see /internet/neighbourhoods). Example: college-heights.
limitqueryintegerItems per page (default 50, max 500 unless noted). Example: 20.
offsetqueryintegerItems to skip. Use links.next to page. Example: 0.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/internet/providers"

Example response (trimmed)

json
{
  "data": [
    {
      "provider": "Telus",
      "technologies": [
        {
          "technology": "Fibre to the home",
          "label": "Fibre",
          "kind": "wired",
          "hexagons": 21,
          "sharePct": 91.3
        },
        {
          "technology": "DSL",
          "label": "DSL",
          "kind": "wired",
          "hexagons": 24,
          "sharePct": 100
        },
        "… 2 more"
      ],
      "fixed": true,
      "mobileOnly": false,
      "hexagons": 24,
      "sharePct": 100,
      "name": "Telus",
      "url": "https://www.telus.com/",
      "note": null
    },
    {
      "provider": "Rogers",
      "technologies": [
        {
          "technology": "Coaxial Cable",
          "label": "Cable",
          "kind": "wired",
          "hexagons": 16,
          "sharePct": 69.6
        },
        {
          "technology": "Fixed Wireless",
          "label": "Fixed wireless",
          "kind": "wireless",
          "hexagons": 21,
          "sharePct": 87
        },
        "… 1 more"
      ],
      "fixed": true,
      "mobileOnly": false,
      "hexagons": 24,
      "sharePct": 87,
      "name": "Rogers",
      "url": "https://www.rogers.com/",
      "note": null
    },
    "… 6 more"
  ],
  "meta": {
    "source": "Innovation, Science and Economic Development Canada, National Broadband Data",
    "sourceUrl": "https://open.canada.ca/data/en/dataset/00a331db-121b-445d-b119-35dbbe3eedd9",
    "updatedAt": "2026-10-09T11:35:09.916Z",
    "ageSec": 601995,
    "license": "Open Government Licence – Canada (https://open.canada.ca/en/open-government-licence-canada)",
    "attribution": "Innovation, Science and Economic Development Canada, National Broadband Data, via PG Pulse (princegeorgepulse.ca)",
    "area": {
      "hexagons": 24,
      "withHomes": 23,
      "homes5010": {
        ">75% - 100%": 20,
        ">25% - 50%": 2,
        ">50% - 75%": 1
      },
      "neighbourhood": null
    },
    "release": "NBD 8.79",
    "published": "2026-10-06",
    "note": "Availability is as reported by providers to Innovation, Science and Economic Development Canada for hexagons of about 25 km²; a provider listed in a hexagon may not reach every street or home in it. It is not a guaran…",
    "map": "https://ised-isde.canada.ca/app/scr/sittibc/web/bbmap?lang=eng",
    "total": 8,
    "…": "3 more keys"
  },
  "links": {
    "self": "/api/v1/internet/providers",
    "next": null,
    "docs": "/developers/reference/living/#get-internet-providers"
  }
}

GET /api/v1/internet/neighbourhoods #

Home internet by neighbourhood: providers reporting fibre and cable, and how many home and mobile providers.

One row per neighbourhood that overlaps the broadband hexagons. Availability is as reported by providers to Innovation, Science and Economic Development Canada for hexagons of about 25 km²; a provider listed in a hexagon may not reach every street or home in it. It is not a guarantee of service: check your address with the provider.

ParameterInTypeDescription
limitqueryintegerItems per page (default 50, max 500 unless noted). Example: 20.
offsetqueryintegerItems to skip. Use links.next to page. Example: 0.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/internet/neighbourhoods"

Example response (trimmed)

json
{
  "data": [
    {
      "slug": "airport",
      "name": "Airport",
      "href": "/neighbourhoods/airport/",
      "fibre": [
        "Telus"
      ],
      "cable": [
        "Rogers",
        "Shaw"
      ],
      "fixedProviders": 6,
      "mobileProviders": 4
    },
    {
      "slug": "assman",
      "name": "Assman",
      "href": "/neighbourhoods/assman/",
      "fibre": [
        "Telus"
      ],
      "cable": [
        "Rogers",
        "Shaw"
      ],
      "fixedProviders": 6,
      "mobileProviders": 4
    },
    "… 29 more"
  ],
  "meta": {
    "source": "Innovation, Science and Economic Development Canada, National Broadband Data",
    "sourceUrl": "https://open.canada.ca/data/en/dataset/00a331db-121b-445d-b119-35dbbe3eedd9",
    "updatedAt": "2026-10-09T11:35:09.916Z",
    "ageSec": 601995,
    "license": "Open Government Licence – Canada (https://open.canada.ca/en/open-government-licence-canada)",
    "attribution": "Innovation, Science and Economic Development Canada, National Broadband Data, via PG Pulse (princegeorgepulse.ca)",
    "release": "NBD 8.79",
    "published": "2026-10-06",
    "note": "Availability is as reported by providers to Innovation, Science and Economic Development Canada for hexagons of about 25 km²; a provider listed in a hexagon may not reach every street or home in it. It is not a guaran…",
    "total": 31,
    "count": 31,
    "limit": 100,
    "…": "1 more keys"
  },
  "links": {
    "self": "/api/v1/internet/neighbourhoods",
    "next": null,
    "docs": "/developers/reference/living/#get-internet-neighbourhoods"
  }
}

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.