!

Building material suppliers: a permit application is a customer announcing themselves

Photo of Alex Wilkinson
Alex Wilkinson
CEO of Houski
2026-07-15

Somebody who pulls a building permit is about to spend money on materials. Not "considering a project someday." The drawings are done, the application fee is paid, and in a few weeks a truck is going to deliver lumber, concrete, drywall, windows, or roofing to that address. The only open question is whose truck.

Most suppliers find out about projects when the buyer walks in. The permit record exists weeks earlier, it is attached to a specific address, and it frequently says what the project is, what it is estimated to cost, and who is running it.

Houski carries building permits for Calgary, Edmonton, Toronto, and Vancouver, attached to the property record so the permit and the property details come back in one query.

The volume is real

Counting properties with a permit application filed since January 1 of this year: Toronto has 19,579, Calgary has 8,300, Vancouver has 4,605, and Edmonton has 3,653. That is roughly 36,000 addresses across four cities where a project is in motion right now, and the year is only half over.

Nobody can visit 35,000 addresses. But a distributor can absolutely rank them, territory them, and put the top slice in front of an outside sales team every Monday morning.

Pulling the active projects

Add expand=permits to a property query and filter on the application date:

API request
TypeScript code
const houski_data = async (): Promise<PropertiesResponse> => {

    // You must copy the PropertiesResponse type declarations from the 
    // Houski API documentation to strongly type the response

    const url = new URL('https://api.houski.ca/properties');
    url.searchParams.set('api_key', 'YOUR_API_KEY');
    url.searchParams.set('city', 'calgary');
    url.searchParams.set('country_abbreviation', 'ca');
    url.searchParams.set('expand', 'permits');
    url.searchParams.set('expand_permit_application_date_gte', '2026-01-01');
    url.searchParams.set('expand_permit_type_eq', 'Building');
    url.searchParams.set('filter_expand_match', 'all');
    url.searchParams.set('province_abbreviation', 'ab');
    url.searchParams.set('results_per_page', '25');
    url.searchParams.set('select', 'address,community,property_type,construction_year,interior_sq_m');

    const response = await fetch(url);
    const data = await response.json();

    return data;
}

