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

Emergency: API reference

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

GET /api/v1/emergency/contacts #

Emergency, non-emergency, crisis and reporting phone numbers for Prince George, each verified on its official page.

ParameterInTypeDescription
groupquerystringOnly one group. One of: emergency, police-fire, health-line, crisis, report, utility, city. Example: crisis.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/emergency/contacts?group=crisis"

Example response (trimmed)

json
{
  "data": [
    {
      "id": "seniors-abuse-information-line",
      "group": "crisis",
      "name": "Seniors Abuse and Information Line (SAIL)",
      "number": "1-866-437-1940",
      "tel": "18664371940",
      "alt": [],
      "when": "Mon–Fri 8 am–8 pm (except statutory holidays)",
      "description": "Confidential line for older adults about abuse, mistreatment or well-being; multilingual.",
      "url": "https://seniorsfirstbc.ca/programs/sail/",
      "source": {
        "name": "Seniors First BC: SAIL",
        "url": "https://seniorsfirstbc.ca/programs/sail/"
      },
      "checked": "2026-10-01"
    },
    {
      "id": "gambling-support-bc",
      "group": "crisis",
      "name": "Gambling Support BC helpline",
      "number": "1-888-795-6111",
      "tel": "18887956111",
      "alt": [],
      "when": "24/7",
      "description": "Free, confidential support for anyone affected by gambling.",
      "url": "https://www.gamblingsupportbc.ca/",
      "source": {
        "name": "Gambling Support BC",
        "url": "https://www.gamblingsupportbc.ca/"
      },
      "checked": "2026-10-01"
    },
    "… 14 more"
  ],
  "meta": {
    "source": "Official emergency and crisis line pages (City of Prince George, RCMP, BC Emergency Health Services, HealthLink BC, BC Wildfire Service, BC Hydro, FortisBC and others), compiled by PG Pulse",
    "sourceUrl": "https://princegeorgepulse.ca/emergency/",
    "updatedAt": "2026-10-01T12:00:00-07:00",
    "ageSec": 1266504,
    "license": "Mixed: see each item’s source. Every number links to the official page it was verified on",
    "attribution": "The services linked in each item, via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/emergency/contacts?group=crisis",
    "next": null,
    "docs": "/developers/reference/emergency/#get-emergency-contacts"
  }
}

GET /api/v1/emergency/care #

Where to get care now: hospital emergency, urgent and primary care, clinics, with open-now state.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/emergency/care"

Example response (trimmed)

json
{
  "data": [
    {
      "id": "pgnfc-emergency-dental-clinic",
      "need": "health",
      "layer": "health",
      "name": "PGNFC emergency dental outreach clinic",
      "kind": "Free emergency dental clinic",
      "operator": "Prince George Native Friendship Centre",
      "addr": "1600 3rd Ave, Prince George, BC V2L 3G6",
      "lat": 53.918711,
      "lng": -122.751288,
      "located": "BC Address Geocoder (score 99, CIVIC_NUMBER)",
      "phone": "250-613-7246",
      "phoneAlt": null,
      "…": "14 more keys"
    },
    {
      "id": "csfs-yu-be-yah-clinic",
      "need": "health",
      "layer": "health",
      "name": "Yu Be Yah primary care clinic",
      "kind": "Primary care clinic (Indigenous)",
      "operator": "Carrier Sekani Family Services",
      "addr": "970 4th Ave, Prince George, BC V2L 3H8",
      "lat": 53.914773,
      "lng": -122.74098,
      "located": "BC Address Geocoder (score 99, CIVIC_NUMBER)",
      "phone": "250-564-5414",
      "phoneAlt": null,
      "…": "14 more keys"
    },
    "… 14 more"
  ],
  "meta": {
    "source": "PG Pulse public services directory, compiled from each operator's own pages",
    "sourceUrl": "https://princegeorgepulse.ca/services/",
    "updatedAt": "2026-10-01T12:00:00-07:00",
    "ageSec": 1266504,
    "license": "Mixed: see each item’s source. Facts (addresses, phone numbers, hours) copied from each operator's own page, linked per item as source.url",
    "attribution": "The operators linked in each item, via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/emergency/care",
    "next": null,
    "docs": "/developers/reference/emergency/#get-emergency-care"
  }
}

GET /api/v1/emergency/prepare #

