Every weekday morning, someone at a Canadian contracting company opens a browser tab and manually checks a municipal permit portal. Sometimes it’s the estimator. Sometimes it’s the owner’s assistant. Sometimes it’s the owner.
They check Vancouver. Then Surrey. Then Burnaby. Then Coquitlam. Then maybe Calgary if they have crews there. Twenty minutes per city, five cities, and they’ve spent two hours generating a list they could have received in their inbox.
This is not an edge case. It’s the standard workflow for small and mid-size contractors across Canada in 2026.
What manual permit checking actually costs
Two hours per day, five days per week, 48 working weeks per year: 480 hours annually on permit monitoring.
At $30 per hour for an admin role, that’s $14,400 per year. At a project manager’s loaded rate, it’s closer to $35,000.
That calculation understates the real cost because manual checking has a systematic flaw: it only works if someone does it every day. Vacations, sick days, busy weeks, whenever the daily check slips, so does the lead coverage. A permit filed on Thursday that a competitor sees Friday and calls Monday is a bid opportunity you’ve already lost by Tuesday.
The five-portal problem
Canadian construction opportunities don’t stay in one city. A framing subcontractor working Metro Vancouver might need to monitor:
- City of Vancouver (opendata.vancouver.ca)
- City of Surrey (data.surrey.ca)
- City of Burnaby (burnaby.ca/permits)
- City of Coquitlam (coquitlam.ca)
- City of Richmond (richmond.ca)
Each portal has a different interface, different field names, different update schedules, and different coverage. Some are proper open data APIs. Some are PDFs. Some are search tools that return one address at a time. None of them talk to each other.
The contractor who wants to monitor Alberta as well now has a different set of portals with different formats. There is no standard.
What you miss when the check slips
The competitive window on a permit lead is short. The sequence looks like this:
- Permit issued
- GC or developer starts contacting subs (typically within 2 to 3 weeks)
- Bids solicited, list closes
- Award made
If you find the permit 30 days after issuance, you are often finding it after the GC has already chosen their subcontractors. You’re not late to the bid, you’re not in the bid at all.
High-volume developers with repeat project pipelines often pre-select their subs before the permit is even filed. The way to get on those lists is to contact them during the pre-permit phase, when they have a development application under review but haven’t broken ground. In cities that publish those applications, that window opens typically 60 to 90 days before most contractors even know the project exists.
What permit tracking software does differently
The core function is simple: instead of you checking portals, the software checks them and sends you what matches your criteria.
A permit tracking tool worth using does five things:
- Ingests data from multiple municipal sources, normalized into a single feed, daily or more frequently
- Lets you set filters, city, work type, minimum declared value, keyword in the description
- Delivers matches to your inbox, morning digest of new permits that fit your criteria
- Tracks history, so you can see when a GC you work with has new activity or when a repeat developer filed again
- Covers pre-permit applications where cities publish them, not just issued permits, but applications still in review
The difference between a permit monitoring tool and a simple email alert is coverage and reliability. A well-built system is pulling from the source data daily, normalizing inconsistencies, and handling the edge cases (format changes, portal outages, data corrections) that break manual workflows.
Who benefits most
Specialty subcontractors, electricians, plumbers, HVAC, framers, roofers. You need volume. Manual monitoring at scale is impractical. A daily digest of all permits matching your work type across your region gives you a systematic lead list instead of hoping GC relationships bring enough work.
General contractors in growth mode, if you’re adding a second crew or entering a new market, permit data tells you where the work is before you commit the overhead. You can validate a new city before opening an office there.
Material suppliers, concrete suppliers, lumber yards, window and door manufacturers. Permit volume by neighbourhood predicts demand. You can pre-position inventory or staffing before the surge hits.
Estimators, instead of spending time sourcing leads, permit alerts make leads come to you. Estimating capacity goes to bid quality, not lead generation.
The alternative to building your own system
You could build this yourself. Download the Vancouver open data CSV daily via a cron job, write a Python script to diff against yesterday’s data, pipe new rows into a Slack channel. That’s maybe a day of engineering work.
Then add Surrey, which has a different CSV format. Then add Calgary, which uses a different portal entirely. Then handle the week where Vancouver’s open data portal returns a 503 for three days. Then handle the schema change Calgary pushed in February.
The engineering work is not the hard part. The maintenance is.
SiteWire handles the infrastructure for 31 Canadian cities. The filters, alerts, and daily digest are ready on day one without writing a line of code.