(async () => {
let data: PropertiesResponse = await houski_data();

// Log the response
console.log(data);
})();
API response
JSON
{
  "cache_hit": false,
  "cost_cents": 6.25,
  "data": [
    {
      "address": "176 Carringwood Way NW",
      "community": "Carrington",
      "construction_year": 2022,
      "interior_sq_m": 167.22409057617188,
      "permits": [
        {
          "expand_permit_application_date": "2026-07-15",
          "expand_permit_content": "Status: Pre Backfill Phase|Issued date: 2026-07-29T00:00:00.000|Completed date: N/A|Estimated project cost: 181510.4|Permit class: Two Family|Permit type: Single Construction Permit|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: MATTAMY HOMES CALGARY|contractor: MATTAMY (ABERDEEN HEIGHTS)|estimated project cost: 181510.4|Total square feet affected: 1635.0|Housing units affected: 1",
          "expand_permit_id": "BP2026-13237",
          "expand_permit_type": "Building",
          "property_id": "10051cb22ed0ecc3"
        }
      ],
      "property_id": "10051cb22ed0ecc3",
      "property_type": "Land"
    },
    {
      "address": "531 Wolf Creek Way SE",
      "community": "Wolf Willow",
      "construction_year": 2023,
      "interior_sq_m": 153.47454833984375,
      "permits": [
        {
          "expand_permit_application_date": "2026-07-21",
          "expand_permit_content": "Status: Issued Permit|Issued date: 2026-08-05T00:00:00.000|Completed date: N/A|Estimated project cost: 46676.96|Permit class: Garage|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: ELEGANT BUILDERS|contractor: ELEGANT BUILDERS|estimated project cost: 46676.96|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-13637",
          "expand_permit_type": "Building",
          "property_id": "100b3d7d442d179e"
        }
      ],
      "property_id": "100b3d7d442d179e",
      "property_type": "Duplex"
    },
    {
      "address": "2332 54 Avenue SW",
      "community": "North Glenmore Park",
      "construction_year": 2014,
      "interior_sq_m": 172.1479034423828,
      "permits": [
        {
          "expand_permit_application_date": "2026-05-28",
          "expand_permit_content": "Status: Completed|Issued date: 2026-06-02T00:00:00.000|Completed date: 2026-06-25T00:00:00.000|Estimated project cost: 1644.16|Permit class: Two Family|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: Alteration|Work class group: Improvement|Work class mapped: Existing|applicant: U2ME MANAGEMENT/U2ME DECK|contractor: N/A|estimated project cost: 1644.16|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-09414",
          "expand_permit_type": "Building",
          "property_id": "101dfb2c95c4ce71"
        }
      ],
      "property_id": "101dfb2c95c4ce71",
      "property_type": "Duplex"
    },
    {
      "address": "16028 37 Street SW",
      "community": "Alpine Park",
      "construction_year": 2024,
      "interior_sq_m": 191.8431854248047,
      "permits": [
        {
          "expand_permit_application_date": "2026-03-31",
          "expand_permit_content": "Status: Issued Permit|Issued date: 2026-04-14T00:00:00.000|Completed date: N/A|Estimated project cost: 1213000.0|Permit class: Retaining Wall|Permit type: Commercial / Multi Family Project|Permit type mapped: Building|Work class: Alteration|Work class group: Improvement|Work class mapped: Existing|applicant: EXP SERVICES|contractor: N/A|estimated project cost: 1213000.0|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-05059",
          "expand_permit_type": "Building",
          "property_id": "1024a620aa2c9816"
        }
      ],
      "property_id": "1024a620aa2c9816",
      "property_type": "Commercial"
    },
    {
      "address": "82 Annette Hill NW",
      "community": "Glacier Ridge",
      "construction_year": 2025,
      "interior_sq_m": 152.7313232421875,
      "permits": [
        {
          "expand_permit_application_date": "2026-05-04",
          "expand_permit_content": "Status: Pre Backfill Phase|Issued date: 2026-05-29T00:00:00.000|Completed date: N/A|Estimated project cost: 416190.24|Permit class: Single Family|Permit type: Single Construction Permit|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: SHANE HOMES|contractor: SHANE HOMES|estimated project cost: 416190.24|Total square feet affected: 2631.0|Housing units affected: 1",
          "expand_permit_id": "BP2026-07482",
          "expand_permit_type": "Building",
          "property_id": "102ed98446a2e1d5"
        }
      ],
      "property_id": "102ed98446a2e1d5",
      "property_type": "Land"
    },
    {
      "address": "154 Annette Landing NW",
      "community": "Glacier Ridge",
      "construction_year": 2025,
      "interior_sq_m": 171.1259765625,
      "permits": [
        {
          "expand_permit_application_date": "2026-05-05",
          "expand_permit_content": "Status: Pre Backfill Phase|Issued date: 2026-06-03T00:00:00.000|Completed date: N/A|Estimated project cost: 410807.89|Permit class: Single Family|Permit type: Single Construction Permit|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: TRICO HOMES|contractor: TRICO HOMES|estimated project cost: 410807.89|Total square feet affected: 2586.0|Housing units affected: 1",
          "expand_permit_id": "BP2026-07607",
          "expand_permit_type": "Building",
          "property_id": "10381eaf2ad5bcaa"
        }
      ],
      "property_id": "10381eaf2ad5bcaa",
      "property_type": "Land"
    },
    {
      "address": "354 Prestwick Circle SE",
      "community": "McKenzie Towne",
      "construction_year": 2004,
      "interior_sq_m": 136.10182189941406,
      "permits": [
        {
          "expand_permit_application_date": "2026-05-28",
          "expand_permit_content": "Status: Completed|Issued date: 2026-06-03T00:00:00.000|Completed date: 2026-06-19T00:00:00.000|Estimated project cost: 38576.0|Permit class: Garage|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: V AAR EXTERIORS AND HOME IMPROVEMENTS|contractor: N/A|estimated project cost: 38576.0|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-09385",
          "expand_permit_type": "Building",
          "property_id": "1039cae0d95f35f3"
        }
      ],
      "property_id": "1039cae0d95f35f3",
      "property_type": "House"
    },
    {
      "address": "57 Elveden Drive SW",
      "community": "Springbank Hill",
      "construction_year": 1961,
      "interior_sq_m": 285.6744689941406,
      "permits": [
        {
          "expand_permit_application_date": "2026-04-09",
          "expand_permit_content": "Status: Completed|Issued date: 2026-05-06T00:00:00.000|Completed date: 2026-07-27T00:00:00.000|Estimated project cost: N/A|Permit class: Unspecified|Permit type: Demolition|Permit type mapped: Demolition|Work class: Demolition|Work class group: Demolition|Work class mapped: Existing|applicant: WILLIAM BLAKE HOMES|contractor: CREATIVE SOLUTIONS CONTRACTING SERVICES|estimated project cost: N/A|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-05600",
          "expand_permit_type": "Building",
          "property_id": "103b35cc5be96cc"
        }
      ],
      "property_id": "103b35cc5be96cc",
      "property_type": "House"
    },
    {
      "address": "10 Varsconna Place NW",
      "community": "Varsity",
      "construction_year": 1968,
      "interior_sq_m": 107.0234146118164,
      "permits": [
        {
          "expand_permit_application_date": "2026-02-15",
          "expand_permit_content": "Status: Completed|Issued date: 2026-03-06T00:00:00.000|Completed date: 2026-04-02T00:00:00.000|Estimated project cost: 8000.0|Permit class: Single Family|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: Alteration|Work class group: Improvement|Work class mapped: Existing|applicant: N/A|contractor: N/A|estimated project cost: 8000.0|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-02296",
          "expand_permit_type": "Building",
          "property_id": "103ba1788fdd5d24"
        }
      ],
      "property_id": "103ba1788fdd5d24",
      "property_type": "House"
    },
    {
      "address": "32 Mercado Landing SE",
      "community": "Mahogany",
      "construction_year": 2025,
      "interior_sq_m": 154.21775817871094,
      "permits": [
        {
          "expand_permit_application_date": "2026-06-25",
          "expand_permit_content": "Status: Pre Board Phase|Issued date: 2026-07-29T00:00:00.000|Completed date: N/A|Estimated project cost: 462988.08|Permit class: Single Family|Permit type: Single Construction Permit|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: JAYMAN BUILT|contractor: JAYMAN BUILT|estimated project cost: 462988.08|Total square feet affected: 2879.0|Housing units affected: 1",
          "expand_permit_id": "BP2026-11789",
          "expand_permit_type": "Building",
          "property_id": "1043e90be0ff39bc"
        }
      ],
      "property_id": "1043e90be0ff39bc",
      "property_type": "Land"
    },
    {
      "address": "36 Riverview Mews SE",
      "community": "Riverbend",
      "construction_year": 1992,
      "interior_sq_m": 139.3533935546875,
      "permits": [
        {
          "expand_permit_application_date": "2026-05-05",
          "expand_permit_content": "Status: Completed|Issued date: 2026-05-15T00:00:00.000|Completed date: 2026-07-03T00:00:00.000|Estimated project cost: 9688.8|Permit class: Single Family|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: Alteration|Work class group: Improvement|Work class mapped: Existing|applicant: BIG DOG CONTRACTING|contractor: BIG DOG CONTRACTING|estimated project cost: 9688.8|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-07647",
          "expand_permit_type": "Building",
          "property_id": "104bddb1f29468b7"
        }
      ],
      "property_id": "104bddb1f29468b7",
      "property_type": "House"
    },
    {
      "address": "32 Lucas Gr NW",
      "community": "Livingston",
      "construction_year": 2025,
      "interior_sq_m": 166.38795471191406,
      "permits": [
        {
          "expand_permit_application_date": "2026-07-02",
          "expand_permit_content": "Status: Pre Board Phase|Issued date: 2026-07-27T00:00:00.000|Completed date: N/A|Estimated project cost: 277910.95|Permit class: Single Family|Permit type: Single Construction Permit|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: MORRISON HOMES (CALGARY)|contractor: MORRISON HOMES (CALGARY)|estimated project cost: 277910.95|Total square feet affected: 1837.0|Housing units affected: 1",
          "expand_permit_id": "BP2026-12292",
          "expand_permit_type": "Building",
          "property_id": "105706a9959d2c56"
        }
      ],
      "property_id": "105706a9959d2c56",
      "property_type": "Land"
    },
    {
      "address": "4227 Britannia Lane SW",
      "community": "Britannia",
      "construction_year": 2003,
      "interior_sq_m": 294.59307861328125,
      "permits": [
        {
          "expand_permit_application_date": "2026-04-22",
          "expand_permit_content": "Status: Issued Permit|Issued date: 2026-04-23T00:00:00.000|Completed date: N/A|Estimated project cost: 11552.0|Permit class: Garage|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: DURABLE DECKS|contractor: N/A|estimated project cost: 11552.0|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-06562",
          "expand_permit_type": "Building",
          "property_id": "106484ecec1afe2f"
        }
      ],
      "property_id": "106484ecec1afe2f",
      "property_type": "House"
    },
    {
      "address": "715 33A Street NW",
      "community": "Parkdale",
      "construction_year": 1951,
      "interior_sq_m": 152.26681518554688,
      "permits": [
        {
          "expand_permit_application_date": "2026-05-06",
          "expand_permit_content": "Status: Issued Permit|Issued date: 2026-06-30T00:00:00.000|Completed date: N/A|Estimated project cost: 55057.6|Permit class: Garage|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: N/A|contractor: N/A|estimated project cost: 55057.6|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-07741",
          "expand_permit_type": "Building",
          "property_id": "106489d7ed08be4e"
        }
      ],
      "property_id": "106489d7ed08be4e",
      "property_type": "Apartment"
    },
    {
      "address": "175 Tarawood Road NE",
      "community": "Taradale",
      "construction_year": 2003,
      "interior_sq_m": 120.77294921875,
      "permits": [
        {
          "expand_permit_application_date": "2026-04-20",
          "expand_permit_content": "Status: New|Issued date: N/A|Completed date: N/A|Estimated project cost: 38576.0|Permit class: Garage|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: AS DESIGNERS|contractor: N/A|estimated project cost: 38576.0|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-06314",
          "expand_permit_type": "Building",
          "property_id": "1069697af89ddf76"
        }
      ],
      "property_id": "1069697af89ddf76",
      "property_type": "House"
    },
    {
      "address": "372 Belmont Place SW",
      "community": "Belmont",
      "construction_year": 2025,
      "interior_sq_m": 194.67669677734375,
      "permits": [
        {
          "expand_permit_application_date": "2026-02-19",
          "expand_permit_content": "Status: Pre Backfill Phase|Issued date: 2026-02-27T00:00:00.000|Completed date: N/A|Estimated project cost: 351055.52|Permit class: Single Family|Permit type: Single Construction Permit|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: CEDARGLEN GROUP (THE)|contractor: CEDARGLEN GROUP (THE)|estimated project cost: 351055.52|Total square feet affected: 2188.0|Housing units affected: 1",
          "expand_permit_id": "BP2026-02528",
          "expand_permit_type": "Building",
          "property_id": "106a8c59a68f5890"
        }
      ],
      "property_id": "106a8c59a68f5890",
      "property_type": "Land"
    },
    {
      "address": "36 Ambledale Crescent NW",
      "community": "Moraine",
      "construction_year": 2025,
      "interior_sq_m": 192.02899169921875,
      "permits": [
        {
          "expand_permit_application_date": "2026-05-15",
          "expand_permit_content": "Status: Pre Backfill Phase|Issued date: 2026-06-09T00:00:00.000|Completed date: N/A|Estimated project cost: 401259.09|Permit class: Single Family|Permit type: Single Construction Permit|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: TRICO HOMES|contractor: TRICO HOMES|estimated project cost: 401259.09|Total square feet affected: 2538.0|Housing units affected: 1",
          "expand_permit_id": "BP2026-08557",
          "expand_permit_type": "Building",
          "property_id": "106c3f67bcb9824d"
        }
      ],
      "property_id": "106c3f67bcb9824d",
      "property_type": "Land"
    },
    {
      "address": "648 Savanna Drive NE",
      "community": "Saddle Ridge",
      "construction_year": 2024,
      "interior_sq_m": 233.277587890625,
      "permits": [
        {
          "expand_permit_application_date": "2026-03-26",
          "expand_permit_content": "Status: Pre Board Phase|Issued date: 2026-06-05T00:00:00.000|Completed date: N/A|Estimated project cost: 193628.44|Permit class: Two Family|Permit type: Single Construction Permit|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: EXCEL HOMES LIMITED PARTNERSHIP|contractor: EXCEL HOMES LIMITED PARTNERSHIP|estimated project cost: 193628.44|Total square feet affected: 1748.0|Housing units affected: 1",
          "expand_permit_id": "BP2026-04760",
          "expand_permit_type": "Building",
          "property_id": "107205f9c16a2428"
        }
      ],
      "property_id": "107205f9c16a2428",
      "property_type": "Land"
    },
    {
      "address": "2 3927 Edmonton Trail NE",
      "community": "Greenview Industrial Park",
      "construction_year": 1976,
      "interior_sq_m": 74.1360092163086,
      "permits": [
        {
          "expand_permit_application_date": "2026-02-10",
          "expand_permit_content": "Status: Pending Plans Review Assignment|Issued date: N/A|Completed date: N/A|Estimated project cost: 12000.0|Permit class: Commercial|Permit type: Commercial / Multi Family Project|Permit type mapped: Building|Work class: Alteration|Work class group: Improvement|Work class mapped: Existing|applicant: 520 WELLNESS CENTER|contractor: N/A|estimated project cost: 12000.0|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-01984",
          "expand_permit_type": "Building",
          "property_id": "1076ba3e5747f800"
        }
      ],
      "property_id": "1076ba3e5747f800",
      "property_type": "Commercial"
    },
    {
      "address": "214 Aspen Summit Place SW",
      "community": "Aspen Woods",
      "construction_year": 2024,
      "interior_sq_m": 229.00408935546875,
      "permits": [
        {
          "expand_permit_application_date": "2026-01-19",
          "expand_permit_content": "Status: Pre Backfill Phase|Issued date: 2026-01-22T00:00:00.000|Completed date: N/A|Estimated project cost: 587265.53|Permit class: Single Family|Permit type: Single Construction Permit|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: HOMES BY US|contractor: HOMES BY US|estimated project cost: 587265.53|Total square feet affected: 3296.0|Housing units affected: 1",
          "expand_permit_id": "BP2026-00784",
          "expand_permit_type": "Building",
          "property_id": "1084629ac078864d"
        }
      ],
      "property_id": "1084629ac078864d",
      "property_type": "Land"
    },
    {
      "address": "48 Lucas Gr NW",
      "community": "Livingston",
      "construction_year": 2025,
      "interior_sq_m": 166.38795471191406,
      "permits": [
        {
          "expand_permit_application_date": "2026-05-11",
          "expand_permit_content": "Status: Pre Board Phase|Issued date: 2026-06-16T00:00:00.000|Completed date: N/A|Estimated project cost: 275997.02|Permit class: Single Family|Permit type: Single Construction Permit|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: CEDARGLEN GROUP (THE)|contractor: CEDARGLEN GROUP (THE)|estimated project cost: 275997.02|Total square feet affected: 1818.0|Housing units affected: 1",
          "expand_permit_id": "BP2026-08053",
          "expand_permit_type": "Building",
          "property_id": "1087e5f1f08af396"
        }
      ],
      "property_id": "1087e5f1f08af396",
      "property_type": "Land"
    },
    {
      "address": "45 23 Glamis Drive SW",
      "community": "Glamorgan",
      "construction_year": 1980,
      "interior_sq_m": 97.361572265625,
      "permits": [
        {
          "expand_permit_application_date": "2026-04-17",
          "expand_permit_content": "Status: Completed|Issued date: 2026-04-27T00:00:00.000|Completed date: 2026-05-06T00:00:00.000|Estimated project cost: 13500.0|Permit class: Apartment|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: Alteration|Work class group: Improvement|Work class mapped: Existing|applicant: PROACTIVE RENOVATIONS|contractor: PROACTIVE RENOVATIONS|estimated project cost: 13500.0|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-06165",
          "expand_permit_type": "Building",
          "property_id": "10930c86db16c28f"
        }
      ],
      "property_id": "10930c86db16c28f",
      "property_type": "Apartment"
    },
    {
      "address": "35 Heartwood Villas SE",
      "community": "Rangeview",
      "construction_year": 2025,
      "interior_sq_m": 213.48941040039065,
      "permits": [
        {
          "expand_permit_application_date": "2026-06-30",
          "expand_permit_content": "Status: Completed|Issued date: 2026-07-23T00:00:00.000|Completed date: 2026-08-04T00:00:00.000|Estimated project cost: 42433.6|Permit class: Garage|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: BARETA CONSTRUCTIONS|contractor: BARETA CONSTRUCTIONS|estimated project cost: 42433.6|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-12206",
          "expand_permit_type": "Building",
          "property_id": "1094121e912c201b"
        }
      ],
      "property_id": "1094121e912c201b",
      "property_type": "House"
    },
    {
      "address": "523 Lucas Boulevard NW",
      "community": "Livingston",
      "construction_year": 2024,
      "interior_sq_m": 162.85768127441406,
      "permits": [
        {
          "expand_permit_application_date": "2026-07-22",
          "expand_permit_content": "Status: Pending Plans Review|Issued date: N/A|Completed date: N/A|Estimated project cost: 42433.6|Permit class: Garage|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: New|Work class group: New|Work class mapped: New|applicant: BK GARAGE BUILDERS|contractor: BK GARAGE BUILDERS|estimated project cost: 42433.6|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-13759",
          "expand_permit_type": "Building",
          "property_id": "1096294991327211"
        }
      ],
      "property_id": "1096294991327211",
      "property_type": "House"
    },
    {
      "address": "720 34 Street NW",
      "community": "Beltline",
      "construction_year": 1951,
      "interior_sq_m": 185.80453491210935,
      "permits": [
        {
          "expand_permit_application_date": "2026-04-25",
          "expand_permit_content": "Status: Completed|Issued date: 2026-04-30T00:00:00.000|Completed date: 2026-05-26T00:00:00.000|Estimated project cost: N/A|Permit class: Unspecified|Permit type: Demolition|Permit type mapped: Demolition|Work class: Demolition|Work class group: Demolition|Work class mapped: Existing|applicant: N/A|contractor: P & G EXCAVATING TRUCKING|estimated project cost: N/A|Total square feet affected: N/A|Housing units affected: 0",
          "expand_permit_id": "BP2026-06808",
          "expand_permit_type": "Building",
          "property_id": "1097e2ace522f5b3"
        }
      ],
      "property_id": "1097e2ace522f5b3",
      "property_type": "House"
    }
  ],
  "error": "",
  "pagination": {
    "current_page": 1,
    "has_next_page": true,
    "has_previous_page": false,
    "page_total": 387
  },
  "price_quote": false,
  "result_total": 9663,
  "time_ms": 655,
  "ui_info": {
    "city": "Calgary",
    "city_id": "6ec95b53075d062c",
    "city_link": "ca/ab/calgary",
    "city_slug": "calgary",
    "country": "Canada",
    "country_abbreviation": "CA",
    "country_abbreviation_id": "9ace2b6431b7f1be",
    "country_abbreviation_link": "ca",
    "country_slug": "canada",
    "province": "Alberta",
    "province_abbreviation": "AB",
    "province_abbreviation_id": "aae1f05a0f89d2c7",
    "province_abbreviation_link": "ca/ab",
    "province_slug": "alberta"
  }
}

