Dataset

Canadian Building
Permit API

3.4 million building permit records across 60 Canadian cities. Permit type, status, construction value, dwelling units, and geocoded coordinates on every record, joined to property assessments by address. Open municipal permit data, normalized into one schema, via REST API.

3.4M+building permit records
60cities (54 active, 6 historical)
Dailyrefresh, each city on its own cadence
Geocodedlat/lng on every record

Building permits span 60 Canadian cities: 54 active and 6 historical (municipalities that stopped publishing new permits, whose existing records remain queryable). Every major market is here, including Toronto, Montreal, Vancouver, Calgary, Ottawa, Edmonton, and Winnipeg. Permits are refreshed daily, with each city re-checked against its open data portal on its own cadence, and every record is geocoded as it lands.

Toronto ON
Montreal QC
Vancouver BC
Calgary AB
Ottawa ON
Edmonton AB
Winnipeg MB
+ 53 more cities

What the data includes

Every city publishes permits in its own format. We normalize them into one schema, with canonical type and status columns, while preserving the raw city-specific fields alongside.

permit_type_canonical
Normalized type: new_construction, renovation, demolition, addition, other
status_canonical
Normalized status: issued, in_review, completed, expired, cancelled
construction_value
Declared cost of construction in CAD
area_m2 / storeys
Floor area in square metres and number of storeys, where published
dwelling_units_created
Net new dwelling units added by the permit, where published
neighbourhood / builder_name
Neighbourhood and the builder or contractor named on the permit
lat / lng
Geocoded coordinates on every record, for proximity search and mapping
address / normalized_address
Street address, normalized to join with assessment, licence, and inspection records
raw city-specific fields
Original source columns preserved alongside the canonical schema

Every permit is joined on a canonical address, so it lines up with property assessments, zoning, and the rest at the same address. Attach the assessed value to any permit, check the zoning at the parcel, pull the inspections tied to the work, or list the business licences at the address. The full property data API fans out across every dataset for a property from one address, so permits never sit in isolation.

Who uses building permit data

Proptech & real estate

Track new construction, renovations, and demolitions by city and neighbourhood. Power investment screening and neighbourhood intelligence, and flag properties renovated since their last sale, a signal listings miss.

Construction competitive intelligence

Monitor competitor permit activity by builder, value, and type. See who is building what and where, and surface upcoming projects before they break ground.

Insurance & mortgage underwriting

Pull permit history for any address to verify renovations, assess property condition, and flag unpermitted work during underwriting.

B2B sales & lead lists

Build targeted lead lists from live permit activity: high-value new builds, recent renovations, or specific permit types, joined to the builder and the property.

Market research

Measure construction volume and value by city, type, and period. Track where dwelling units are being added and where capital is flowing.

Data journalists

Quantify development across Canadian cities with a single normalized feed. Full historical data via cursor pagination, no portal-hopping.

API example

GET /permit?city=toronto&permit_type=new_construction&limit=20

# New construction permits in Toronto
# Returns: address, permit_type_canonical, status_canonical, construction_value, dwelling_units_created, lat, lng
GET /permit/stats?city=toronto

# Permit counts and total construction value by type and status

GET /permit/coverage

# Per-city coverage: record counts, date range, and refresh cadence

Join to property assessments on normalized_address to attach assessed value, or to inspections and business licences at the same address. Same endpoint pattern across every dataset. One API key, one schema. Attribution to each source authority is on our terms page.

Frequently asked questions

Is there an API for Canadian building permits?

Yes. BuildData's building permit API returns 3.4M+ permit records across 60 Canadian cities as normalized JSON. Each record carries a canonical permit type and status, construction value, area, dwelling units, neighbourhood, builder, and geocoded coordinates, instead of one bespoke schema per municipal open data portal. There is a free tier on RapidAPI.

Which cities are covered?

Building permits span 60 Canadian cities (54 active and 6 historical), including Toronto, Montreal, Vancouver, Calgary, Ottawa, Edmonton, and Winnipeg. Historical cities are municipalities that stopped publishing new permits, but their existing records remain queryable. See the coverage page for the full per-city list.

How often is the building permit data updated?

Permits are refreshed daily. Each city is re-checked against its open data portal on its own cadence, so the data is as current as the municipality publishes it. Every new record is geocoded as it lands.

Can I join building permits to property assessments?

Yes. Every permit is normalized to a canonical address, so it lines up with property assessments, zoning, inspections, and business licences at the same address. Query /permit and /assessment with the same address or coordinates, or use the property data API to fan out across every dataset for a property in a few requests.

Start with 25 free requests per day

No credit card required. Full API access via RapidAPI. OpenAPI spec and docs included.

Part of the BuildData Canadian construction data platform. Join permits to assessments, zoning, and licences for any address with the property data API. Also available: assessments, zoning, business licences, see all coverage.