Province. Census division. Upper-tier municipality. Lower-tier municipality. Neighbourhood. Electoral district. Postal geography. Every boundary level Canadians and governments actually use — resolved from a single address, returned as GeoJSON, ready to power any location analytics product.
Most boundary datasets give you one level — a shapefile of municipalities, or a GeoJSON of provinces. Neighbourly gives you the full stack, cross-linked, queryable from a single address or lat/lng. Every level that matters for location analytics, from national policy down to the neighbourhood.
All 13 provinces and territories as authoritative GeoJSON polygons. Cross-linked to Statistics Canada provincial identifiers for consistent data joins.
PRUID · 2-letter code · EN/FR namesCounties, regional municipalities, districts, and unified cities — the tier between province and local municipality. Essential for regional analytics and government reporting.
CDUID · CSDUID · type codeCities and towns with precise GeoJSON boundaries, plus curated neighbourhood shapes within them. The two levels your users actually care about.
Stable city ID · neighbourhood slug| Boundary Type | Coverage | Example | Output | Source |
|---|---|---|---|---|
| Province / Territory | All 13 | Ontario, Québec, BC | MultiPolygon | Statistics Canada |
| Census Division | 293 divisions | Toronto Division (3520) | Polygon | Statistics Canada |
| Upper-Tier Municipality | Major metro regions | Region of Peel, York Region | Polygon | Provincial registries |
| Lower-Tier Municipality | All cities & towns | City of Ottawa, Town of Oakville | Polygon | Municipal + StatsCan |
| Neighbourhood | All major urban areas | Leslieville, Mount Pleasant, Rosedale | MultiPolygon | Neighbourly curated |
| Federal Electoral District | 343 ridings | Toronto Centre, Vancouver Granville | Polygon | Elections Canada |
| Forward Sortation Area | Full Canada Post FSAs | M5V, V6B, H3Z | Polygon | Canada Post / StatsCan |
Query any Canadian civic address and get back a nested geography object — every boundary level, its GeoJSON polygon, stable ID, and cross-reference identifiers. No stitching together separate API calls, no normalizing inconsistent identifiers.
{
"address": "247 Lakeshore Rd E, Mississauga ON L5G 1G8",
"lat": 43.5524,
"lng": -79.5731,
"province": {
"name": "Ontario",
"code": "ON",
"pruid": 35,
"boundary": { /* GeoJSON MultiPolygon */ }
},
"census_division": {
"name": "Peel",
"cduid": "3521",
"type": "RM",
"boundary": { /* GeoJSON Polygon */ }
},
"municipality": {
"name": "Mississauga",
"type": "city",
"id": "muni_mississauga_on",
"boundary": { /* GeoJSON Polygon */ }
},
"neighbourhood": {
"name": "Port Credit",
"slug": "port-credit-mississauga",
"boundary": { /* GeoJSON MultiPolygon */ },
"centroid": { /* GeoJSON Point */ }
},
"electoral_district": {
"name": "Mississauga–Lakeshore",
"eduid": "35066",
"boundary": { /* GeoJSON Polygon */ }
},
"fsa": {
"code": "L5G",
"boundary": { /* GeoJSON Polygon */ }
}
}
Three ways to get boundaries — resolve from an address, look up from a lat/lng, or fetch any individual boundary shape by its stable ID. Every endpoint returns the same consistent GeoJSON structure.
Every meaningful analysis of Canadian places — risk scoring, site selection, service mapping, demographic profiling, portfolio monitoring — starts with a question about geography. Neighbourly gives you the geographic containers that make that analysis possible.
Resolve every address in your portfolio to its census division, municipality, and neighbourhood. Use those stable boundary IDs to join against your own risk models, climate exposure tables, and regulatory pricing bands — without maintaining your own boundary dataset or running your own geocoding infrastructure.
Most site selection tools draw a 5km radius and call it a trade area. Neighbourly lets you build trade areas from actual neighbourhood and municipal boundaries — the geographic containers your customers think in. Query all addresses within a boundary, aggregate demographics, and compare candidate sites on consistent geographic terms.
Different departments working from different boundary datasets create data reconciliation problems that compound over time. A shared address-to-boundary API gives every program — planning, service delivery, community health, infrastructure — the same geographic identifiers to join on. One address, one province ID, one census division ID, one municipality ID.
Show province boundaries when zoomed out. Switch to municipality boundaries at mid-zoom. Render neighbourhood polygons at street level. The Neighbourly viewport endpoint returns only the boundaries visible in the current map bounding box — at the right boundary type for the zoom level — so your map renders fast and your users always see something meaningful.
Any product that asks "where is this?" or "what's around this address?" needs boundaries to make the answer meaningful. These are the teams reaching for the Neighbourly boundaries API first.
Batch-resolve every property in a book of business to its census division and municipality for regulatory pricing band assignment.
Render interactive neighbourhood polygon overlays and neighbourhood-filtered search on any listing or rental platform.
Define trade areas by real neighbourhood and municipal shapes, not radius rings. Compare candidate sites on equal geographic footing.
Provide every department and program a single address-to-boundary API so datasets can be joined across silos using consistent IDs.
Talk to us about API access, your use case, and what boundary coverage your product needs. We'll walk you through the full dataset and integration path.
Common questions about this data and how to use it.
The full Canadian boundary hierarchy: provinces, municipalities, census divisions, neighbourhoods, electoral districts, and postal geographies.
By address or coordinate to get the containing boundaries, or retrieve a boundary by ID.
GeoJSON, ready to render or use in spatial analysis.
Yes — the geographic hierarchy spans all provinces and territories.
Mapping, territory definition, spatial joins, and rolling up data to consistent geographic units.