That is 5,815 Calgary properties with a building permit application filed this year. Each row gives you the property itself plus the permit records attached to it.

The interesting part is expand_permit_content. It is a text field and its exact format varies by city, but for a Calgary building permit it typically carries the status, the work class, the estimated project cost, the square footage affected, and the applicant. A retaining wall alteration with an estimated project cost of 1.2 million dollars reads very differently from a basement development at forty thousand, and you can route them to different reps, or different product lines, accordingly.

Three permit types, three different sales motions

The expand_permit_type field is deliberately coarse. It has three values, and each one is a different kind of lead.

Building is the direct one. Construction or renovation is approved or in review at this address. This is the materials sale, and the application date tells you where they are in the timeline. A permit filed last week is a project still sourcing. A permit filed in January is probably framed by now, which moves the conversation from lumber to finishes.

Development is the early signal. A development permit precedes the building permit, sometimes by many months. This one is filed while the project is still on paper, which is exactly when a supplier who shows up with pricing gets designed in rather than shopped afterward.

API request
TypeScript code
const houski_data = async (): Promise<PropertiesResponse> => {

    // You must copy the PropertiesResponse type declarations from the 
    // Houski API documentation to strongly type the response

    const url = new URL('https://api.houski.ca/properties');
    url.searchParams.set('api_key', 'YOUR_API_KEY');
    url.searchParams.set('city', 'calgary');
    url.searchParams.set('country_abbreviation', 'ca');
    url.searchParams.set('expand', 'permits');
    url.searchParams.set('expand_permit_application_date_gte', '2026-01-01');
    url.searchParams.set('expand_permit_type_eq', 'Development');
    url.searchParams.set('filter_expand_match', 'all');
    url.searchParams.set('province_abbreviation', 'ab');
    url.searchParams.set('results_per_page', '25');
    url.searchParams.set('select', 'address,community,property_type');

    const response = await fetch(url);
    const data = await response.json();

    return data;
}

