← Back to blog
EN FR

From Permits to Property: One Address, Every Record

A property is more than its permits. It has an assessed value, a lot size, a year it was built, a zoning designation that says what can go there, and a list of businesses licensed at the door. Until now, those facts lived in separate municipal and provincial systems, each with its own format and its own idea of what an address looks like. BuildData has spent the last few weeks connecting them. The result is a Canadian property data API where one canonical address joins a property's permits, assessments, zoning, and licences into a single record. The headline is not that we added datasets. It is that we linked them.

Eight datasets, 16M+ records

Two new dataset types landed in this release. Property assessments bring 7.1 million records from more than 1,000 municipalities across six provinces (Alberta, British Columbia, Manitoba, Quebec, New Brunswick, and Nova Scotia), each carrying assessed value, lot size, year built, and property class. Zoning covers 44 cities with zone codes and point-in-polygon lookup, so a latitude and longitude resolves to the zone that governs it. With these two added to permits, inspections, business licences, development permits, and planning applications, BuildData is now 8 datasets and more than 16 million records.
Property Assessments
7.1M
1,000+ municipalities across AB, BC, MB, QC, NB, and NS. Assessed value, lot size, year built, and property class, normalized to one schema.
Zoning
44 cities
Zone codes plus point-in-polygon lookup. Pass a coordinate, get the zoning designation that governs it.
Building Permits
3.38M
The original dataset. Issued permits across 60+ cities, with type, status, declared value, area, and geocoordinates.
Business Licences
690K
Active and historical licences from 21 cities. Normalized business name, category, and address. Signals who operates at a given door.
8
linked datasets, one address key
16M+
total property records
7.1M
assessments across 6 provinces

The real news: one canonical address

Adding data is easy. Making it answer questions together is the hard part, and it is the part that matters here. Every record in BuildData, no matter which dataset it came from, is resolved to the same canonical address. A permit issued by Calgary, an assessment from the Alberta provincial roll, a zoning polygon from the city's GIS portal, and a business licence all reduce to the same key for the same building. That key is what turns five disconnected feeds into one property record you can pull for a single address.
Here is the flow in practice. Start with a street address, geocode it to a coordinate, then walk outward:
geocode Address to coordinate zoning What can be built here assessment Value, lot size, year built permit What has been done to it licence Who operates there
One address now returns its zoning, its assessed value, its full permit history, and the businesses licensed at it, in one pass. That is the difference between a building permits feed and a property platform. If you only need the records that hang off a single address, the property data hub is where the joined view lives.

Why a cross-province assessment API is worth building

Property assessment data in Canada is a patchwork, and that is precisely why a normalized cross-province API is useful. Assessed values are openly redistributable in several provinces (Alberta, Manitoba, Quebec, and New Brunswick publish rolls under open terms), so those provinces are covered in full. Others are licence-locked: BC Assessment and Nova Scotia's PVSC restrict redistribution, so coverage there reflects what their terms allow rather than the full roll. Ontario's MPAC is closed and is not included.
The honest version of the pitch is this: no single source gives you Canadian assessment data in one shape, because no single source is allowed to. Stitching the open provinces into one schema, with a clear note on where licensing limits coverage, is the value. You get one query surface and one set of field names instead of six provincial portals, six formats, and six sets of terms to read. The coverage page shows exactly which cities and provinces carry assessments, zoning, permits, and licences today.

Who this is for

Automated valuation and comparables. An AVM needs assessed value, lot size, year built, and property class for a subject and its neighbours. Pulling all of that for one address, plus the permit history that flags a recent renovation, removes most of the data plumbing from a valuation pipeline.
Mortgage and insurance underwriting. Year built and property class feed risk models. A demolition or major renovation permit on file changes the picture for a property that an assessment roll alone would describe as unchanged.
Proptech and real-estate platforms. Listing and portfolio products can enrich any address with zoning, value, and permit history through one integration instead of a different connector per municipality.
B2B lead generation. Filtering on high assessed value, older year built, or recent permit activity surfaces the properties a renovator, solar installer, or roofer actually wants to reach, with the licensed businesses at the address included.
This release continues the direction we set out in "BuildData Now Covers Inspections, Licences, and Development Permits." That post was about widening the pipeline. This one is about joining it to the property itself.
BuildData is no longer a building permits API. One canonical address now joins a property's zoning, assessment, permits, and licences into a single record, across 8 datasets and 16M+ records. That is a Canadian property data platform, available through one REST endpoint.

See one address return every record on the property data hub, then build with the full dataset.

Get a free API key

Prefer your own warehouse? The full dataset is also a Snowflake secure share.