Emergency preparedness links: alert sign-up, evacuation zones and reception centre, provincial emergency information.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/emergency/prepare"

Example response (trimmed)

json
{
  "data": [
    {
      "id": "emergency:rdffg-pas-signup",
      "group": "prepare",
      "label": "Sign up for local emergency alerts (Public Alerting System)",
      "url": "https://rdffg.connectrocket.com/",
      "description": "Regional District system used by the City: evacuation alerts and orders by text, phone or email for the zones you choose.",
      "source": {
        "name": "City of Prince George: Emergency planning",
        "url": "https://www.princegeorge.ca/BeReady"
      },
      "checked": "2026-09-30"
    },
    {
      "id": "emergency:rdffg-pas-info",
      "group": "prepare",
      "label": "Public Alerting System: zones and how to register",
      "url": "https://www.rdffg.ca/PAS",
      "description": "Lists City zones (A–D plus blue, green, orange, red, yellow garbage zones) and Regional District areas; separate from provincial BC Emergency Alerts.",
      "source": {
        "name": "RDFFG: Public Alerting System",
        "url": "https://www.rdffg.ca/PAS"
      },
      "checked": "2026-09-30"
    },
    "… 12 more"
  ],
  "meta": {
    "source": "Official emergency and crisis line pages (City of Prince George, RCMP, BC Emergency Health Services, HealthLink BC, BC Wildfire Service, BC Hydro, FortisBC and others), compiled by PG Pulse",
    "sourceUrl": "https://princegeorgepulse.ca/emergency/",
    "updatedAt": "2026-09-30T12:00:00-07:00",
    "ageSec": 1352904,
    "license": "Mixed: see each item’s source. Every number links to the official page it was verified on",
    "attribution": "The services linked in each item, via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/emergency/prepare",
    "next": null,
    "docs": "/developers/reference/emergency/#get-emergency-prepare"
  }
}

GET /api/v1/emergency/alerts #

Live alerts affecting Prince George: weather and air quality warnings, evacuation orders and alerts, fire bans, road closures, power outages, transit disruptions.

