Local knowledge for your AI tools
Connect Cursor, VS Code, Codex or Claude Code. Free MCP access, no key needed.
Neighbourhoods: API reference
7 endpoints. Base URL https://princegeorgepulse.ca/api/v1. Conventions (envelope, paging, fields, formats, limits) are on the overview. All endpoints.
GET /api/v1/neighbourhoods #
The 31 City-mapped neighbourhoods (communities) with area, centre and counts.
- Cache: 24 h
- Source: City of Prince George Open Data, Community Boundary
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
Also accepts fields (sparse fieldset) and format (json, md).
Example request
curl "https://princegeorgepulse.ca/api/v1/neighbourhoods"Example response (trimmed)
{
"data": [
{
"slug": "airport",
"name": "Airport",
"areaKm2": 21,
"center": {
"lat": 53.888695,
"lng": -122.699975
},
"businesses": 23,
"url": "/neighbourhoods/airport/",
"geojson": "/api/v1/neighbourhoods/airport/geojson"
},
{
"slug": "assman",
"name": "Assman",
"areaKm2": 0.56,
"center": {
"lat": 53.898725,
"lng": -122.761995
},
"businesses": 7,
"url": "/neighbourhoods/assman/",
"geojson": "/api/v1/neighbourhoods/assman/geojson"
},
"… 29 more"
],
"meta": {
"source": "City of Prince George Open Data, Community Boundary",
"sourceUrl": "https://services2.arcgis.com/CnkB6jCzAsyli34z/arcgis/rest/services/OpenData_AdminBoundary/FeatureServer/3",
"updatedAt": "2026-10-12T00:00:00-07:00",
"updatedAtPrecision": "day",
"ageSec": 359299,
"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, via PG Pulse (princegeorgepulse.ca)"
},
"links": {
"self": "/api/v1/neighbourhoods",
"next": null,
"docs": "/developers/reference/neighbourhoods/#get-neighbourhoods"
}
}GET /api/v1/neighbourhoods/geojson #
All neighbourhood boundaries as GeoJSON.
- Cache: 24 h
- Source: City of Prince George Open Data, Community Boundary
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
- GeoJSON: add
format=geojsonfor a bare FeatureCollection
Also accepts fields (sparse fieldset) and format (json, md, geojson).
Example request
curl "https://princegeorgepulse.ca/api/v1/neighbourhoods/geojson"Example response (trimmed)
{
"data": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"name": "Airport",
"slug": "airport",
"areaKm2": 21
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-122.66564,
53.91954
],
[
-122.66559,
53.90895
],
"… 125 more"
]
]
}
},
{
"type": "Feature",
"properties": {
"name": "Assman",
"slug": "assman",
"areaKm2": 0.56
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-122.75791,
53.90227
],
[
-122.7579,
53.90103
],
"… 15 more"
]
]
}
},
"… 29 more"
]
},
"meta": {
"source": "City of Prince George Open Data, Community Boundary",
"sourceUrl": "https://services2.arcgis.com/CnkB6jCzAsyli34z/arcgis/rest/services/OpenData_AdminBoundary/FeatureServer/3",
"updatedAt": "2026-10-12T00:00:00-07:00",
"updatedAtPrecision": "day",
"ageSec": 359299,
"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, via PG Pulse (princegeorgepulse.ca)"
},
"links": {
"self": "/api/v1/neighbourhoods/geojson",
"next": null,
"docs": "/developers/reference/neighbourhoods/#get-neighbourhoods-geojson"
}
}GET /api/v1/neighbourhoods/lookup #
Which neighbourhood contains a point.
- Cache: 24 h
- Source: City of Prince George open data
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
| Parameter | In | Type | Description |
|---|---|---|---|
lat | query | number | Latitude. Required. Example: 53.9171. |
lng | query | number | Longitude. Required. Example: -122.7497. |
Also accepts fields (sparse fieldset) and format (json, md).
Example request
curl "https://princegeorgepulse.ca/api/v1/neighbourhoods/lookup?lat=53.9171&lng=-122.7497"Example response (trimmed)
{
"data": {
"slug": "downtown",
"name": "Downtown",
"url": "/neighbourhoods/downtown/",
"api": "/api/v1/neighbourhoods/downtown"
},
"meta": {
"source": "City of Prince George open data",
"sourceUrl": "https://data-cityofpg.opendata.arcgis.com/",
"updatedAt": null,
"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, via PG Pulse (princegeorgepulse.ca)"
},
"links": {
"self": "/api/v1/neighbourhoods/lookup?lat=53.9171&lng=-122.7497",
"next": null,
"docs": "/developers/reference/neighbourhoods/#get-neighbourhoods-lookup"
}
}GET /api/v1/neighbourhoods/aliases #
Subdivision and local area names (Southridge, Highland Park, the Hart) and the City neighbourhoods they are in.
Each name with its kind (subdivision, local name, outside the city), the neighbourhood slugs it belongs to (empty = outside city limits) and a note. q finds a name (exact first, then prefix, then contains). Compiled from published subdivision lists placed in the City’s community boundaries; correctable in the admin (dataset neighbourhood-aliases).
- Cache: 1 h
- Source: PG Pulse compilation of subdivision and local area names, placed in City of Prince George community boundaries
- Licence: CC BY 4.0 compilation; boundaries Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
- Paginated:
limit(default 200, max 500) andoffset; alsoformat=csv
| Parameter | In | Type | Description |
|---|---|---|---|
q | query | string | A place name. Example: Southridge. |
limit | query | integer | Items per page (default 50, max 500 unless noted). Example: 20. |
offset | query | integer | Items to skip. Use links.next to page. Example: 0. |
Also accepts fields (sparse fieldset) and format (json, md, csv).
Example request
curl "https://princegeorgepulse.ca/api/v1/neighbourhoods/aliases"Example response (trimmed)
{
"data": [
{
"name": "South Kelly Gardens",
"kind": "subdivision",
"neighbourhoods": [
{
"slug": "austin-east",
"name": "Austin East",
"url": "/neighbourhoods/austin-east/"
},
{
"slug": "austin-west",
"name": "Austin West",
"url": "/neighbourhoods/austin-west/"
}
],
"outsideCity": false,
"note": null,
"source": {
"id": "moveup",
"label": "Move Up Prince George: neighbourhoods (City of Prince George)",
"url": "https://www.moveupprincegeorge.ca/moving-here/neighbourhoods"
}
},
{
"name": "Nechako Heights",
"kind": "subdivision",
"neighbourhoods": [
{
"slug": "austin-east",
"name": "Austin East",
"url": "/neighbourhoods/austin-east/"
},
{
"slug": "austin-west",
"name": "Austin West",
"url": "/neighbourhoods/austin-west/"
}
],
"outsideCity": false,
"note": null,
"source": {
"id": "moveup",
"label": "Move Up Prince George: neighbourhoods (City of Prince George)",
"url": "https://www.moveupprincegeorge.ca/moving-here/neighbourhoods"
}
},
"… 83 more"
],
"meta": {
"source": "PG Pulse compilation of subdivision and local area names, placed in City of Prince George community boundaries",
"sourceUrl": "https://princegeorgepulse.ca/neighbourhoods/#also-known-as",
"updatedAt": "2026-10-01T00:00:00-07:00",
"updatedAtPrecision": "day",
"ageSec": 1309699,
"license": "CC BY 4.0 compilation; boundaries Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)",
"attribution": "PG Pulse compilation of subdivision and local area names, placed in City of Prince George community boundaries, via PG Pulse (princegeorgepulse.ca)",
"total": 85,
"count": 85,
"limit": 200,
"offset": 0
},
"links": {
"self": "/api/v1/neighbourhoods/aliases",
"next": null,
"docs": "/developers/reference/neighbourhoods/#get-neighbourhoods-aliases"
}
}GET /api/v1/neighbourhoods/{slug} #
One neighbourhood: area, property-crime summary and top businesses.
- Cache: 24 h
- Source: City of Prince George open data (boundaries, RCMP property-crime occurrences)
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
| Parameter | In | Type | Description |
|---|---|---|---|
slug | path | string | Neighbourhood slug. Required. Example: downtown. |
Also accepts fields (sparse fieldset) and format (json, md).
Example request
curl "https://princegeorgepulse.ca/api/v1/neighbourhoods/downtown"Example response (trimmed)
{
"data": {
"slug": "downtown",
"name": "Downtown",
"areaKm2": 1.5,
"center": {
"lat": 53.915775,
"lng": -122.74819
},
"url": "/neighbourhoods/downtown/",
"crime": {
"months": [
"2024-09",
"2024-10",
"… 22 more"
],
"byMonth": {
"theft": [
38,
28,
"… 22 more"
],
"fromauto": [
20,
13,
"… 22 more"
],
"mischief": [
27,
26,
"… 22 more"
],
"bne": [
11,
7,
"… 22 more"
],
"auto": [
1,
0,
"… 22 more"
],
"bike": [
0,
1,
"… 22 more"
]
},
"last12": 968,
"prev12": 895,
"byType12": {
"theft": 319,
"fromauto": 199,
"mischief": 277,
"bne": 138,
"auto": 21,
"bike": 14
},
"byCommunity12": [
{
"name": "Downtown",
"count": 968,
"perKm2": 646.9587462863218
}
],
"byYear": [
{
"year": 2021,
"count": 1004,
"partial": false
},
{
"year": 2022,
"count": 1186,
"partial": false
},
"… 4 more"
],
"byHour": [
25,
25,
"… 22 more"
],
"byWeekday": [
115,
120,
"… 5 more"
],
"periodLabel": "September 2025 to August 2026"
},
"businessCount": 610,
"topCategories": [
{
"slug": "legal",
"label": "Lawyers & notaries",
"count": 33
},
{
"slug": "finance-insurance",
"label": "Insurance & finance",
"count": 32
},
"… 10 more"
],
"businesses": [
{
"slug": "2-percent-realty-experts",
"name": "2 Percent Realty Experts",
"category": "real-estate",
"street": "715 Victoria St",
"url": "/business/2-percent-realty-experts/"
},
{
"slug": "a-plus-automatic-door-and-storefront-ltd",
"name": "A Plus Automatic Door and Storefront",
"category": "windows-glass",
"street": "841 2nd Ave",
"url": "/business/a-plus-automatic-door-and-storefront/"
},
"… 23 more"
],
"businessesApi": "/api/v1/businesses?neighbourhood=downtown",
"geojson": "/api/v1/neighbourhoods/downtown/geojson"
},
"meta": {
"source": "City of Prince George open data (boundaries, RCMP property-crime occurrences)",
"sourceUrl": "https://data-cityofpg.opendata.arcgis.com/",
"updatedAt": null,
"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, via PG Pulse (princegeorgepulse.ca)"
},
"links": {
"self": "/api/v1/neighbourhoods/downtown",
"next": null,
"docs": "/developers/reference/neighbourhoods/#get-neighbourhoods-slug"
}
}GET /api/v1/neighbourhoods/{slug}/geojson #
One neighbourhood boundary as a GeoJSON Feature.
- Cache: 24 h
- Source: City of Prince George open data
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
- GeoJSON: add
format=geojsonfor a bare FeatureCollection
| Parameter | In | Type | Description |
|---|---|---|---|
slug | path | string | Neighbourhood slug. Required. Example: downtown. |
Also accepts fields (sparse fieldset) and format (json, md, geojson).
Example request
curl "https://princegeorgepulse.ca/api/v1/neighbourhoods/downtown/geojson"Example response (trimmed)
{
"data": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"name": "Downtown",
"slug": "downtown"
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-122.72706,
53.9144
],
[
-122.7274,
53.9144
],
"… 61 more"
]
]
}
}
]
},
"meta": {
"source": "City of Prince George open data",
"sourceUrl": "https://data-cityofpg.opendata.arcgis.com/",
"updatedAt": null,
"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, via PG Pulse (princegeorgepulse.ca)"
},
"links": {
"self": "/api/v1/neighbourhoods/downtown/geojson",
"next": null,
"docs": "/developers/reference/neighbourhoods/#get-neighbourhoods-slug-geojson"
}
}GET /api/v1/neighbourhoods/stats #
Property crime per neighbourhood, last 12 full months (count and per km²).
- Cache: 12 h
- Source: RCMP property crime occurrences, City of Prince George Open Data
- Licence: Open Government Licence – City of Prince George (https://pgmapinfo.princegeorge.ca/OpenData/CityofPrinceGeorge_Open_Government_License_Open_Data.pdf)
Also accepts fields (sparse fieldset) and format (json, md).
Example request
curl "https://princegeorgepulse.ca/api/v1/neighbourhoods/stats"Example response (trimmed)
{
"data": [
{
"slug": "airport",
"name": "Airport",
"crime12": 28,
"crimePerKm2": 1.3
},
{
"slug": "assman",
"name": "Assman",
"crime12": 23,
"crimePerKm2": 41.4
},
"… 29 more"
],
"meta": {
"source": "RCMP property crime occurrences, City of Prince George Open Data",
"sourceUrl": "https://data-cityofpg.opendata.arcgis.com/",
"updatedAt": null,
"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 and RCMP, via PG Pulse (princegeorgepulse.ca)",
"period": "September 2025 to August 2026"
},
"links": {
"self": "/api/v1/neighbourhoods/stats",
"next": null,
"docs": "/developers/reference/neighbourhoods/#get-neighbourhoods-stats"
}
}