(async () => {
let data: PropertiesResponse = await houski_data();

// Log the response
console.log(data);
})();
API response
JSON
{
  "cache_hit": false,
  "cost_cents": 1.2599999904632568,
  "data": [
    {
      "address": "129 30 Avenue NW",
      "community": "Tuxedo park",
      "permits": [
        {
          "expand_permit_application_date": "2026-06-16",
          "expand_permit_content": "Status: Pending Release|Category: Relaxation - Existing - Compliance Follow-Up|Description: RELAXATION: DECK (EXISTING) - PROJECTION INTO SIDE SETBACK|Proposed use code: C1455|Proposed use description: DECK|Permitted/discretionary: Discretionary|Land use district: R-CG|Land use district description: Residential - Grade-Oriented Infill|Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-07-08|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-03521",
          "expand_permit_type": "Development",
          "property_id": "1013d1d3888198d8"
        }
      ],
      "property_id": "1013d1d3888198d8",
      "property_type": "House"
    },
    {
      "address": "85 Sage Hill Road NW",
      "community": "Sage Hill",
      "permits": [
        {
          "expand_permit_application_date": "2026-01-21",
          "expand_permit_content": "Status: Cancelled|Category: Change of Use - With Change to Site Plan|Description: CHANGES TO SITE PLAN: DWELLING UNIT, LIVE WORK UNIT, RETAIL AND CONSUMER SERVICE, RESTAURANT: LICENSED (LANDSCAPING MATERIALS)|Proposed use code: C1540; C1920; C2485 ; C2515|Proposed use description: DWELLING UNIT; LIVE WORK UNIT; RESTAURANT: LICENSED; RETAIL AND CONSUMER SERVICE|Permitted/discretionary: Discretionary|Land use district: MU-1 f4.0h45; MU-2|Land use district description: Mixed Use - Active Frontage; Mixed Use - General|Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: 2026-05-07|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-00344",
          "expand_permit_type": "Development",
          "property_id": "101f7a2568f485f3"
        }
      ],
      "property_id": "101f7a2568f485f3",
      "property_type": "Land"
    },
    {
      "address": "221 12 Avenue NE",
      "community": "Crescent Heights",
      "permits": [
        {
          "expand_permit_application_date": "2026-03-11",
          "expand_permit_content": "Status: Cancelled|Category: Residential - New Single / Semi / Duplex|Description: NEW: SINGLE DETACHED DWELLING, SECONDARY SUITE (BASEMENT), ACCESSORY RESIDENTIAL BUILDING (GARAGE)|Proposed use code: C1020; C2626; C2730|Proposed use description: ACCESSORY RESIDENTIAL BUILDING; SECONDARY SUITE; SINGLE DETACHED DWELLING|Permitted/discretionary: Discretionary|Land use district: R-CG|Land use district description: Residential - Grade-Oriented Infill|Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: 2026-03-23|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-01337",
          "expand_permit_type": "Development",
          "property_id": "101f96b239efbbf6"
        }
      ],
      "property_id": "101f96b239efbbf6",
      "property_type": "Apartment"
    },
    {
      "address": "16028 37 Street SW",
      "community": "Alpine Park",
      "permits": [
        {
          "expand_permit_application_date": "2026-02-27",
          "expand_permit_content": "Status: Hold|Category: Retaining Wall|Description: NEW: RETAINING WALL|Proposed use code: C2535|Proposed use description: RETAINING WALL|Permitted/discretionary: Discretionary|Land use district: DC|Land use district description: Direct Control (1P2007)|Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-01087",
          "expand_permit_type": "Development",
          "property_id": "1024a620aa2c9816"
        }
      ],
      "property_id": "1024a620aa2c9816",
      "property_type": "Commercial"
    },
    {
      "address": "57 Elveden Drive SW",
      "community": "Springbank Hill",
      "permits": [
        {
          "expand_permit_application_date": "2026-06-19",
          "expand_permit_content": "Status: Under Review|Category: Excavating, Stripping and Grading|Description: TEMPORARY USE: EXCAVATION STRIPPING & GRADING (6 YEARS)|Proposed use code: B5016|Proposed use description: EXCAVATION STRIPPING & GRADING|Permitted/discretionary: Discretionary|Land use district: DC|Land use district description: DIRECT CONTROL DISTRICT                                 |Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-03595",
          "expand_permit_type": "Development",
          "property_id": "103b35cc5be96cc"
        }
      ],
      "property_id": "103b35cc5be96cc",
      "property_type": "House"
    },
    {
      "address": "715 33A Street NW",
      "community": "Parkdale",
      "permits": [
        {
          "expand_permit_application_date": "2026-08-03",
          "expand_permit_content": "Status: Under Review|Category: Relaxation - New - Accessory Building|Description: NEW: ACCESSORY RESIDENTIAL BUILDING (GARAGE) - BUILDING HEIGHT|Proposed use code: C1020|Proposed use description: ACCESSORY RESIDENTIAL BUILDING|Permitted/discretionary: Permitted with a Relaxation|Land use district: R-C2|Land use district description: Residential - Contextual One/Two Dwelling|Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-04512",
          "expand_permit_type": "Development",
          "property_id": "106489d7ed08be4e"
        }
      ],
      "property_id": "106489d7ed08be4e",
      "property_type": "Apartment"
    },
    {
      "address": "3212 Breen Crescent NW",
      "community": "Brentwood",
      "permits": [
        {
          "expand_permit_application_date": "2026-01-05",
          "expand_permit_content": "Status: Released|Category: Relaxation - New - Accessory Building|Description: RELAXATION: ACCESSORY RESIDENTIAL BUILDING (GARAGE) - BUILDING COVERAGE|Proposed use code: C1020|Proposed use description: ACCESSORY RESIDENTIAL BUILDING|Permitted/discretionary: Permitted with a Relaxation|Land use district: R-CG|Land use district description: Residential - Grade-Oriented Infill|Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-02-05|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-00035",
          "expand_permit_type": "Development",
          "property_id": "10a908f426a21a39"
        }
      ],
      "property_id": "10a908f426a21a39",
      "property_type": "House"
    },
    {
      "address": "2236 34 Street SW",
      "community": "Killarney-Glengarry",
      "permits": [
        {
          "expand_permit_application_date": "2026-06-02",
          "expand_permit_content": "Status: In Circulation|Category: Residential - Contextual Dwelling|Description: NEW: CONTEXTUAL SINGLE DETACHED DWELLING (NORTH PARCEL), ACCESSORY RESIDENTIAL BUILDING (GARAGE)|Proposed use code: C1020; C1370|Proposed use description: ACCESSORY RESIDENTIAL BUILDING; CONTEXTUAL SINGLE DETACHED DWELLING|Permitted/discretionary: Permitted|Land use district: R-C2|Land use district description: Residential - Contextual One/Two Dwelling|Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-03212",
          "expand_permit_type": "Development",
          "property_id": "10ac7ade4cfd1be2"
        },
        {
          "expand_permit_application_date": "2026-06-02",
          "expand_permit_content": "Status: Under Review|Category: Residential - Contextual Dwelling|Description: NEW: CONTEXTUAL SINGLE DETACHED DWELLING (SOUTH PARCEL), ACCESSORY RESIDENTIAL BUILDING (GARAGE)|Proposed use code: C1020; C1370|Proposed use description: ACCESSORY RESIDENTIAL BUILDING; CONTEXTUAL SINGLE DETACHED DWELLING|Permitted/discretionary: Permitted|Land use district: R-C2|Land use district description: Residential - Contextual One/Two Dwelling|Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-03209",
          "expand_permit_type": "Development",
          "property_id": "10ac7ade4cfd1be2"
        }
      ],
      "property_id": "10ac7ade4cfd1be2",
      "property_type": "Townhouse"
    },
    {
      "address": "274 Carragana Crescent NW",
      "community": "Charleswood",
      "permits": [
        {
          "expand_permit_application_date": "2026-05-01",
          "expand_permit_content": "Status: Released|Category: Residential - New Single / Semi / Duplex|Description: NEW: SINGLE DETACHED DWELLING, ACCESSORY RESIDENTIAL BUILDING (GARAGE)|Proposed use code: C1020; C2730|Proposed use description: ACCESSORY RESIDENTIAL BUILDING; SINGLE DETACHED DWELLING|Permitted/discretionary: Discretionary|Land use district: R-CG|Land use district description: Residential - Grade-Oriented Infill|Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-06-26|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-02571",
          "expand_permit_type": "Development",
          "property_id": "10b5e010976e238d"
        }
      ],
      "property_id": "10b5e010976e238d",
      "property_type": "House"
    },
    {
      "address": "2107 31 Avenue SW",
      "community": "Richmond",
      "permits": [
        {
          "expand_permit_application_date": "2026-05-01",
          "expand_permit_content": "Status: Pending Release|Category: Relaxation - New - Residential|Description: NEW: SINGLE DETACHED DWELLING|Proposed use code: C2730|Proposed use description: SINGLE DETACHED DWELLING|Permitted/discretionary: Discretionary|Land use district: R-CG|Land use district description: Residential - Grade-Oriented Infill|Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-07-06|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-02546",
          "expand_permit_type": "Development",
          "property_id": "10babc91ad195e47"
        }
      ],
      "property_id": "10babc91ad195e47",
      "property_type": "Duplex"
    },
    {
      "address": "2623 56 Street NE",
      "community": "Pineridge",
      "permits": [
        {
          "expand_permit_application_date": "2026-02-19",
          "expand_permit_content": "Status: Released|Category: Commercial - Other Areas|Description: ADDITION: COMMUNITY RECREATION FACILITY (ADDITION: COMMUNITY RECREATION FACILITY (NORTH SIDE); CHANGES TO SITE PLAN: COMMUNITY RECREATION FACILITY (PARKING))|Proposed use code: C1350|Proposed use description: COMMUNITY RECREATION FACILITY|Permitted/discretionary: Discretionary|Land use district: S-R|Land use district description: Special Purpose - Recreation|Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-05-21|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-00873",
          "expand_permit_type": "Development",
          "property_id": "10bb2020a23e8638"
        }
      ],
      "property_id": "10bb2020a23e8638",
      "property_type": "Commercial"
    },
    {
      "address": "1120 Frontenac Avenue SW",
      "community": "Upper Mount Royal",
      "permits": [
        {
          "expand_permit_application_date": "2026-02-04",
          "expand_permit_content": "Status: Approved|Category: Residential - New Single / Semi / Duplex|Description: NEW: SINGLE DETACHED DWELLING|Proposed use code: C2730|Proposed use description: SINGLE DETACHED DWELLING|Permitted/discretionary: Discretionary|Land use district: R-C1|Land use district description: Residential - Contextual One Dwelling|Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-08-06|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-00627",
          "expand_permit_type": "Development",
          "property_id": "10cbf68817603752"
        }
      ],
      "property_id": "10cbf68817603752",
      "property_type": "House"
    },
    {
      "address": "1 3916 64 Avenue SE",
      "community": "Beltline",
      "permits": [
        {
          "expand_permit_application_date": "2026-07-08",
          "expand_permit_content": "Status: Cancelled|Category: Change of Use - Permitted Use|Description: CHANGE OF USE: GENERAL INDUSTRIAL - MEDIUM|Proposed use code: C1686|Proposed use description: GENERAL INDUSTRIAL - MEDIUM|Permitted/discretionary: Permitted|Land use district: I-G|Land use district description: Industrial - General|Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: 2026-07-22|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-03986",
          "expand_permit_type": "Development",
          "property_id": "10d22bdee40a9083"
        }
      ],
      "property_id": "10d22bdee40a9083",
      "property_type": "House"
    },
    {
      "address": "250 1110 Panatella Boulevard NW",
      "community": "Panorama Hills",
      "permits": [
        {
          "expand_permit_application_date": "2026-06-11",
          "expand_permit_content": "Status: In Advertising|Category: Change of Use - Discretionary Use or Relaxations Required|Description: CHANGE OF USE: COMMERCIAL SCHOOL|Proposed use code: B3360|Proposed use description: COMMERCIAL SCHOOL|Permitted/discretionary: Discretionary|Land use district: DC|Land use district description: DIRECT CONTROL DISTRICT                                 |Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-07-20|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-03423",
          "expand_permit_type": "Development",
          "property_id": "10d4d8f79bd617c9"
        }
      ],
      "property_id": "10d4d8f79bd617c9",
      "property_type": "House"
    },
    {
      "address": "2419 Bowness Road NW",
      "community": "West Hillhurst",
      "permits": [
        {
          "expand_permit_application_date": "2026-03-09",
          "expand_permit_content": "Status: Released|Category: Residential - Secondary Suite|Description: NEW: SECONDARY SUITE - PARKING STALL|Proposed use code: C2626|Proposed use description: SECONDARY SUITE|Permitted/discretionary: Permitted with a Relaxation|Land use district: R-CG|Land use district description: Residential - Grade-Oriented Infill|Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-04-17|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-01267",
          "expand_permit_type": "Development",
          "property_id": "1101630d961e15c0"
        }
      ],
      "property_id": "1101630d961e15c0",
      "property_type": "Commercial"
    },
    {
      "address": "24 Saddlepeace Way NE",
      "community": "Saddle Ridge",
      "permits": [
        {
          "expand_permit_application_date": "2026-06-09",
          "expand_permit_content": "Status: In Advertising|Category: Residential - New Single / Semi / Duplex|Description: RELAXATION: SINGLE DETACHED DWELLING (BUILDING SETBACK FROM SIDE PROPERTY LINE); NEW: SECONDARY SUITE (BASEMENT)|Proposed use code: C2626; C2730|Proposed use description: SECONDARY SUITE; SINGLE DETACHED DWELLING|Permitted/discretionary: Permitted with a Relaxation|Land use district: R-G|Land use district description: Residential - Low Density Mixed Housing|Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-07-20|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-03359",
          "expand_permit_type": "Development",
          "property_id": "1133af762eba2e1a"
        }
      ],
      "property_id": "1133af762eba2e1a",
      "property_type": "Land"
    },
    {
      "address": "5516 Memorial Drive NE",
      "community": "Marlborough Park",
      "permits": [
        {
          "expand_permit_application_date": "2026-04-09",
          "expand_permit_content": "Status: Hold|Category: Residential - Secondary Suite|Description: NEW: ACCESSORY RESIDENTIAL BUILDING (GARAGE), BACKYARD SUITE (ABOVE GARAGE)|Proposed use code: C1175|Proposed use description: BACKYARD SUITE|Permitted/discretionary: Discretionary|Land use district: R-C1|Land use district description: Residential - Contextual One Dwelling|Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-02042",
          "expand_permit_type": "Development",
          "property_id": "113daab063306b9d"
        }
      ],
      "property_id": "113daab063306b9d",
      "property_type": "Commercial"
    },
    {
      "address": "45 Copperpond Avenue SE",
      "community": "Copperfield",
      "permits": [
        {
          "expand_permit_application_date": "2026-05-09",
          "expand_permit_content": "Status: Released|Category: Relaxation - Existing - Residential - FastTrack - Comp Follow-Up|Description: RELAXATION: SINGLE DETACHED DWELLING (EXISTING) - BUILDING SETBACK FROM SIDE PROPERTY LINE, EAVES (EXISTING) - PROJECTION INTO SIDE SETBACK|Proposed use code: C2730|Proposed use description: SINGLE DETACHED DWELLING|Permitted/discretionary: Permitted with a Relaxation|Land use district: R-G|Land use district description: Residential - Low Density Mixed Housing|Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-05-12|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-02723",
          "expand_permit_type": "Development",
          "property_id": "114392ed194f5338"
        }
      ],
      "property_id": "114392ed194f5338",
      "property_type": "House"
    },
    {
      "address": "115 4 Street NE",
      "community": "Crescent Heights",
      "permits": [
        {
          "expand_permit_application_date": "2026-06-16",
          "expand_permit_content": "Status: Cancelled|Category: Change of Use - Permitted Use|Description: CHANGE OF USE: RESTAURANT: FOOD SERVICE ONLY|Proposed use code: C2465|Proposed use description: RESTAURANT: FOOD SERVICE ONLY|Permitted/discretionary: Permitted|Land use district: DC|Land use district description: Direct Control (1P2007)|Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: 2026-06-29|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-03516",
          "expand_permit_type": "Development",
          "property_id": "115249b0e4df8176"
        }
      ],
      "property_id": "115249b0e4df8176",
      "property_type": "Commercial"
    },
    {
      "address": "72 Coral Reef Close NE",
      "community": "Coral Springs",
      "permits": [
        {
          "expand_permit_application_date": "2026-06-19",
          "expand_permit_content": "Status: In Advertising|Category: Home Occupation Class 2|Description: TEMPORARY USE: HOME OCCUPATION - CLASS 2 (ESTHETICS - 18 MONTHS)|Proposed use code: C1730|Proposed use description: HOME OCCUPATION - CLASS 2|Permitted/discretionary: Discretionary|Land use district: R-CG|Land use district description: Residential - Grade-Oriented Infill|Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-07-27|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-03606",
          "expand_permit_type": "Development",
          "property_id": "1154e31a9d315fe4"
        }
      ],
      "property_id": "1154e31a9d315fe4",
      "property_type": "House"
    },
    {
      "address": "868 Hillcrest Avenue SW",
      "community": "Upper Mount Royal",
      "permits": [
        {
          "expand_permit_application_date": "2026-07-09",
          "expand_permit_content": "Status: Cancelled|Category: Residential - Secondary Suite|Description: NEW: STUDIO SUITE (ABOVE GARAGE), ACCESSORY RESIDENTIAL BUILDING (GARAGE)|Proposed use code: B9996|Proposed use description: OTHER RESIDENTIAL|Permitted/discretionary: Discretionary|Land use district: DC|Land use district description: DIRECT CONTROL DISTRICT                                 |Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: 2026-07-16|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-04009",
          "expand_permit_type": "Development",
          "property_id": "115a2281a8b8c7b9"
        }
      ],
      "property_id": "115a2281a8b8c7b9",
      "property_type": "House"
    },
    {
      "address": "4956 8 Avenue SW",
      "community": "Westgate",
      "permits": [
        {
          "expand_permit_application_date": "2026-04-29",
          "expand_permit_content": "Status: Under Review|Category: Change of Use - Discretionary Use or Relaxations Required|Description: CHANGE OF USE: CHILD CARE SERVICE (45 CHILDREN)|Proposed use code: C1310|Proposed use description: CHILD CARE SERVICE|Permitted/discretionary: Discretionary|Land use district: C-N2|Land use district description: Commercial - Neighbourhood 2|Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-02493",
          "expand_permit_type": "Development",
          "property_id": "1164df8fbb6a8a8e"
        }
      ],
      "property_id": "1164df8fbb6a8a8e",
      "property_type": "House"
    },
    {
      "address": "3016 9 Street NW",
      "community": "Cambrian Heights",
      "permits": [
        {
          "expand_permit_application_date": "2026-01-30",
          "expand_permit_content": "Status: Cancelled|Category: Relaxation - New - Residential|Description: RELAXATION: FENCE - |Proposed use code: C1575|Proposed use description: FENCE|Permitted/discretionary: Discretionary|Land use district: R-CG|Land use district description: Residential - Grade-Oriented Infill|Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: 2026-03-02|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-00546",
          "expand_permit_type": "Development",
          "property_id": "1173dbff91990f5"
        }
      ],
      "property_id": "1173dbff91990f5",
      "property_type": "House"
    },
    {
      "address": "2165 Woodview Drive SW",
      "community": "Woodlands",
      "permits": [
        {
          "expand_permit_application_date": "2026-04-20",
          "expand_permit_content": "Status: Released|Category: Relaxation - Existing - Accessory Building|Description: RELAXATION: ACCESSORY RESIDENTIAL BUILDING (EXISTING CARPORT) - BUILDING SETBACK FROM SIDE PROPERTY LINE|Proposed use code: C1020|Proposed use description: ACCESSORY RESIDENTIAL BUILDING|Permitted/discretionary: Permitted with a Relaxation|Land use district: M-CG d50|Land use district description: Multi-Residential - Contextual Grade-Oriented  |Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-05-01|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-02291",
          "expand_permit_type": "Development",
          "property_id": "1188dcadca1819c7"
        }
      ],
      "property_id": "1188dcadca1819c7",
      "property_type": "Townhouse"
    },
    {
      "address": "2020 4231 109 Avenue NE",
      "community": "Stoney 3",
      "permits": [
        {
          "expand_permit_application_date": "2026-05-04",
          "expand_permit_content": "Status: Released|Category: Renovations - Non-Residential|Description: REVISION: GENERAL INDUSTRIAL - LIGHT (MEZZANINE - 2ND FLOOR)|Proposed use code: C1685|Proposed use description: GENERAL INDUSTRIAL - LIGHT|Permitted/discretionary: Permitted|Land use district: I-G|Land use district description: Industrial - General|Concurrent LOC: N/A|Decision: Approval|Decision by: Development Authority|Decision date: 2026-06-26|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A",
          "expand_permit_id": "DP2026-02607",
          "expand_permit_type": "Development",
          "property_id": "1194ffa179dc3ab"
        }
      ],
      "property_id": "1194ffa179dc3ab",
      "property_type": "Commercial"
    }
  ],
  "error": "",
  "pagination": {
    "current_page": 1,
    "has_next_page": true,
    "has_previous_page": false,
    "page_total": 128
  },
  "price_quote": false,
  "result_total": 3181,
  "time_ms": 647,
  "ui_info": {
    "city": "Calgary",
    "city_id": "6ec95b53075d062c",
    "city_link": "ca/ab/calgary",
    "city_slug": "calgary",
    "country": "Canada",
    "country_abbreviation": "CA",
    "country_abbreviation_id": "9ace2b6431b7f1be",
    "country_abbreviation_link": "ca",
    "country_slug": "canada",
    "province": "Alberta",
    "province_abbreviation": "AB",
    "province_abbreviation_id": "aae1f05a0f89d2c7",
    "province_abbreviation_link": "ca/ab",
    "province_slug": "alberta"
  }
}