Combined from the live sources PG Pulse keeps in its database. sources lists each feed with its freshness; a feed that is down is reported there (with stale: true) instead of failing the response.

  • Cache: 2 min (live source, cached on our server)
  • Source: Environment and Climate Change Canada; BC Wildfire Service; Emergency Management and Climate Readiness; DriveBC; BC Hydro; BC Transit
  • Licence: Environment and Climate Change Canada Data Servers End-use Licence (https://eccc-msc.github.io/open-data/licence/readme_en/); Open Government Licence – British Columbia (https://www2.gov.bc.ca/gov/content/data/policy-standards/data-policies/open-data/open-government-licence-bc); © BC Hydro. Public outage information, not openly licensed: shown with credit and a link to BC Hydro; check BC Hydro for current status; BC Transit Open Data Terms of Use (https://www.bctransit.com/open-data/terms-of-use/)

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/emergency/alerts"

Example response (trimmed)

json
{
  "data": [
    {
      "id": "eccc-statement-2026-10-15t23-35-15-789z-special-weather",
      "kind": "weather",
      "level": "advisory",
      "title": "Special weather",
      "detail": "Fall Storm Bringing Mixed Weather Conditions this Saturday.",
      "area": "Prince George",
      "distanceKm": 0,
      "issued": "2026-10-15T23:35:15.789Z",
      "url": "https://weather.gc.ca/warnings/report_e.html?bc14",
      "source": "Environment and Climate Change Canada"
    },
    {
      "id": "road-drivebc.ca/RIDE-101672",
      "kind": "road",
      "level": "advisory",
      "title": "Landslide at Cave Road, 13km North of Quesnel",
      "detail": null,
      "area": null,
      "distanceKm": 95,
      "issued": "2026-08-25T15:03:34-07:00",
      "url": "https://www.drivebc.ca/",
      "source": "DriveBC"
    },
    "… 1 more"
  ],
  "meta": {
    "source": "Environment and Climate Change Canada; BC Wildfire Service; Emergency Management and Climate Readiness; DriveBC; BC Hydro; BC Transit",
    "sourceUrl": "https://princegeorgepulse.ca/emergency/",
    "updatedAt": "2026-10-16T10:48:24.155Z",
    "ageSec": 0,
    "license": "Environment and Climate Change Canada Data Servers End-use Licence (https://eccc-msc.github.io/open-data/licence/readme_en/); Open Government Licence – British Columbia (https://www2.gov.bc.ca/gov/content/data/policy-…",
    "attribution": "ECCC, BC Wildfire Service, EMCR, DriveBC, BC Hydro and BC Transit, via PG Pulse (princegeorgepulse.ca)",
    "summary": {
      "warnings": 0,
      "advisories": 3,
      "info": 0
    },
    "sources": [
      {
        "id": "weather",
        "label": "Weather and air quality alerts (ECCC)",
        "ok": true,
        "stale": false,
        "fetchedAt": "2026-10-16T10:43:26.141Z",
        "count": 1,
        "error": null,
        "source": "Environment and Climate Change Canada (city page weather bc-79, weather alerts, SWOB observations); NOAA Aviation Weather Center (METAR); Open-Meteo forecast API (model detail)",
        "sourceUrl": "https://weather.gc.ca/en/location/index.html?coords=53.917,-122.750"
      },
      {
        "id": "air",
        "label": "Air quality health index (ECCC)",
        "ok": true,
        "stale": false,
        "fetchedAt": "2026-10-16T10:37:26.347Z",
        "count": 0,
        "error": null,
        "source": "Environment and Climate Change Canada AQHI (Prince George); Open-Meteo air quality model; BC Ministry of Environment air monitoring stations",
        "sourceUrl": "https://weather.gc.ca/airquality/pages/bcaq-009_e.html"
      },
      "… 4 more"
    ]
  },
  "links": {
    "self": "/api/v1/emergency/alerts",
    "next": null,
    "docs": "/developers/reference/emergency/#get-emergency-alerts"
  }
}

GET /api/v1/emergency/evacuation #

Pre-planned evacuation zones and evacuation assembly points in Prince George.

The City’s evacuation zones (polygons, layer: zone) and response facilities (points, layer: facility: evacuation assembly points and the operations centre), refreshed daily. These are planning zones: an actual evacuation order or alert names the zones it covers (see /emergency/alerts). Use ?format=geojson for a map-ready FeatureCollection; layer filters.

  • GeoJSON: add format=geojson for a bare FeatureCollection
ParameterInTypeDescription
layerquerystringzone or facility. One of: zone, facility.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/emergency/evacuation?format=geojson"

Example response (trimmed)

json
{
  "data": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Point",
          "coordinates": [
            -122.87508,
            53.8311
          ]
        },
        "properties": {
          "id": "facility-13",
          "layer": "facility",
          "name": "Beaverly Elementary School",
          "kind": "Evacuation assembly point",
          "address": "9777 Western Rd",
          "tone": "violet",
          "activated": false
        }
      },
      {
        "type": "Feature",
        "geometry": {
          "type": "Point",
          "coordinates": [
            -122.64311,
            53.8976
          ]
        },
        "properties": {
          "id": "facility-14",
          "layer": "facility",
          "name": "Blackburn Elementary School",
          "kind": "Evacuation assembly point",
          "address": "2222 Blackburn Rd",
          "tone": "violet",
          "activated": false
        }
      },
      "… 26 more"
    ]
  },
  "meta": {
    "source": "City of Prince George, emergency response facilities and evacuation zones",
    "sourceUrl": "https://www.princegeorge.ca/city-services/emergency-response-public-safety/emergency-response",
    "updatedAt": "2026-10-14T10:40:15.158Z",
    "ageSec": 173289,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)",
    "attribution": "City of Prince George, emergency response facilities and evacuation zones, via PG Pulse (princegeorgepulse.ca)",
    "zones": 9,
    "facilities": 19
  },
  "links": {
    "self": "/api/v1/emergency/evacuation?format=geojson",
    "next": null,
    "docs": "/developers/reference/emergency/#get-emergency-evacuation"
  }
}

GET /api/v1/emergency/zone #

Which evacuation zone an address or point is in, and the nearest assembly points.

Pass address (a street address in Prince George, located with the BC Address Geocoder) or near=lat,lng. Returns the pre-planned zone (or null outside every zone) and the three nearest evacuation assembly points with straight-line distance.

ParameterInTypeDescription
addressquerystringStreet address in Prince George. Example: 1100 Patricia Blvd.
nearquerystringPoint as lat,lng.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/emergency/zone?address=1100%20Patricia%20Blvd"

Example response (trimmed)

