Real Estate Data API · Canada

One API for all the data around a Canadian property.

Addresses, boundaries, neighbourhoods, permits, demographics, environmental context, and energy ratings — all keyed to the same address layer, all available from api.neighbourly.io/v1/. Built specifically for Canadian real estate.

7 data layers 50+ endpoints REST · JSON RESO-aligned Canadian hosting OAuth 2.0
📍
Address & Geocoding
/v1/address · /v1/location_typeahead
Live
🗺
Geography & Boundaries
/v1/geography · /v1/location_by_slug
Live
🏠
Neighbourhoods
/v1/neighbourhoods · /v1/neighbourhood_by_slug
Live
🏗
Building Permits
/v1/permits?address_id=
Live
👥
Demographics
/v1/demographics/find?fsa=
Live
🌿
Environment
/v1/environment?address_id=
Live
Energy (EnerGuide)
/v1/energy?address_id=
New
All 10 provinces + 3 territories RESO-aligned schema PostGIS + Elasticsearch + Meilisearch 99.9% uptime SLA Canadian-hosted data
The platform

Seven data layers. One address key.

Every Neighbourly data layer is keyed to the same validated address_id. Validate once, enrich with anything.

📍Address & Geocoding
/v1/address · /v1/location_typeahead · /v1/search/addresses_by_viewport

Validate, normalize, and geocode any Canadian address string. Typeahead autocomplete via Meilisearch. Viewport search via Elasticsearch geo_shape. ~100 street-type synonyms. SRID 4326 coordinates.

Address API →
🗺Geography & Boundaries
/v1/geography · /v1/location_by_slug

Six-level geographic hierarchy — Country → Province → County → Upper-Tier → Lower-Tier → Neighbourhood. MultiPolygon boundaries in GeoJSON, centroids, bounding boxes, and slug-based lookups.

Geography layer →
🏠Neighbourhoods
/v1/neighbourhoods · /v1/neighbourhood_by_slug

Curated neighbourhood profiles with names, descriptions, boundary polygons, and character scores. Used by listing platforms to surface neighbourhood context on property pages.

Neighbourhood API →
🏗Building Permits
/v1/permits?address_id= · /v1/permits?city=

Municipal building permit records normalized to a consistent taxonomy. Query by address, city, date range, permit type, and status. Toronto, Vancouver, Calgary, Ottawa and more.

Permits API →
👥Demographics
/v1/demographics/find?fsa= · /v1/demographics/find?neighbourhood_id=

Census-derived demographic profiles by FSA and neighbourhood — population, age distribution, household income, tenure, language, education, and commute data.

Demographics API →
🌿Environment
/v1/environment?address_id=

Environmental context for any property — flood risk zone, proximity to protected areas, air quality index, noise exposure estimates, and green space coverage within radius bands.

Environment layer →
Energy (EnerGuide)
/v1/energy?address_id=

EnerGuide ratings, annual energy consumption, GHG emissions, heating fuel type, and efficiency scores — the most differentiated Neighbourly data layer, now available via API.

Energy API →
📡Points of Interest
/v1/poi?address_id= · /v1/poi?category=

Points of interest within configurable radius — transit, schools, parks, retail, healthcare, and more. Walk score proxies, transit frequency, and school catchment data.

POI layer →
How it works

Validate once. Enrich with everything.

The address layer is the entry point. Everything else is a follow-up call keyed to the same address_id.

01

Authenticate

Generate a Bearer token or API key from your dashboard. Scoped access per environment — dev and prod keys are separate and individually revocable.

02

Validate the address

POST any Canadian address string to /v1/address. Receive a validated, normalized record with a persistent address_id.

03

Follow the links

Every address response includes _links to every data layer. Follow what your product needs — permits, demographics, energy, environment.

04

Cache the address_id

Store the address_id alongside your property records. Future calls to any layer skip address validation entirely — one ID, all layers, forever.

multi-layer property enrichmentexample
# 1. Validate the address
GET /v1/address?q="88 Scott St Toronto"

→ { address_id: 9312, _links: { ... } }

# 2. Pull permits
GET /v1/permits?address_id=9312

# 3. Pull demographics for the FSA
GET /v1/demographics/find?fsa="M5E"

# 4. Pull neighbourhood context
GET /v1/neighbourhood_by_slug?slug="st-lawrence"

# 5. Pull energy data
GET /v1/energy?address_id=9312

# 6. Pull environment
GET /v1/environment?address_id=9312

→ All responses keyed to address_id 9312
Who uses it

One API for the full property intelligence stack.

MLS Platforms

Enrich every listing at ingestion

When a new listing enters your system, validate the address and attach permits, neighbourhood context, demographics, and energy data in a single async job. Surface it all on the listing page without building a data pipeline.

Brokerage CRMs

Property intelligence in every record

Add a Neighbourly data panel to every property in your CRM. Agents see permit history, neighbourhood scores, and energy ratings before they walk into a showing — without leaving your platform.

Proptech Products

Build richer property pages, faster

Instead of assembling data from five different sources with five different auth flows, query one API. Neighbourhood stats, permit history, demographics, and energy all from api.neighbourly.io/v1/.

Analytics & Valuation

Feature-rich property datasets

Build training datasets, AVMs, or investment models with clean, structured property features — permit activity, demographic profile, energy efficiency, environmental risk — all joinable on address_id.

Why Neighbourly

Not a generic geocoder. Canadian real estate data.

Most real estate data APIs are US-first products with Canadian coverage bolted on. Neighbourly is built from the ground up for the Canadian market.

Generic geocoding APIs

What you're missing

  • No FSA / LDU postal code resolution
  • No Canadian neighbourhood boundaries or profiles
  • No building permit data
  • No EnerGuide energy ratings
  • No RESO-aligned schema
  • US-hosted, US-privacy-law governed
  • No MLS or CREA ecosystem awareness
Neighbourly

What you get

  • Full FSA and LDU postal code resolution
  • Curated Canadian neighbourhood boundaries and profiles
  • Municipal permit data, normalized and address-keyed
  • EnerGuide ratings and energy consumption data
  • RESO-aligned schema for MLS integration
  • Canadian-hosted, PIPEDA-compliant infrastructure
  • Built with MLS, CREA, and real estate workflow context

The Canadian real estate data API you've been looking for.

Talk to us about API access, data partnerships, or embedding Neighbourly in your product. Most teams are up and running within a day.

Frequently asked questions

Common questions about this data and how to use it.

What data does the Real Estate Data API provide?

Addresses, neighbourhood boundaries, building permits, demographics, environmental context, and energy data for Canadian properties — all from a single REST API.

Is the API RESO-aligned?

Yes. Address and property fields follow RESO conventions, so the data maps cleanly into MLS platforms, IDX feeds, and existing real estate schemas.

What response format does it return?

JSON for property and attribute data, with GeoJSON available for boundary and geometry endpoints.

Which areas of Canada are covered?

Address and boundary layers cover all provinces and territories; permit, energy, and environmental layers roll out by region. See the coverage page for detail.

How do I get access and how is it priced?

Pricing is usage-based, with no seat licences or long-term contracts. Contact us for an API key — most teams integrate within a day.