2,069 Calgary properties this year sit at that earlier stage.

Business license is the fit-out lead. A new business licensing a premises usually means renovation of that premises - flooring, lighting, millwork, signage, paint. If you sell to commercial trades, a fresh license at a commercial address is a project that has not hit the building permit stage yet.

The applicant is often the better lead than the address

On a lot of permits, the applicant named in the content is not the homeowner. It is a contractor or a builder. For a supplier, that is not a problem, that is the actual prize. A homeowner buys materials once. A contractor who shows up on nine permits this quarter buys materials every week, and the permit data just told you who is busy in your delivery area and what kind of work they are doing.

Group the permit content by applicant and you have a ranked list of the most active accounts you do not have yet.

What this data will not do

It covers four cities. Calgary, Edmonton, Toronto, Vancouver. Outside those, no permit records, and a query filtered on permits returns nothing. Coverage by permit type also varies - Vancouver, for instance, carries building permits and business licenses but no separate development permit stream - so check your city and type before you build the workflow around it.

The content format is not uniform. Each city structures its permit text differently. Estimated project cost shows up on Calgary building permits, but do not assume every record everywhere has it. Build your parsing to degrade gracefully.

A permit is not a purchase order. Some applications get cancelled or refused, and the status field in the content says so. Filter those out before anyone drives anywhere.

Timing is approximate. The application date is a fact. When the drywall order lands is an inference. Treat the data as a prioritized call list, not a delivery schedule.

The pre-built version

The datasets page has Recent renovation or addition permits and Recent demolition permits already assembled, and Building supply distribution is built for exactly this use case. Each updates daily.

If you want it shaped to your business - your delivery radius, your product categories mapped to work classes, applicants deduplicated and ranked by permit count - our data team builds custom datasets on your schedule. Ask for one.

Getting started

  1. Sign up for API access
  2. Pull last month's permits for your city with the query above
  3. Sort by what the content tells you - project cost, work class, applicant
  4. Hand your reps the top fifty and measure what a permit-sourced lead closes at versus a walk-in
  5. Repeat weekly - the list refreshes as new applications land

Most fields cost a tenth of a cent per field per property, so a full month of permit-active addresses in your city with property details attached costs a few dollars. Details on the pricing page and the expand documentation.


The permit does not tell you what to quote. It tells you which addresses have a project underway and who is running it, which is the part of the sale you cannot get from anyone who walks in the door. Explore the API or browse the datasets.