Canada Building Permits Scraper – 14 Cities, Construction Leads
Pricing
$3.00 / 1,000 permits
Canada Building Permits Scraper – 14 Cities, Construction Leads
Building permits from 14 Canadian cities' official open data in one run: Halifax, Calgary, Edmonton, Winnipeg, Mississauga, Kitchener, Victoria, Surrey and more. Filter by date, value and type.
Pricing
$3.00 / 1,000 permits
Rating
0.0
(0)
Developer
LOUDTZU TZULOUD
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Security
Limited permissionsShare
Canada Building Permits Scraper – Construction Leads from 14 Cities
Canada building permits from 14 cities in one run and one table: Halifax, Calgary, Edmonton, Winnipeg, Mississauga, Oakville, Burlington, Kitchener, Waterloo, Kingston, Victoria, Surrey, Delta and Maple Ridge. Everything comes from each city's official open data, with city, province, source and licence on every row. Use it as a building permits API for Canada, for construction leads, new construction projects, renovation activity and housing-supply research.
Not covered yet: Toronto, Vancouver and Montreal. If you need those cities, this Actor does not have them today (some other Store Actors do, see the comparison below).
Pick your cities, an issue-date range, a project-value range and text filters, and get the newest permits first.
Default search
If you start a run without changing anything, it fetches Halifax, Calgary and Mississauga, 100 newest permits in total (split 34 / 33 / 33, about $0.30), with no date, value or text filters. The Console form is pre-filled the same way.
What you get
- Permit number, permit type, work type and status
- Issue date (plus application, completion and expiry dates where the city publishes them)
- Estimated construction value in CAD (where published)
- Units created, storeys and floor area for cities that publish them
sourceandlicenceon every row (official open data, attribution included)
Missing values are null, never 0. A project value, floor area, storey count or map point of 0 in the city data means "not recorded", so it is returned as null. Unit counts keep a real 0 (for example "0 new units"). Money and areas are rounded to 2 decimals.
Privacy: owner, applicant and contractor names, street addresses and free-text descriptions are not exported (the same rules as our single-city permit Actors).
Example output
One real row from a test run on Oct 29, 2026 (Calgary):
{"city": "Calgary","province": "Alberta","provinceCode": "AB","permitNumber": "BP2025-23210","permitType": "Residential Improvement Project","permitCategory": "Building","permitClass": "1110 - Below Grade Suite","permitClassGroup": "Secondary Suites","useCategory": "Residential","workType": "Alteration","workClassGroup": "Improvement","workCategory": "Existing","status": "Issued Permit","applicationDate": "2025-12-04","issuedDate": "2026-10-28","completedDate": null,"estimatedValueCad": 34932,"residentialUnits": 1,"areaSqft": null,"communityCode": "WHL","neighbourhood": "WEST HILLHURST","latitude": 51.06,"longitude": -114.1,"futureDate": false,"source": "https://data.calgary.ca/Business-and-Economic-Activity/Building-Permits/c2es-76ed","licence": "Contains information licensed under the Open Government Licence – City of Calgary. (v2.1) Licence: https://data.calgary.ca/stories/s/Open-Calgary-Terms-of-Use/u45n-7awa"}
Fields beyond the common ones differ by city, because each city publishes different columns.
Input
| Field | What it does |
|---|---|
cities | One or more of: halifax, kitchener, oakville, mississauga, burlington, waterloo, kingston, victoria, surrey, delta, maple-ridge, calgary, edmonton, winnipeg |
dateFrom / dateTo | Issue-date range, YYYY-MM-DD (Delta: completion date, see below) |
minValue / maxValue | Estimated project value in CAD |
permitType, workType, status, keyword | Text filters (contains, not case-sensitive) |
maxItems | Total permits across all cities, newest first. Default 100, up to 50,000 |
maxItemsPerCity | Optional limit for each city, up to 50,000 |
How maxItems and maxItemsPerCity work together. maxItems is the total for the whole run. It is split evenly across the cities you pick (rounded up, in the order you list them). If a city has fewer matching permits than its share, the unused part passes on to the cities after it. Cities skipped because of a filter (see below) get no share. maxItemsPerCity, if you set it, is an extra limit: a city never returns more than maxItemsPerCity or its share, whichever is smaller. Example: 4 cities, maxItems 100 → 25 each; with maxItemsPerCity 10 → at most 10 each, 40 in total.
Max charge per run. If you set a maximum charge for the run and it is reached, the run stops, keeps (and charges) what it saved, and the status message says "stopped at the max charge per run you set" and lists the cities it never reached. The ERRORS record gets a charge_cap entry with the same list.
An empty city list, a blank or unknown city name, a whitespace-only filter, a bad date or a bad number stops the run before any request, with a clear message and an ERRORS record, and nothing is charged. Unknown input keys are ignored with a warning in the log. If no permit matches, the run fails and nothing is charged.
Value filters. minValue and maxValue are applied by the city's server in the 12 cities that publish a project value, and checked again on every row before it is saved, so a row outside your range is never returned or charged. Permits with no value recorded (blank or 0) are left out when you set either value filter. Delta and Winnipeg publish no project value, so they are skipped when you set one.
Delta dates. Delta publishes no issue date, only a completion date. When you set dateFrom or dateTo, Delta is still searched but on completedDate (permits completed in your range, not issued in it), issuedDate stays null, and the run log, the status message and the ERRORS record (type warning) say so.
When a city is skipped. A city is skipped (not queried, nothing charged for it) only when it has no column for a filter you set. That happens in exactly these cases:
| Filter you set | Skipped cities |
|---|---|
minValue or maxValue | Delta, Winnipeg |
workType | Kingston, Victoria, Delta; Halifax unless workType is exactly New Building, Addition or Renovation |
status | Surrey, Edmonton |
dateFrom, dateTo, permitType and keyword never skip a city. Each skip is named in the run log, listed in the status message and added to the ERRORS record (type skipped). The other cities still run. If every city you picked is skipped, the run fails and nothing is charged.
Permit-type and work-type words by city
The text filters match the city's own words, and the words differ a lot between cities. The most common values, read from each city's data on Oct 29, 2026 (Kitchener and Oakville: most common since 2024):
| City | permitType values | workType values |
|---|---|---|
| Halifax | Residential Building Permit; Mixed Use & Commercial Building Permit | New Building, Renovation, Addition (exact) |
| Kitchener | Residential Building Permit, Residential Building (House), Industrial/Commercial/Institutional Building Permit, Residential Alteration, Plumbing, Permanent Sign Permits, Non-Residential Alteration, Residential Accessory (1 or 2 units), Residential Building (Multi), Mixed Use Building Permit | New Construction, Alterations / Improvements to Building, Addition to Building, Interior Finish, "New, Addition or Alteration", Single Dwelling Converted to Multiple Dwelling, Alteration |
| Oakville | House - Part 9 - Detached House, Single Family Detached Dwelling, Row or Town House, House - Part 9 - Town House, House - Part 3 - Town House Row, House - Part 9 - Semi detached dwelling, Bldg over 5000 sqft F2, Deck | Alteration/repair OR Alteration/finish to an existing building, New Const., New Construction, Alt./Improve, Addition to an existing building, Addition, Demolition |
| Mississauga | RESIDENTIAL, COMMERCIAL, INDUSTRIAL, PUBLIC | ALTERATION TO EXISTING BLDG, NEW BUILDING, ADDITION AND ALTERATION, DEMOLITION, FASCIA SIGN, OTHER |
| Burlington | SO Other Single Detached Dwelling, SF New Single Detached Dwelling, M9 Multi-Res (Part 9), M3 Multi-Res (Part 3), CP Commercial, IP Industrial, PL Plumbing | Renovation (No ZC Reqd), New, Renovation, Addition, Demolition -Building |
| Waterloo | Residential Building Permit, Residential Building, Non Residential Building Permit, Residential Accessory | New, InteriorWork, ExteriorWork, Addition, Demolition |
| Kingston | Alteration or Renovation, New Construction, Addition, Plumbing, Deck, Accessory Structure, Demolition, Sign | – (no column) |
| Victoria | Building Permit (BP), Electrical Permit (EP), Plumbing Permit (PP), Sign Permit (SP) | – (no column) |
| Surrey | Single Family, Single Family (Secondary Suite), Garden Suite, Townhouse, Duplex, Offices, Retail, Warehouse | New, Tenant Improvement, Addition, Renovation, Demolition |
| Delta | RESIDENTIAL, MULTI-RESIDENTIAL, COMMERCIAL, PLUMBING PERMIT, DEMOLITION - RESIDENTIAL | – (no column) |
| Maple Ridge | Building Permit, Electrical Permit, Gas Permit, Plumbing Permit, Sprinkler Permit, Sign | New, Addition, Renovation, Replace, Basement Finish |
| Calgary | Residential Improvement Project, Single Construction Permit, Commercial / Multi Family Project, Demolition | New, Alteration, Addition, Demolition, Repair |
| Edmonton | Home Improvement; Single, Semi-detached & Rowhousing; House Combination; Commercial Final; Other Miscellaneous Building | (01) New, (01) Building - New, (02) Addition, (03) Interior Alterations, (99) Demolition |
| Winnipeg | Housing, Multi-Residential, Accessory Structures, Office, Retail, Sign | Construct New, Construct Addition, Interior Alteration, Develop Lower Level, Demolish |
permitType "Residential" returns 0 permits in Oakville, Burlington, Kingston, Victoria and Edmonton (checked live on Oct 29, 2026), because those cities don't use that word (use "Dwelling", "House", "Multi-Res", "Home Improvement" and so on). In Surrey it matches only 3 permits (type "Club, Residential"), and in Maple Ridge only an old, unused "Temporary Residential Use (Do Not Use)" type, so use "Single Family", "Townhouse" or "Building Permit" there. In Kitchener and Waterloo it also matches "Non-Residential …" types. Kingston and Victoria have no residential permit type at all: Kingston's types describe the work (use permitType "New Construction", "Addition" or "Alteration or Renovation"), and Victoria's describe the trade (use "Building Permit (BP)"); neither says whether the building is a home. For new homes across cities, workType "New" is the most portable filter.
Pricing
Pay per result: $0.003 per permit on every Apify plan, no start fee. 100 permits cost $0.30.
How it compares (Apify Store, Oct 29, 2026)
Prices per permit as listed on each Actor's Apify Store page on Oct 29, 2026, one row per Apify plan. They may change; check the Store page before you buy. We are not the cheapest option on every plan, and we do not cover Toronto, Vancouver or Montreal, which some of these Actors do.
| Actor | Apify plan | Price per permit | Start fee per run | Cities |
|---|---|---|---|---|
| This Actor | Free | $0.003 | none | 14 Canadian cities (listed above) |
| This Actor | Bronze | $0.003 | none | 14 Canadian cities (listed above) |
| This Actor | Silver | $0.003 | none | 14 Canadian cities (listed above) |
| This Actor | Gold | $0.003 | none | 14 Canadian cities (listed above) |
| This Actor | Platinum | $0.003 | none | 14 Canadian cities (listed above) |
| This Actor | Diamond | $0.003 | none | 14 Canadian cities (listed above) |
| truenorthdata/canada-building-permits | Free | $0.005 | $0.005 | 5 cities: Toronto, Vancouver, Calgary, Edmonton, Montréal |
| truenorthdata/canada-building-permits | Bronze | $0.005 | $0.005 | 5 cities: Toronto, Vancouver, Calgary, Edmonton, Montréal |
| truenorthdata/canada-building-permits | Silver | $0.005 | $0.005 | 5 cities: Toronto, Vancouver, Calgary, Edmonton, Montréal |
| truenorthdata/canada-building-permits | Gold | $0.005 | $0.005 | 5 cities: Toronto, Vancouver, Calgary, Edmonton, Montréal |
| truenorthdata/canada-building-permits | Platinum | $0.005 | $0.005 | 5 cities: Toronto, Vancouver, Calgary, Edmonton, Montréal |
| truenorthdata/canada-building-permits | Diamond | $0.005 | $0.005 | 5 cities: Toronto, Vancouver, Calgary, Edmonton, Montréal |
| plotpointtech/building-permits-feed | Free | $0.004 | $0.00005 | 13 US/CA cities; Canada: Calgary, Edmonton |
| plotpointtech/building-permits-feed | Bronze | $0.0034 | $0.00005 | 13 US/CA cities; Canada: Calgary, Edmonton |
| plotpointtech/building-permits-feed | Silver | $0.003 | $0.00005 | 13 US/CA cities; Canada: Calgary, Edmonton |
| plotpointtech/building-permits-feed | Gold | $0.00248 | $0.00005 | 13 US/CA cities; Canada: Calgary, Edmonton |
| plotpointtech/building-permits-feed | Platinum | $0.00248 | $0.00005 | 13 US/CA cities; Canada: Calgary, Edmonton |
| plotpointtech/building-permits-feed | Diamond | $0.00248 | $0.00005 | 13 US/CA cities; Canada: Calgary, Edmonton |
| openpermits/building-permits-canada-us | Free | $0.0035 | $0.00005 | 8 US/CA cities; Canada: Calgary, Edmonton, Toronto, Vancouver |
| openpermits/building-permits-canada-us | Bronze | $0.0035 | $0.00005 | 8 US/CA cities; Canada: Calgary, Edmonton, Toronto, Vancouver |
| openpermits/building-permits-canada-us | Silver | $0.0035 | $0.00005 | 8 US/CA cities; Canada: Calgary, Edmonton, Toronto, Vancouver |
| openpermits/building-permits-canada-us | Gold | $0.0035 | $0.00005 | 8 US/CA cities; Canada: Calgary, Edmonton, Toronto, Vancouver |
| openpermits/building-permits-canada-us | Platinum | $0.0035 | $0.00005 | 8 US/CA cities; Canada: Calgary, Edmonton, Toronto, Vancouver |
| openpermits/building-permits-canada-us | Diamond | $0.0035 | $0.00005 | 8 US/CA cities; Canada: Calgary, Edmonton, Toronto, Vancouver |
| chorelet/building-permits-scraper | Free | $0.001 | $0.00005 | 10 US/CA cities; Canada: Calgary, Edmonton, Winnipeg |
| chorelet/building-permits-scraper | Bronze | $0.0009 | $0.00005 | 10 US/CA cities; Canada: Calgary, Edmonton, Winnipeg |
| chorelet/building-permits-scraper | Silver | $0.0008 | $0.00005 | 10 US/CA cities; Canada: Calgary, Edmonton, Winnipeg |
| chorelet/building-permits-scraper | Gold | $0.0007 | $0.00005 | 10 US/CA cities; Canada: Calgary, Edmonton, Winnipeg |
| chorelet/building-permits-scraper | Platinum | $0.0007 | $0.00005 | 10 US/CA cities; Canada: Calgary, Edmonton, Winnipeg |
| chorelet/building-permits-scraper | Diamond | $0.0007 | $0.00005 | 10 US/CA cities; Canada: Calgary, Edmonton, Winnipeg |
| themineworks/building-permits-construction-leads | Free | $0.001 | $0.01 | 12 US/CA cities; Canada: Edmonton |
| themineworks/building-permits-construction-leads | Bronze | $0.0009 | $0.01 | 12 US/CA cities; Canada: Edmonton |
| themineworks/building-permits-construction-leads | Silver | $0.00075 | $0.01 | 12 US/CA cities; Canada: Edmonton |
| themineworks/building-permits-construction-leads | Gold | $0.0006 | $0.01 | 12 US/CA cities; Canada: Edmonton |
| themineworks/building-permits-construction-leads | Platinum | $0.0006 | $0.01 | 12 US/CA cities; Canada: Edmonton |
| themineworks/building-permits-construction-leads | Diamond | $0.0006 | $0.01 | 12 US/CA cities; Canada: Edmonton |
| gaelasao/planning-data-au-nz-fr | Free | $0.005 | $0.00005 | US, Canada, Ireland, France, NSW, NZ; Canada: Calgary, Edmonton, Winnipeg |
| gaelasao/planning-data-au-nz-fr | Bronze | $0.005 | $0.00005 | US, Canada, Ireland, France, NSW, NZ; Canada: Calgary, Edmonton, Winnipeg |
| gaelasao/planning-data-au-nz-fr | Silver | $0.0045 | $0.00005 | US, Canada, Ireland, France, NSW, NZ; Canada: Calgary, Edmonton, Winnipeg |
| gaelasao/planning-data-au-nz-fr | Gold | $0.004 | $0.00005 | US, Canada, Ireland, France, NSW, NZ; Canada: Calgary, Edmonton, Winnipeg |
| gaelasao/planning-data-au-nz-fr | Platinum | $0.004 | $0.00005 | US, Canada, Ireland, France, NSW, NZ; Canada: Calgary, Edmonton, Winnipeg |
| gaelasao/planning-data-au-nz-fr | Diamond | $0.004 | $0.00005 | US, Canada, Ireland, France, NSW, NZ; Canada: Calgary, Edmonton, Winnipeg |
| steadfetch/building-permits-extractor | Free | $0.004 | $0.00005 | 4 US/CA cities; Canada: Calgary |
| steadfetch/building-permits-extractor | Bronze | $0.004 | $0.00005 | 4 US/CA cities; Canada: Calgary |
| steadfetch/building-permits-extractor | Silver | $0.0036 | $0.00005 | 4 US/CA cities; Canada: Calgary |
| steadfetch/building-permits-extractor | Gold | $0.0032 | $0.00005 | 4 US/CA cities; Canada: Calgary |
| steadfetch/building-permits-extractor | Platinum | $0.0032 | $0.00005 | 4 US/CA cities; Canada: Calgary |
| steadfetch/building-permits-extractor | Diamond | $0.0032 | $0.00005 | 4 US/CA cities; Canada: Calgary |
| shimon_ben-el/canadian-building-permits | Free | $0.015 | $0.00005 | 2 cities: Calgary, Edmonton |
| shimon_ben-el/canadian-building-permits | Bronze | $0.015 | $0.00005 | 2 cities: Calgary, Edmonton |
| shimon_ben-el/canadian-building-permits | Silver | $0.015 | $0.00005 | 2 cities: Calgary, Edmonton |
| shimon_ben-el/canadian-building-permits | Gold | $0.015 | $0.00005 | 2 cities: Calgary, Edmonton |
| shimon_ben-el/canadian-building-permits | Platinum | $0.015 | $0.00005 | 2 cities: Calgary, Edmonton |
| shimon_ben-el/canadian-building-permits | Diamond | $0.015 | $0.00005 | 2 cities: Calgary, Edmonton |
Single-city Actors also exist, several cheaper per permit than this one for their one city, for example scrapingmonkey's Toronto and Vancouver scrapers ($0.003 on Free, $0.001 on Bronze and above), pink_comic's Calgary and Edmonton leads ($0.002) and a free Edmonton Actor (acid-base). Start fees are charged once per run (per GB of memory). Choose this Actor if you want the 14 cities above in one consistent table; choose another if you need Toronto, Vancouver or Montreal.
FAQ
Which Canadian cities are covered? 14 cities in Nova Scotia, Ontario, British Columbia, Alberta and Manitoba (list above). Toronto, Vancouver and Montreal are not covered yet. Ask in Issues for your city.
How fresh is the data? Each run queries the city's live open data portal, so you get whatever the city has published, usually updated daily or weekly.
Can I get construction leads for new homes only? Yes: set workType to New (Halifax: New Building) and, optionally, minValue. Kingston, Victoria and Delta have no work-type column and are skipped with that filter; for them use permitType (Kingston "New Construction", Delta "RESIDENTIAL").
Does it include owner or contractor names? No. Personal names, addresses and descriptions are left out on purpose.
Can I export to CSV or Excel? Yes, from the dataset tab (CSV, Excel, JSON), or through the Apify API, n8n, Make or Zapier.
Is this legal to use commercially? Yes. Every city's licence or terms allow commercial reuse. The conditions differ a little by city (see the licence notes below). Keep the licence field when you republish, and do not imply that any city endorses your product.
Sources and licences
Licence notes
- Attribution: every row carries the city's credit line and licence link in
licence. Halifax, Kitchener, Oakville, Victoria, Surrey, Delta, Maple Ridge, Kingston, Calgary (v2.1), Edmonton and Winnipeg require that credit when you use or republish the data. - Mississauga and Burlington: reuse, commercial use and redistribution are allowed. Credit is optional (the City may ask you to remove it). If you redistribute the data, include the City's Terms of Use (or their URL) and make recipients bound by them.
- Waterloo: credit is optional. If you give credit, use "Contains information provided by the City of Waterloo under licence". Do not misrepresent the data or its source.
- Kingston: the City takes no responsibility for the accuracy of the data.
- Maple Ridge: the City's Terms of Use also apply.
- Personal information: none of these licences cover personal information or city names, crests, logos or official marks.
- No endorsement: this Actor is independent. It does not use city names, crests, logos or official marks as branding and does not suggest official status or endorsement by any city.
Privacy
Owner, applicant and contractor names (including Maple Ridge's contractor field, since some contractors are sole traders), street addresses, parcel IDs and free-text work descriptions are not exported. Where a city publishes them, postal codes are cut to the first 3 characters and map points are rounded to about 1 km. Any phone number or email address that appears in a text field is replaced with [removed]. The output is reduced, not anonymous: a permit number can be looked up in city records and may relate to a property.