json
{
  "data": {
    "lat": 53.9127157,
    "lng": -122.7451585,
    "address": "1100 Patricia Blvd, Prince George, BC",
    "zone": {
      "id": "zone-ea254527-aaad-4546-a5b9-a6c568b92553",
      "name": "Green zone"
    },
    "assemblyPoints": [
      {
        "name": "Duchess Park Secondary School",
        "kind": "Evacuation assembly point",
        "address": "747 Winnipeg St",
        "lat": 53.91635,
        "lng": -122.75793,
        "distanceKm": 0.9
      },
      {
        "name": "Nusdeh Yoh Elementary School",
        "kind": "Evacuation assembly point",
        "address": "2579 Victoria St",
        "lat": 53.8986,
        "lng": -122.75682,
        "distanceKm": 1.7
      },
      "… 1 more"
    ]
  },
  "meta": {
    "source": "City of Prince George, emergency response facilities and evacuation zones",
    "sourceUrl": "https://www.princegeorge.ca/city-services/emergency-response-public-safety/emergency-response",
    "updatedAt": "2026-10-14T10:40:15.158Z",
    "ageSec": 173289,
    "license": "Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)",
    "attribution": "City of Prince George, emergency response facilities and evacuation zones, via PG Pulse (princegeorgepulse.ca)"
  },
  "links": {
    "self": "/api/v1/emergency/zone?address=1100%20Patricia%20Blvd",
    "next": null,
    "docs": "/developers/reference/emergency/#get-emergency-zone"
  }
}

GET /api/v1/emergency/departments #

Emergency department status: open, closed overnight or temporarily closed.

Northern Health’s published status for each emergency department and day health centre, checked every 10 minutes, with the time the status last changed and the published re-opening time. Empty (with meta.permitted: false and the source page link) while the publisher has not allowed reuse; check the page directly then.

  • Cache: 5 min
  • Source: Northern Health, emergency department status
  • Licence: Public status information published by the health authority; reused with its permission (city config), facts only, with attribution and a link
  • Paginated: limit (default 50, max 100) and offset; also format=csv
ParameterInTypeDescription
nearbyquerybooleanOnly the region around the city.
kindquerystringhospital or health-centre. One of: hospital, health-centre.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/emergency/departments"

Example response (trimmed)

json
{
  "data": [],
  "meta": {
    "source": "Northern Health, emergency department status",
    "sourceUrl": "https://www.northernhealth.ca/emergency-department-status",
    "updatedAt": null,
    "license": "Public status information published by the health authority; reused with its permission (city config), facts only, with attribution and a link",
    "attribution": "Northern Health, emergency department status, via PG Pulse (princegeorgepulse.ca)",
    "permitted": false,
    "page": "https://www.northernhealth.ca/emergency-department-status",
    "note": "Northern Health’s terms of use do not allow reusing its pages, so we link to its live status page instead.",
    "total": 0,
    "count": 0,
    "limit": 50,
    "offset": 0
  },
  "links": {
    "self": "/api/v1/emergency/departments",
    "next": null,
    "docs": "/developers/reference/emergency/#get-emergency-departments"
  }
}

GET /api/v1/emergency/departments/history #

Emergency department status changes, newest first.

  • Cache: 5 min
  • Source: Northern Health, emergency department status
  • Licence: Public status information published by the health authority; reused with its permission (city config), facts only, with attribution and a link
  • Paginated: limit (default 50, max 500) and offset; also format=csv
ParameterInTypeDescription
facilityquerystringFacility id from /emergency/departments.

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

Example request

bash
curl "https://princegeorgepulse.ca/api/v1/emergency/departments/history"

Example response (trimmed)

json
{
  "data": [],
  "meta": {
    "source": "Northern Health, emergency department status",
    "sourceUrl": "https://www.northernhealth.ca/emergency-department-status",
    "updatedAt": null,
    "license": "Public status information published by the health authority; reused with its permission (city config), facts only, with attribution and a link",
    "attribution": "Northern Health, emergency department status, via PG Pulse (princegeorgepulse.ca)",
    "permitted": false,
    "page": "https://www.northernhealth.ca/emergency-department-status",
    "total": 0,
    "count": 0,
    "limit": 50,
    "offset": 0
  },
  "links": {
    "self": "/api/v1/emergency/departments/history",
    "next": null,
    "docs": "/developers/reference/emergency/#get-emergency-departments-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.