Resolve any Canadian address to its elementary and secondary school catchment areas, retrieve school profiles with grades, type, language of instruction, and board affiliation — all from a single REST endpoint.
Schools are one of the top three factors in Canadian homebuying decisions — but the data has always been locked in provincial ministry websites with inconsistent schemas. Neighbourly normalizes every K–12 school in Canada into a single coordinate-queryable API with catchment polygons, board hierarchy, and feeder school links.
Every school in the dataset ships with its attendance area as a GeoJSON polygon — so you can resolve any property address to its assigned elementary and secondary schools without any runtime spatial join on your side. Query by coordinate; receive the matching catchment and school profile in one response.
Each school carries its school_board_id, board_name, and board_type — so you can display "Toronto District School Board · Public" without a second lookup. Feeder school arrays link elementary schools to their destination secondary school in the same board system.
French-language schools and dual-track schools are first-class records in the dataset — not a post-filter. Every school includes a language_of_instruction field (en, fr, en_fr) so French-immersion and Francophone school catchments are fully resolved for any Canadian address.
A catchment lookup response returns the school profile, its board affiliation, the catchment polygon, and feeder school links — everything needed to populate a "Schools nearby" section on a listing page from a single API call.
| Model | Geometry type | Notable fields & notes |
|---|---|---|
| School | Point | name, school_type (public, catholic, independent, francophone), grade_range (e.g. JK–8), language_of_instruction, school_board_id FK, phone, address_id FK |
| SchoolCatchment | Polygon | GeoJSON polygon for the attendance area; school_id FK, level (elementary / secondary), province, effective_year; feeder secondary_school_id for elementary catchments |
| SchoolBoard | — | name, board_type (public, catholic, francophone, independent), province, website_url, school_count; stable board ID used as FK across all school records |
| SchoolFeederLink | — | Maps elementary source_school_id to secondary destination_school_id within the same board; includes board_id, is_primary_feeder boolean |
Every school model is queryable by its stable ID, by a lat/lng coordinate (catchment polygon containment), or by bounding box — so you can resolve the school context of any listing or build a map layer showing catchment boundaries for any Canadian city.
SchoolBoard record, the catchment GeoJSON, and an array of feeder school links.school_type (public, catholic, francophone, independent). Useful for building map layers by city viewport.A catchment lookup returns both the elementary and secondary school assignments for a coordinate — with profiles, board names, and GeoJSON polygons — so a listing page can display full school context from a single call.
{
"elementary": {
"id": "school_rosedale_ps_on",
"name": "Rosedale Junior Public School",
"school_type": "public",
"grade_range": "JK-8",
"language_of_instruction": "en",
"distance_m": 340,
"board": {
"id": "board_tdsb",
"name": "Toronto District School Board",
"board_type": "public",
"province": "ON"
},
"location": {
"type": "Point",
"coordinates": [-79.3841, 43.6791]
},
"catchment": {
"boundary": { "type": "Polygon", ... },
"feeder_secondary_id": "school_jarvis_ci_on"
}
},
"secondary": {
"id": "school_jarvis_ci_on",
"name": "Jarvis Collegiate Institute",
"school_type": "public",
"grade_range": "9-12",
"distance_m": 1240,
...
}
}
School proximity and catchment assignment are among the most-searched filters on Canadian real estate platforms. Neighbourly's school data API puts accurate, boundary-based school context directly on your listing pages — without requiring buyers to leave your site.
Resolve any listing coordinate to its exact elementary and secondary school catchment areas. Display school name, type (public/Catholic/French), grade range, and board name directly on the listing page. Stop losing buyers to other sites that show this information.
School proximity, catchment assignment, and school type are key inputs to Neighbourly's Livability Score — the personalised neighbourhood match product. Families can weight schools heavily; young professionals can weight them lightly. The API powers the underlying data layer.
When employees are relocating to a new city, school district and language of instruction are often deciding factors in neighbourhood choice. Surface assigned schools — including French-immersion and Catholic options — for any address a relocating family is considering.
School count and type within a trade area is a meaningful signal for child-related service businesses — tutoring centres, childcare, sporting goods, and food service. Query schools by bounding box to enrich any site-selection model with educational density signals.
Talk to us about API access, coverage depth, or how schools data layers into your existing Neighbourly integration.
Common questions about this data and how to use it.
Every K–12 school, school board, and catchment boundary across Canada.
By coordinate, by ID, or by bounding box — for example, to find all schools near an address.
Yes. School catchment boundaries are provided as GeoJSON where available.
Enriching property listings, neighbourhood reports, and relocation tools with the school information families care about.
School and board data is maintained against official sources, and each record carries a refresh timestamp.