Shovel Radar Shovel Radar Get sample
Home/ Resources/ How to Read a Canadian Commercial Building Permit (Across All 382 cities)

Reference · 12 min read

How to Read a Canadian Commercial Building Permit (Across All 382 cities)

Every Canadian municipality formats permit records differently. Here's the field-by-field translation between Calgary, Toronto, Vancouver, Montréal, and 87 other cities — plus what the codes actually mean.

Published 2026-05-24 · by Matthew Lloyd · Free, no email gate

1. Why this matters

Every Canadian municipality publishes permits differently. Calgary tags them by quadrant and work-class. Toronto routes them through BIAs and uses six different status codes. Montréal uses arrondissements and "permis de construction" terminology. Vancouver's API returns geometry that other cities don't.

For a contractor running outreach across multiple cities, the question becomes: what does each field actually mean, and is "Permit Issued" the same thing in Halifax as in Brampton? (Spoiler: no.)

This guide walks the most common permit fields across Canada's 10 launch markets, with a translation table at the end.

2. The universal fields

Almost every Canadian permit system tracks these:

3. The fields that differ

3.1. Calgary

Calgary's dataset is the most permissive — it has the most fields, the cleanest schema, and refreshes daily. Beyond the universal fields:

3.2. Toronto

Toronto's permit API is robust but field names follow Toronto's house style:

3.3. Vancouver

Vancouver publishes via a Socrata API and a GeoServer WFS:

3.4. Montréal

Montréal's data is in French (with some English co-fields):

3.5. Edmonton

Edmonton's permits use a similar schema to Calgary's:

3.6. Ottawa

4. Status code translations

"Issued" doesn't mean the same thing everywhere. Here's the practical translation:

What you wantCalgaryTorontoVancouverMontréal
Permit just approvedIssuedPermit IssuedIssuedÉmis
Work completeCompletedClosedClosedFermé
Cancelled by applicantWithdrawnWithdrawnCancelledAnnulé
On holdHoldInactiveHoldEn attente

For trade outreach, you usually only want "permit just approved" — the others have either moved past your window or aren't going to happen.

5. Project value: what's it actually measuring?

Project value in a permit is the declared construction value — what the applicant tells the city the work is going to cost. It's used to calculate permit fees, so applicants have a small incentive to declare it low. Real-world spend is typically 1.2-1.8× the declared value when you include change orders, FF&E, soft costs, and contingency.

The declared value still works as a relative ranking — a $1M permit is a bigger project than a $100K permit. Just don't quote the value directly back to the GC; they know it's understated.

6. The "trade signal" extraction

What Shovel Radar does on top of raw permit data is trade routing: looking at permit class + work class + project value + applicant + sub-permits, and inferring which trades are going to be hired. For example:

You can do this yourself, but it's tedious. The point of a permit feed is to skip that step.

7. Reading a permit in 30 seconds

For a working contractor reviewing the Monday Excel, the read order is:

  1. Address — is this in my service area?
  2. Value — is this in my deal-size band?
  3. Work class — does my trade fit this project?
  4. Applicant / contractor — do I have a relationship with them?
  5. When-to-call — is now the right phase, or do I queue for later?

If all five say yes, you make the call.

8. Further reading

Use the playbook

Shovel Radar gives you the trade-routed permit feed this guide describes.

Weekly Excel. 382 Canadian cities. Same playbook, scaled.

Get a 5-row sample · no credit card

More Shovel Radar resources