Building Power BI dashboards from Houski property data

Photo of Alex Wilkinson
Alex Wilkinson
CEO of Houski
2024-09-19

Business intelligence (BI) analysts at banks, brokerages, and real estate investment trusts across the United States and Canada spend an embarrassing amount of time hand-cleaning spreadsheets of property data. Different file formats from different cities, units that switch between square feet and square metres, addresses spelled three different ways for the same property. By the time the dashboard is built, the data is already stale.

Power BI can pull live data straight from Houski's property API. No comma-separated values (CSV) downloads, no manual cleaning, no stale slides. This post walks through hooking Power BI up to Houski, building three dashboards that BI teams actually want, and refreshing them on a schedule.

Why Power Query and not Excel

Excel works for one-off analysis. The moment you need to refresh weekly, slice by city, or share with a team, Power BI is the right tool. Power Query is the data preparation layer baked into both Power BI and Excel, and it speaks JSON natively. Houski returns JSON. The two fit together with very little glue.

You will need:

Step 1: Pull properties into Power Query

In Power BI Desktop, choose Get Data, then Web. Paste a Houski URL pointing at the properties endpoint with your API key, city, province, and a select list. The block below is a live call against the real API, the request code and JSON response are regenerated every time this page is rendered, so they always reflect the current schema:

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('province_abbreviation', 'ab');
    url.searchParams.set('results_per_page', '100');
    url.searchParams.set('select', 'property_id,city,community,interior_sq_m,bedroom,bathroom_full,property_type,estimate_list_price,estimate_sale_price,latitude,longitude');

    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": true,
  "cost_cents": 56.999992,
  "data": [
    {
      "address": "518 Rochester Terrace NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1494309,
      "estimate_sale_price": 1476086,
      "interior_sq_m": 169.45374,
      "latitude": 51.11072,
      "longitude": -114.2748,
      "property_id": "103f92f6cf7bbdd9",
      "property_type": "Land"
    },
    {
      "address": "36 Crimson Ridge Heights NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 702800,
      "estimate_sale_price": 426463,
      "interior_sq_m": 169.45374,
      "latitude": 51.107574,
      "longitude": -114.25946,
      "property_id": "104fb85a9c002e5d",
      "property_type": "Commercial"
    },
    {
      "address": "54 Rowmont Link NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 820503,
      "estimate_sale_price": 850575,
      "interior_sq_m": 169.45374,
      "latitude": 51.106037,
      "longitude": -114.275,
      "property_id": "1055f97323e53f25",
      "property_type": "House"
    },
    {
      "address": "499 Rochester Terrace NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 931980,
      "estimate_sale_price": 869910,
      "interior_sq_m": 169.45374,
      "latitude": 51.111366,
      "longitude": -114.27512,
      "property_id": "1106094a42c3757d",
      "property_type": "Land"
    },
    {
      "address": "304 30 Rochester View NW",
      "bathroom_full": 2,
      "bedroom": 2,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 600847,
      "estimate_sale_price": 616919,
      "interior_sq_m": 121.70197,
      "latitude": 51.109074,
      "longitude": -114.26745,
      "property_id": "1198b011e799062c",
      "property_type": "Townhouse"
    },
    {
      "address": "95 Royston He NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1005831,
      "estimate_sale_price": 944068,
      "interior_sq_m": 169.45374,
      "latitude": 51.107533,
      "longitude": -114.272934,
      "property_id": "11aa161875771a70",
      "property_type": "Land"
    },
    {
      "address": "399 Rowley Way NW",
      "bathroom_full": 2,
      "bedroom": 1,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 905768,
      "estimate_sale_price": 845177,
      "interior_sq_m": 127.83352,
      "latitude": 51.104794,
      "longitude": -114.269455,
      "property_id": "11ae22f58673d45b",
      "property_type": "Townhouse"
    },
    {
      "address": "40 Rowmont Common NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 720090,
      "estimate_sale_price": 698422,
      "interior_sq_m": 173.07692,
      "latitude": 51.106346,
      "longitude": -114.2781,
      "property_id": "11d2132629e36a28",
      "property_type": "House"
    },
    {
      "address": "16 Rowmont Common NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 774024,
      "estimate_sale_price": 805834,
      "interior_sq_m": 173.07692,
      "latitude": 51.10631,
      "longitude": -114.27743,
      "property_id": "11f8d3671079fb5e",
      "property_type": "House"
    },
    {
      "address": "435 Crimson Ridge Place NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 795667,
      "estimate_sale_price": 856192,
      "interior_sq_m": 185.43292,
      "latitude": 51.10885,
      "longitude": -114.26332,
      "property_id": "1209fe3057284c96",
      "property_type": "House"
    },
    {
      "address": "288 Crimson Ridge Place NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 994391,
      "estimate_sale_price": 962443,
      "interior_sq_m": 185.43292,
      "latitude": 51.109528,
      "longitude": -114.26061,
      "property_id": "1277c8e032dd2f50",
      "property_type": "House"
    },
    {
      "address": "12300 Bearspaw Dam Road NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 775035,
      "estimate_sale_price": 518369,
      "interior_sq_m": 169.45374,
      "latitude": 51.104675,
      "longitude": -114.2648,
      "property_id": "127d1b2d00e4f3c8",
      "property_type": "Commercial"
    },
    {
      "address": "103 Royston He NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 909956,
      "estimate_sale_price": 829820,
      "interior_sq_m": 169.45374,
      "latitude": 51.10782,
      "longitude": -114.272964,
      "property_id": "127d6face59614c5",
      "property_type": "Land"
    },
    {
      "address": "309 Rowmont Drive NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 709179,
      "estimate_sale_price": 697557,
      "interior_sq_m": 209.3088,
      "latitude": 51.10541,
      "longitude": -114.281105,
      "property_id": "12b2d696502ebf7f",
      "property_type": "Land"
    },
    {
      "address": "48 Rowley Terrace NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 893453,
      "estimate_sale_price": 885747,
      "interior_sq_m": 203.64261,
      "latitude": 51.10516,
      "longitude": -114.2675,
      "property_id": "12c72dfadc700db1",
      "property_type": "House"
    },
    {
      "address": "242 Haskayne Drive NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 765400,
      "estimate_sale_price": 701155,
      "interior_sq_m": 144.09142,
      "latitude": 51.109783,
      "longitude": -114.27524,
      "property_id": "12d33163d248bbb",
      "property_type": "Land"
    },
    {
      "address": "24 Rowley Common NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 858302,
      "estimate_sale_price": 849602,
      "interior_sq_m": 161.60349,
      "latitude": 51.105263,
      "longitude": -114.27002,
      "property_id": "12e3ffac04ec3562",
      "property_type": "House"
    },
    {
      "address": "370 Rowley Way NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1785386,
      "estimate_sale_price": 1611606,
      "interior_sq_m": 285.02414,
      "latitude": 51.104504,
      "longitude": -114.268036,
      "property_id": "132a75dd38341a25",
      "property_type": "House"
    },
    {
      "address": "190 Haskayne Drive NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 727479,
      "estimate_sale_price": 700274,
      "interior_sq_m": 144.09142,
      "latitude": 51.109528,
      "longitude": -114.2742,
      "property_id": "13c55a76d1a42b03",
      "property_type": "Land"
    },
    {
      "address": "21 Royston Grove NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 986402,
      "estimate_sale_price": 967340,
      "interior_sq_m": 212.69974,
      "latitude": 51.107815,
      "longitude": -114.27981,
      "property_id": "13ee743ebe1c6938",
      "property_type": "House"
    },
    {
      "address": "103 30 Rochester View NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 503739,
      "estimate_sale_price": 522885,
      "interior_sq_m": 130.15608,
      "latitude": 51.109093,
      "longitude": -114.268585,
      "property_id": "13fea00f12334c25",
      "property_type": "Townhouse"
    },
    {
      "address": "1005 30 Rochester View NW",
      "bathroom_full": 2,
      "bedroom": 2,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 598293,
      "estimate_sale_price": 606259,
      "interior_sq_m": 121.70197,
      "latitude": 51.108864,
      "longitude": -114.26749,
      "property_id": "14502147c72743bb",
      "property_type": "Townhouse"
    },
    {
      "address": "91 Royston Park NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 874587,
      "estimate_sale_price": 889796,
      "interior_sq_m": 170.28986,
      "latitude": 51.10854,
      "longitude": -114.279335,
      "property_id": "145b4b70a1b793f6",
      "property_type": "House"
    },
    {
      "address": "234 Rowley Way NW",
      "bathroom_full": 2,
      "bedroom": 1,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1181717,
      "estimate_sale_price": 1109108,
      "interior_sq_m": 127.83352,
      "latitude": 51.106373,
      "longitude": -114.26464,
      "property_id": "1460ed9a1289aa91",
      "property_type": "Townhouse"
    },
    {
      "address": "345 Crimson Ridge Place NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 784062,
      "estimate_sale_price": 856997,
      "interior_sq_m": 185.43292,
      "latitude": 51.10873,
      "longitude": -114.260925,
      "property_id": "148e56c59011c49b",
      "property_type": "House"
    },
    {
      "address": "71 Royston Park NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 908379,
      "estimate_sale_price": 892903,
      "interior_sq_m": 170.28986,
      "latitude": 51.10828,
      "longitude": -114.27982,
      "property_id": "14c51adaf57c0fa3",
      "property_type": "House"
    },
    {
      "address": "232 Rowmont Boulevard NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 695324,
      "estimate_sale_price": 740537,
      "interior_sq_m": 146.22818,
      "latitude": 51.107185,
      "longitude": -114.27264,
      "property_id": "14fa4377dc466050",
      "property_type": "Duplex"
    },
    {
      "address": "503 30 Rochester View NW",
      "bathroom_full": 2,
      "bedroom": 2,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 580427,
      "estimate_sale_price": 605857,
      "interior_sq_m": 121.70197,
      "latitude": 51.109516,
      "longitude": -114.26736,
      "property_id": "15016f3a63aeaaef",
      "property_type": "Townhouse"
    },
    {
      "address": "68 Rowmont Drive NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 873364,
      "estimate_sale_price": 795395,
      "interior_sq_m": 209.3088,
      "latitude": 51.104828,
      "longitude": -114.27381,
      "property_id": "15a459b39759b73c",
      "property_type": "Land"
    },
    {
      "address": "14 Rowmont Court NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1110868,
      "estimate_sale_price": 1069733,
      "interior_sq_m": 169.45374,
      "latitude": 51.10605,
      "longitude": -114.28224,
      "property_id": "15eea15d534c94cc",
      "property_type": "House"
    },
    {
      "address": "406 Crimson Ridge Place NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1693064,
      "estimate_sale_price": 1585644,
      "interior_sq_m": 275.2694,
      "latitude": 51.108326,
      "longitude": -114.26289,
      "property_id": "15f1300ff5b78de",
      "property_type": "House"
    },
    {
      "address": "72 Royston Rise NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 862409,
      "estimate_sale_price": 848489,
      "interior_sq_m": 203.08435,
      "latitude": 51.10832,
      "longitude": -114.274666,
      "property_id": "15f96df0c17f861b",
      "property_type": "House"
    },
    {
      "address": "236 Crimson Ridge Place NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 829693,
      "estimate_sale_price": 884450,
      "interior_sq_m": 187.29253,
      "latitude": 51.109623,
      "longitude": -114.262215,
      "property_id": "16124d237fc5f6b5",
      "property_type": "House"
    },
    {
      "address": "64 Rowley Terrace NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 990954,
      "estimate_sale_price": 949699,
      "interior_sq_m": 203.64261,
      "latitude": 51.10481,
      "longitude": -114.2675,
      "property_id": "16828219949f53dc",
      "property_type": "House"
    },
    {
      "address": "120 260 Rowley Way NW",
      "bathroom_full": 2,
      "bedroom": 1,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 475397,
      "estimate_sale_price": 314836,
      "interior_sq_m": 127.83352,
      "latitude": 51.10574,
      "longitude": -114.263794,
      "property_id": "168ffc1ba34407b4",
      "property_type": "Townhouse"
    },
    {
      "address": "217 Haskayne Drive NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 820260,
      "estimate_sale_price": 763791,
      "interior_sq_m": 144.09142,
      "latitude": 51.109108,
      "longitude": -114.275,
      "property_id": "16e566c7331604af",
      "property_type": "Land"
    },
    {
      "address": "42 Rowley Garden NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 862105,
      "estimate_sale_price": 870333,
      "interior_sq_m": 169.45374,
      "latitude": 51.10498,
      "longitude": -114.26884,
      "property_id": "16e6fd1f8834fdb8",
      "property_type": "House"
    },
    {
      "address": "402 260 Rowley Way NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 479021,
      "estimate_sale_price": 454846,
      "interior_sq_m": 160.62802,
      "latitude": 51.106487,
      "longitude": -114.26371,
      "property_id": "1711f9f3e6ff0fee",
      "property_type": "Townhouse"
    },
    {
      "address": "49 Rowmont He NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 762800,
      "estimate_sale_price": 785020,
      "interior_sq_m": 169.45374,
      "latitude": 51.105824,
      "longitude": -114.27457,
      "property_id": "1727bad384612a5b",
      "property_type": "House"
    },
    {
      "address": "276 Crimson Ridge Place",
      "bathroom_full": 2,
      "bedroom": 4,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 961126,
      "estimate_sale_price": 1049143,
      "interior_sq_m": 203.54887,
      "latitude": 51.108543,
      "longitude": -114.2636,
      "property_id": "1733a860ddad8adb",
      "property_type": "House"
    },
    {
      "address": "11 Rodelle Terrace NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 900097,
      "estimate_sale_price": 811264,
      "interior_sq_m": 169.45374,
      "latitude": 51.108006,
      "longitude": -114.2844,
      "property_id": "175cdbb23daa91f7",
      "property_type": "Land"
    },
    {
      "address": "80 Royston Garden NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 738911,
      "estimate_sale_price": 620653,
      "interior_sq_m": 169.45374,
      "latitude": 51.109554,
      "longitude": -114.28146,
      "property_id": "17e671552bf12120",
      "property_type": "Land"
    },
    {
      "address": "200 Rowmont Boulevard NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 656535,
      "estimate_sale_price": 671264,
      "interior_sq_m": 146.22818,
      "latitude": 51.107296,
      "longitude": -114.27184,
      "property_id": "17eb12e0d814c4d8",
      "property_type": "Duplex"
    },
    {
      "address": "70 Rowmont Garden NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 795938,
      "estimate_sale_price": 842772,
      "interior_sq_m": 169.45374,
      "latitude": 51.10636,
      "longitude": -114.28358,
      "property_id": "182a8d4ba841fbdf",
      "property_type": "House"
    },
    {
      "address": "702 30 Rochester View NW",
      "bathroom_full": 2,
      "bedroom": 2,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 538009,
      "estimate_sale_price": 537631,
      "interior_sq_m": 121.70197,
      "latitude": 51.10949,
      "longitude": -114.268036,
      "property_id": "18749680d9189138",
      "property_type": "Townhouse"
    },
    {
      "address": "350 Rowley Way NW",
      "bathroom_full": 2,
      "bedroom": 1,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1439224,
      "estimate_sale_price": 1554627,
      "interior_sq_m": 127.83352,
      "latitude": 51.104465,
      "longitude": -114.26707,
      "property_id": "1897308191e4c14d",
      "property_type": "Townhouse"
    },
    {
      "address": "22 Rowley Garden NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 858753,
      "estimate_sale_price": 852683,
      "interior_sq_m": 169.45374,
      "latitude": 51.105484,
      "longitude": -114.268715,
      "property_id": "189e79b0088911e4",
      "property_type": "House"
    },
    {
      "address": "52 Rodelle Park NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1037447,
      "estimate_sale_price": 967281,
      "interior_sq_m": 169.45374,
      "latitude": 51.107452,
      "longitude": -114.28455,
      "property_id": "192c5126c78ae249",
      "property_type": "House"
    },
    {
      "address": "83 Royston Rise NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1077385,
      "estimate_sale_price": 958760,
      "interior_sq_m": 203.08435,
      "latitude": 51.108734,
      "longitude": -114.27539,
      "property_id": "1935c053bbdab7c5",
      "property_type": "House"
    },
    {
      "address": "27 Royston Park NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 759458,
      "estimate_sale_price": 863114,
      "interior_sq_m": 170.28986,
      "latitude": 51.108345,
      "longitude": -114.2811,
      "property_id": "1937026e92db962a",
      "property_type": "House"
    },
    {
      "address": "92 Crimson Ridge Place NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 755495,
      "estimate_sale_price": 927995,
      "interior_sq_m": 185.43292,
      "latitude": 51.109947,
      "longitude": -114.267265,
      "property_id": "194a46ad3e87ac93",
      "property_type": "House"
    },
    {
      "address": "193 Haskayne Drive NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 796391,
      "estimate_sale_price": 742287,
      "interior_sq_m": 144.09142,
      "latitude": 51.109,
      "longitude": -114.27432,
      "property_id": "19571c0512b6aad1",
      "property_type": "Land"
    },
    {
      "address": "606 30 Rochester View NW",
      "bathroom_full": 2,
      "bedroom": 2,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 588498,
      "estimate_sale_price": 607269,
      "interior_sq_m": 121.70197,
      "latitude": 51.109287,
      "longitude": -114.268166,
      "property_id": "1970a9fb9b0ef288",
      "property_type": "Townhouse"
    },
    {
      "address": "403 30 Rochester View NW",
      "bathroom_full": 2,
      "bedroom": 2,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 582353,
      "estimate_sale_price": 595388,
      "interior_sq_m": 121.70197,
      "latitude": 51.10929,
      "longitude": -114.26749,
      "property_id": "197ae81595f55b04",
      "property_type": "Townhouse"
    },
    {
      "address": "306 30 Rochester View NW",
      "bathroom_full": 2,
      "bedroom": 2,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 613610,
      "estimate_sale_price": 597311,
      "interior_sq_m": 121.70197,
      "latitude": 51.109077,
      "longitude": -114.267296,
      "property_id": "19bba2c88887e77f",
      "property_type": "Townhouse"
    },
    {
      "address": "136 Rowmont He NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 868734,
      "estimate_sale_price": 866386,
      "interior_sq_m": 169.45374,
      "latitude": 51.105396,
      "longitude": -114.272224,
      "property_id": "1a181b0c2fc33c17",
      "property_type": "House"
    },
    {
      "address": "26 Rowmont Link NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 863309,
      "estimate_sale_price": 845897,
      "interior_sq_m": 169.45374,
      "latitude": 51.105392,
      "longitude": -114.275246,
      "property_id": "1a25576c1b8459d6",
      "property_type": "House"
    },
    {
      "address": "118 Royston Gr NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 567121,
      "estimate_sale_price": 553067,
      "interior_sq_m": 169.45374,
      "latitude": 51.109142,
      "longitude": -114.2802,
      "property_id": "1a3acc71f28e8282",
      "property_type": "Land"
    },
    {
      "address": "118 Rowley Way NW",
      "bathroom_full": 2,
      "bedroom": 1,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1196866,
      "estimate_sale_price": 1158442,
      "interior_sq_m": 127.83352,
      "latitude": 51.106197,
      "longitude": -114.26919,
      "property_id": "1a62540309aa0db",
      "property_type": "Townhouse"
    },
    {
      "address": "110 Rowley Way NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1105558,
      "estimate_sale_price": 1035481,
      "interior_sq_m": 205.49982,
      "latitude": 51.106167,
      "longitude": -114.26945,
      "property_id": "1a94a4e4d1215e4f",
      "property_type": "House"
    },
    {
      "address": "45 Royston Terrace NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 867087,
      "estimate_sale_price": 860279,
      "interior_sq_m": 217.1126,
      "latitude": 51.107872,
      "longitude": -114.27415,
      "property_id": "1aa29e3059368745",
      "property_type": "House"
    },
    {
      "address": "64 Rodelle Park NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 999583,
      "estimate_sale_price": 1017639,
      "interior_sq_m": 169.45374,
      "latitude": 51.107204,
      "longitude": -114.285,
      "property_id": "1b0752469f608fa9",
      "property_type": "House"
    },
    {
      "address": "75 Royston Park NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 854976,
      "estimate_sale_price": 887496,
      "interior_sq_m": 170.28986,
      "latitude": 51.108334,
      "longitude": -114.279724,
      "property_id": "1b08ab83feaac992",
      "property_type": "House"
    },
    {
      "address": "41 Rowmont Manor NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 777193,
      "estimate_sale_price": 797341,
      "interior_sq_m": 169.45374,
      "latitude": 51.10639,
      "longitude": -114.28036,
      "property_id": "1b0d71d5e4fa66a6",
      "property_type": "House"
    },
    {
      "address": "221 Royston Manor NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 777036,
      "estimate_sale_price": 477949,
      "interior_sq_m": 169.45374,
      "latitude": 51.11126,
      "longitude": -114.27916,
      "property_id": "1b164cc17737edbe",
      "property_type": "Commercial"
    },
    {
      "address": "471 Rowmont Boulevard NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 702617,
      "estimate_sale_price": 705725,
      "interior_sq_m": 146.22818,
      "latitude": 51.106705,
      "longitude": -114.278076,
      "property_id": "1b1ae1d17e4d2b8e",
      "property_type": "Duplex"
    },
    {
      "address": "413 260 Rowley Way NW",
      "bathroom_full": 2,
      "bedroom": 1,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 366108,
      "estimate_sale_price": 277126,
      "interior_sq_m": 127.83352,
      "latitude": 51.106487,
      "longitude": -114.26371,
      "property_id": "1b22b0ea65019999",
      "property_type": "Townhouse"
    },
    {
      "address": "36 Rowmont Common NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 745925,
      "estimate_sale_price": 797403,
      "interior_sq_m": 173.07692,
      "latitude": 51.10634,
      "longitude": -114.277985,
      "property_id": "1b3880954aa7c2d8",
      "property_type": "House"
    },
    {
      "address": "11 Rowley Park NW",
      "bathroom_full": 4,
      "bedroom": 4,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1048642,
      "estimate_sale_price": 1054298,
      "interior_sq_m": 228.53958,
      "latitude": 51.105984,
      "longitude": -114.26705,
      "property_id": "1b88a8a11d3fd72a",
      "property_type": "House"
    },
    {
      "address": "579 Rowmont Boulevard NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 619075,
      "estimate_sale_price": 639688,
      "interior_sq_m": 146.22818,
      "latitude": 51.107227,
      "longitude": -114.28084,
      "property_id": "1b9bf2017a7683c",
      "property_type": "Duplex"
    },
    {
      "address": "1003 30 Rochester View NW",
      "bathroom_full": 2,
      "bedroom": 2,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 594272,
      "estimate_sale_price": 617377,
      "interior_sq_m": 121.70197,
      "latitude": 51.108864,
      "longitude": -114.26735,
      "property_id": "1ba1b295999f392d",
      "property_type": "Townhouse"
    },
    {
      "address": "407 Rowley Way NW",
      "bathroom_full": 2,
      "bedroom": 1,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 862151,
      "estimate_sale_price": 807302,
      "interior_sq_m": 127.83352,
      "latitude": 51.104866,
      "longitude": -114.26973,
      "property_id": "1bc90bdd43e0a64a",
      "property_type": "Townhouse"
    },
    {
      "address": "189 Haskayne Drive NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 826459,
      "estimate_sale_price": 766144,
      "interior_sq_m": 144.09142,
      "latitude": 51.108994,
      "longitude": -114.27421,
      "property_id": "1c1d879069dc15ef",
      "property_type": "Land"
    },
    {
      "address": "24 Rowmont Common NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 803797,
      "estimate_sale_price": 764564,
      "interior_sq_m": 164.34412,
      "latitude": 51.10632,
      "longitude": -114.27765,
      "property_id": "1c3f4924fce46426",
      "property_type": "House"
    },
    {
      "address": "10 Rowley Gardens NW",
      "bathroom_full": 3,
      "bedroom": 5,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1003736,
      "estimate_sale_price": 927845,
      "interior_sq_m": 210.14493,
      "latitude": 51.105774,
      "longitude": -114.26873,
      "property_id": "1c4c4858e9218f5d",
      "property_type": "House"
    },
    {
      "address": "51 Royston He NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 995306,
      "estimate_sale_price": 929646,
      "interior_sq_m": 169.45374,
      "latitude": 51.107765,
      "longitude": -114.27134,
      "property_id": "1caaad2840e1f471",
      "property_type": "Land"
    },
    {
      "address": "99 Royston Park NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 941064,
      "estimate_sale_price": 894726,
      "interior_sq_m": 170.28986,
      "latitude": 51.108646,
      "longitude": -114.27914,
      "property_id": "1cbe4bd256a5053b",
      "property_type": "House"
    },
    {
      "address": "439 Crimson Ridge Place",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 827074,
      "estimate_sale_price": 744265,
      "interior_sq_m": 184.5039,
      "latitude": 51.108387,
      "longitude": -114.264175,
      "property_id": "1cd8667c5828590a",
      "property_type": "House"
    },
    {
      "address": "522 Rochester Terrace NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1295586,
      "estimate_sale_price": 1230403,
      "interior_sq_m": 169.45374,
      "latitude": 51.110634,
      "longitude": -114.274956,
      "property_id": "1d19e17e2c0db33b",
      "property_type": "Land"
    },
    {
      "address": "39 Rowmont View NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1007907,
      "estimate_sale_price": 978734,
      "interior_sq_m": 169.45374,
      "latitude": 51.106518,
      "longitude": -114.28155,
      "property_id": "1d2129fb67e2cd16",
      "property_type": "House"
    },
    {
      "address": "53 Rochester Way NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 978742,
      "estimate_sale_price": 973974,
      "interior_sq_m": 169.45374,
      "latitude": 51.109985,
      "longitude": -114.274704,
      "property_id": "1d256c342ef98aba",
      "property_type": "House"
    },
    {
      "address": "22 Rodelle Common NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 979307,
      "estimate_sale_price": 928843,
      "interior_sq_m": 169.45374,
      "latitude": 51.108128,
      "longitude": -114.28516,
      "property_id": "1d34e04d7a42ff99",
      "property_type": "House"
    },
    {
      "address": "31 Royston He NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 952474,
      "estimate_sale_price": 899329,
      "interior_sq_m": 169.45374,
      "latitude": 51.107925,
      "longitude": -114.27072,
      "property_id": "1db57fd2f876a2c1",
      "property_type": "Land"
    },
    {
      "address": "441 Rowmont Drive NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 743231,
      "estimate_sale_price": 683612,
      "interior_sq_m": 209.3088,
      "latitude": 51.107918,
      "longitude": -114.28728,
      "property_id": "1de40cdfc771c19c",
      "property_type": "Land"
    },
    {
      "address": "76 Rowmont View NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 843041,
      "estimate_sale_price": 864407,
      "interior_sq_m": 169.45374,
      "latitude": 51.107018,
      "longitude": -114.28144,
      "property_id": "1e51e290533e36bf",
      "property_type": "House"
    },
    {
      "address": "184 Rowmont Boulevard NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 755350,
      "estimate_sale_price": 765292,
      "interior_sq_m": 170.38275,
      "latitude": 51.10737,
      "longitude": -114.27145,
      "property_id": "1e7b09265cb81d6b",
      "property_type": "House"
    },
    {
      "address": "14 Crimson Ridge Cove NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1005042,
      "estimate_sale_price": 995781,
      "interior_sq_m": 220.73578,
      "latitude": 51.11006,
      "longitude": -114.26855,
      "property_id": "1ec5127566a67b70",
      "property_type": "House"
    },
    {
      "address": "88 Rowmont View NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 879014,
      "estimate_sale_price": 883911,
      "interior_sq_m": 169.45374,
      "latitude": 51.107143,
      "longitude": -114.28178,
      "property_id": "1eff7c8a69f5fb96",
      "property_type": "House"
    },
    {
      "address": "8 Crimson Ridge Heights NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 771111,
      "estimate_sale_price": 860542,
      "interior_sq_m": 169.45374,
      "latitude": 51.10864,
      "longitude": -114.259926,
      "property_id": "1f17afa214b5ce09",
      "property_type": "House"
    },
    {
      "address": "30 Rowmont Link NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 983392,
      "estimate_sale_price": 900259,
      "interior_sq_m": 169.45374,
      "latitude": 51.105488,
      "longitude": -114.275215,
      "property_id": "1f204e1e0fe98f8f",
      "property_type": "House"
    },
    {
      "address": "205 Haskayne Drive NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 822112,
      "estimate_sale_price": 772671,
      "interior_sq_m": 144.09142,
      "latitude": 51.109043,
      "longitude": -114.274666,
      "property_id": "1f30f9d4e226cedb",
      "property_type": "Land"
    },
    {
      "address": "543 Rowmont Boulevard NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 780952,
      "estimate_sale_price": 822394,
      "interior_sq_m": 146.22818,
      "latitude": 51.106995,
      "longitude": -114.27998,
      "property_id": "1f3e154fa903bc64",
      "property_type": "Duplex"
    },
    {
      "address": "515 Rowmont Boulevard NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 666642,
      "estimate_sale_price": 710336,
      "interior_sq_m": 146.22818,
      "latitude": 51.10685,
      "longitude": -114.27914,
      "property_id": "1f3fb4d436c4c077",
      "property_type": "Duplex"
    },
    {
      "address": "108 260 Rowley Way",
      "bathroom_full": 1,
      "bedroom": 1,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 252885,
      "estimate_sale_price": 214615,
      "interior_sq_m": 47.566357,
      "latitude": 51.105774,
      "longitude": -114.26377,
      "property_id": "1f6b1d03e992cb85",
      "property_type": "Townhouse"
    },
    {
      "address": "264 Rowmont Drive NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 1073359,
      "estimate_sale_price": 1048558,
      "interior_sq_m": 209.3088,
      "latitude": 51.105637,
      "longitude": -114.27875,
      "property_id": "1fb63eae00c8ca93",
      "property_type": "Land"
    },
    {
      "address": "447 Rowmont Boulevard NW",
      "bathroom_full": 3,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 671585,
      "estimate_sale_price": 730474,
      "interior_sq_m": 146.22818,
      "latitude": 51.106674,
      "longitude": -114.27748,
      "property_id": "1fdff2d80746461f",
      "property_type": "Duplex"
    },
    {
      "address": "245 Haskayne Drive NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 809352,
      "estimate_sale_price": 762101,
      "interior_sq_m": 144.09142,
      "latitude": 51.109367,
      "longitude": -114.27576,
      "property_id": "1ff05f56fb08411d",
      "property_type": "Land"
    },
    {
      "address": "214 260 Rowley Way NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 473507,
      "estimate_sale_price": 426745,
      "interior_sq_m": 141.11855,
      "latitude": 51.10593,
      "longitude": -114.26305,
      "property_id": "2046469f6608526c",
      "property_type": "Townhouse"
    },
    {
      "address": "150 Rowley Gate NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 690050,
      "estimate_sale_price": 672856,
      "interior_sq_m": 155.79776,
      "latitude": 51.104828,
      "longitude": -114.27164,
      "property_id": "205cfdf72f48c363",
      "property_type": "Duplex"
    },
    {
      "address": "63 Rodelle Terrace NW",
      "bathroom_full": 2,
      "bedroom": 3,
      "city": "Calgary",
      "community": "Haskayne",
      "estimate_list_price": 948913,
      "estimate_sale_price": 927227,
      "interior_sq_m": 169.45374,
      "latitude": 51.108913,
      "longitude": -114.285324,
      "property_id": "208142b51f5989f8",
      "property_type": "Land"
    }
  ],
  "error": "",
  "pagination": {
    "current_page": 1,
    "has_next_page": true,
    "has_previous_page": false,
    "page_total": 6607
  },
  "price_quote": false,
  "result_total": 660677,
  "time_ms": 30,
  "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"
  }
}

Power Query will detect JSON, expand the records, and hand you back a flat table. If you want to be tidy, click into the Advanced Editor and parameterize the API key and city so the query is reusable.

Once the table loads, set data types. Interior area to decimal, bedroom counts to whole number, latitude and longitude to decimal. Close and apply.

Step 2: Dashboard one, market heat by city

A market heat map answers a question every portfolio manager asks: where is the action? You can build it with a single page in Power BI.

Drop a map visual onto the canvas. Bind latitude and longitude to the location fields. Bind estimate_list_price to the size and colour. Add a slicer for property_type. Add another slicer for bedroom.

For the headline number, drop a card visual on the page and use a Data Analysis Expressions (DAX) measure:

Median List Price = MEDIAN(Properties[estimate_list_price])

Add the city as a column header on a table visual, with median list price, count of active listings, and median price per square metre. Anyone scanning the dashboard sees which cities are heating up and which are cooling.

To make the dashboard live across the country, repeat the Get Data step for each city you cover, or use the /api-documentation/aggregate endpoint for pre-aggregated city stats. Aggregate is faster when you only need summaries. The endpoint returns a single aggregation per call, scoped to a country, province, city, or community, so for a multi-city dashboard you would loop through something like this once per city and concatenate the results:

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

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

    const url = new URL('https://api.houski.ca/aggregate');
    url.searchParams.set('aggregation', 'median');
    url.searchParams.set('api_key', 'YOUR_API_KEY');
    url.searchParams.set('city', 'calgary');
    url.searchParams.set('country_abbreviation', 'ca');
    url.searchParams.set('field', 'estimate_list_price');
    url.searchParams.set('province_abbreviation', 'ab');

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

    return data;
}

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

// Log the response
console.log(data);
})();
API response
JSON
{
  "cache_hit": true,
  "cost_cents": 1.0,
  "data": [
    {
      "aggregation": "median",
      "field": "estimate_list_price",
      "value": "631924"
    }
  ],
  "error": "",
  "price_quote": false,
  "time_ms": 15
}

You can also pack multiple aggregations into one call using the batch syntax (agg0_field, agg0_aggregation, agg1_field, agg1_aggregation, and so on) if you want median, count, and average in a single round trip per city.

Step 3: Dashboard two, inventory aging

Inventory aging is the second dashboard every brokerage wants. How long are listings sitting? Which neighbourhoods are clearing inventory fast, and which are stuck?

Use the expand=listings parameter to pull listing history alongside each property. Heads-up on cost: every expanded row is billed at a tenth of a cent on top of the base properties cost, so a large pull with two expansions can cost much more than the same pull with none. Scope the query down with filters before adding expansions, and add has_expand_listings_eq=true to skip the properties that have no listing history to expand.

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', 'listings');
    url.searchParams.set('has_expand_listings_eq', 'true');
    url.searchParams.set('province_abbreviation', 'ab');
    url.searchParams.set('results_per_page', '50');
    url.searchParams.set('select', 'property_id,community,property_type,estimate_list_price');

    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": true,
  "cost_cents": 21.899998,
  "data": [
    {
      "address": "24 Rowley Common NW",
      "community": "Haskayne",
      "estimate_list_price": 858302,
      "listings": [
        {
          "expand_estimate_list_price": 779000,
          "expand_listing_date": "2022-08-17",
          "expand_listing_event": "Listed",
          "property_id": "12e3ffac04ec3562"
        },
        {
          "expand_estimate_list_price": 779000,
          "expand_listing_date": "2022-09-28",
          "expand_listing_event": "Unlisted",
          "property_id": "12e3ffac04ec3562"
        }
      ],
      "property_id": "12e3ffac04ec3562",
      "property_type": "House"
    },
    {
      "address": "370 Rowley Way NW",
      "community": "Haskayne",
      "estimate_list_price": 1785386,
      "listings": [
        {
          "expand_estimate_list_price": 1749900,
          "expand_listing_date": "2025-04-14",
          "expand_listing_event": "Listed",
          "property_id": "132a75dd38341a25"
        },
        {
          "expand_estimate_list_price": 1699900,
          "expand_listing_date": "2025-04-29",
          "expand_listing_event": "Price decrease",
          "property_id": "132a75dd38341a25"
        },
        {
          "expand_estimate_list_price": 1649900,
          "expand_listing_date": "2025-06-16",
          "expand_listing_event": "Price decrease",
          "property_id": "132a75dd38341a25"
        },
        {
          "expand_estimate_list_price": 1649900,
          "expand_listing_date": "2025-06-24",
          "expand_listing_event": "Unlisted",
          "property_id": "132a75dd38341a25"
        }
      ],
      "property_id": "132a75dd38341a25",
      "property_type": "House"
    },
    {
      "address": "406 Crimson Ridge Place NW",
      "community": "Haskayne",
      "estimate_list_price": 1693064,
      "listings": [
        {
          "expand_estimate_list_price": 1700000,
          "expand_listing_date": "2026-04-09",
          "expand_listing_event": "Listed",
          "property_id": "15f1300ff5b78de"
        },
        {
          "expand_estimate_list_price": 1700000,
          "expand_listing_date": "2026-06-02",
          "expand_listing_event": "Unlisted",
          "property_id": "15f1300ff5b78de"
        }
      ],
      "property_id": "15f1300ff5b78de",
      "property_type": "House"
    },
    {
      "address": "402 260 Rowley Way NW",
      "community": "Haskayne",
      "estimate_list_price": 479021,
      "listings": [
        {
          "expand_estimate_list_price": 549900,
          "expand_listing_date": "2024-04-17",
          "expand_listing_event": "Listed",
          "property_id": "1711f9f3e6ff0fee"
        },
        {
          "expand_estimate_list_price": 539900,
          "expand_listing_date": "2024-04-30",
          "expand_listing_event": "Price decrease",
          "property_id": "1711f9f3e6ff0fee"
        },
        {
          "expand_estimate_list_price": 524900,
          "expand_listing_date": "2024-05-16",
          "expand_listing_event": "Price decrease",
          "property_id": "1711f9f3e6ff0fee"
        },
        {
          "expand_estimate_list_price": 524900,
          "expand_listing_date": "2024-06-05",
          "expand_listing_event": "Unlisted",
          "property_id": "1711f9f3e6ff0fee"
        }
      ],
      "property_id": "1711f9f3e6ff0fee",
      "property_type": "Townhouse"
    },
    {
      "address": "276 Crimson Ridge Place",
      "community": "Haskayne",
      "estimate_list_price": 961126,
      "listings": [
        {
          "expand_estimate_list_price": 929900,
          "expand_listing_date": "2025-05-09",
          "expand_listing_event": "Listed",
          "property_id": "1733a860ddad8adb"
        },
        {
          "expand_estimate_list_price": 899900,
          "expand_listing_date": "2025-06-02",
          "expand_listing_event": "Price decrease",
          "property_id": "1733a860ddad8adb"
        },
        {
          "expand_estimate_list_price": 899900,
          "expand_listing_date": "2025-06-09",
          "expand_listing_event": "Unlisted",
          "property_id": "1733a860ddad8adb"
        }
      ],
      "property_id": "1733a860ddad8adb",
      "property_type": "House"
    },
    {
      "address": "110 Rowley Way NW",
      "community": "Haskayne",
      "estimate_list_price": 1105558,
      "listings": [
        {
          "expand_estimate_list_price": 1099900,
          "expand_listing_date": "2026-09-18",
          "expand_listing_event": "Listed",
          "property_id": "1a94a4e4d1215e4f"
        },
        {
          "expand_estimate_list_price": 1089900,
          "expand_listing_date": "2026-10-16",
          "expand_listing_event": "Price decrease",
          "property_id": "1a94a4e4d1215e4f"
        },
        {
          "expand_estimate_list_price": 1089900,
          "expand_listing_date": "2026-11-06",
          "expand_listing_event": "Unlisted",
          "property_id": "1a94a4e4d1215e4f"
        }
      ],
      "property_id": "1a94a4e4d1215e4f",
      "property_type": "House"
    },
    {
      "address": "11 Rowley Park NW",
      "community": "Haskayne",
      "estimate_list_price": 1048642,
      "listings": [
        {
          "expand_estimate_list_price": 929900,
          "expand_listing_date": "2024-03-26",
          "expand_listing_event": "Listed",
          "property_id": "1b88a8a11d3fd72a"
        },
        {
          "expand_estimate_list_price": 929900,
          "expand_listing_date": "2024-04-17",
          "expand_listing_event": "Unlisted",
          "property_id": "1b88a8a11d3fd72a"
        }
      ],
      "property_id": "1b88a8a11d3fd72a",
      "property_type": "House"
    },
    {
      "address": "24 Rowmont Common NW",
      "community": "Haskayne",
      "estimate_list_price": 803797,
      "listings": [
        {
          "expand_estimate_list_price": 799900,
          "expand_listing_date": "2026-09-16",
          "expand_listing_event": "Listed",
          "property_id": "1c3f4924fce46426"
        },
        {
          "expand_estimate_list_price": 779900,
          "expand_listing_date": "2026-10-31",
          "expand_listing_event": "Price decrease",
          "property_id": "1c3f4924fce46426"
        }
      ],
      "property_id": "1c3f4924fce46426",
      "property_type": "House"
    },
    {
      "address": "10 Rowley Gardens NW",
      "community": "Haskayne",
      "estimate_list_price": 1003736,
      "listings": [
        {
          "expand_estimate_list_price": 779900,
          "expand_listing_date": "2023-02-21",
          "expand_listing_event": "Listed",
          "property_id": "1c4c4858e9218f5d"
        },
        {
          "expand_estimate_list_price": 779900,
          "expand_listing_date": "2023-03-03",
          "expand_listing_event": "Unlisted",
          "property_id": "1c4c4858e9218f5d"
        }
      ],
      "property_id": "1c4c4858e9218f5d",
      "property_type": "House"
    },
    {
      "address": "439 Crimson Ridge Place",
      "community": "Haskayne",
      "estimate_list_price": 827074,
      "listings": [
        {
          "expand_estimate_list_price": 759900,
          "expand_listing_date": "2024-03-03",
          "expand_listing_event": "Listed",
          "property_id": "1cd8667c5828590a"
        },
        {
          "expand_estimate_list_price": 779900,
          "expand_listing_date": "2024-03-06",
          "expand_listing_event": "Price increase",
          "property_id": "1cd8667c5828590a"
        },
        {
          "expand_estimate_list_price": 779900,
          "expand_listing_date": "2024-04-19",
          "expand_listing_event": "Unlisted",
          "property_id": "1cd8667c5828590a"
        }
      ],
      "property_id": "1cd8667c5828590a",
      "property_type": "House"
    },
    {
      "address": "184 Rowmont Boulevard NW",
      "community": "Haskayne",
      "estimate_list_price": 755350,
      "listings": [
        {
          "expand_estimate_list_price": 800000,
          "expand_listing_date": "2026-01-09",
          "expand_listing_event": "Listed",
          "property_id": "1e7b09265cb81d6b"
        },
        {
          "expand_estimate_list_price": 765000,
          "expand_listing_date": "2026-06-02",
          "expand_listing_event": "Price decrease",
          "property_id": "1e7b09265cb81d6b"
        },
        {
          "expand_estimate_list_price": 730000,
          "expand_listing_date": "2026-10-01",
          "expand_listing_event": "Price decrease",
          "property_id": "1e7b09265cb81d6b"
        }
      ],
      "property_id": "1e7b09265cb81d6b",
      "property_type": "House"
    },
    {
      "address": "108 260 Rowley Way",
      "community": "Haskayne",
      "estimate_list_price": 252885,
      "listings": [
        {
          "expand_estimate_list_price": 210000,
          "expand_listing_date": "2023-01-22",
          "expand_listing_event": "Listed",
          "property_id": "1f6b1d03e992cb85"
        },
        {
          "expand_estimate_list_price": 210000,
          "expand_listing_date": "2023-02-02",
          "expand_listing_event": "Unlisted",
          "property_id": "1f6b1d03e992cb85"
        }
      ],
      "property_id": "1f6b1d03e992cb85",
      "property_type": "Townhouse"
    },
    {
      "address": "214 260 Rowley Way NW",
      "community": "Haskayne",
      "estimate_list_price": 473507,
      "listings": [
        {
          "expand_estimate_list_price": 499900,
          "expand_listing_date": "2025-06-16",
          "expand_listing_event": "Listed",
          "property_id": "2046469f6608526c"
        },
        {
          "expand_estimate_list_price": 489900,
          "expand_listing_date": "2025-07-04",
          "expand_listing_event": "Price decrease",
          "property_id": "2046469f6608526c"
        },
        {
          "expand_estimate_list_price": 489900,
          "expand_listing_date": "2025-07-18",
          "expand_listing_event": "Unlisted",
          "property_id": "2046469f6608526c"
        }
      ],
      "property_id": "2046469f6608526c",
      "property_type": "Townhouse"
    },
    {
      "address": "108 260 Rowley Way NW",
      "community": "Haskayne",
      "estimate_list_price": 221334,
      "listings": [
        {
          "expand_estimate_list_price": 264900,
          "expand_listing_date": "2025-06-16",
          "expand_listing_event": "Listed",
          "property_id": "22ec83abda3c924"
        },
        {
          "expand_estimate_list_price": 249500,
          "expand_listing_date": "2025-07-04",
          "expand_listing_event": "Price decrease",
          "property_id": "22ec83abda3c924"
        },
        {
          "expand_estimate_list_price": 244900,
          "expand_listing_date": "2025-07-22",
          "expand_listing_event": "Price decrease",
          "property_id": "22ec83abda3c924"
        },
        {
          "expand_estimate_list_price": 244900,
          "expand_listing_date": "2025-09-03",
          "expand_listing_event": "Unlisted",
          "property_id": "22ec83abda3c924"
        }
      ],
      "property_id": "22ec83abda3c924",
      "property_type": "Townhouse"
    },
    {
      "address": "107 Royston Way NW",
      "community": "Haskayne",
      "estimate_list_price": 643123,
      "listings": [
        {
          "expand_estimate_list_price": 659900,
          "expand_listing_date": "2026-01-09",
          "expand_listing_event": "Listed",
          "property_id": "23b919ff876b3b8a"
        },
        {
          "expand_estimate_list_price": 649900,
          "expand_listing_date": "2026-02-25",
          "expand_listing_event": "Price decrease",
          "property_id": "23b919ff876b3b8a"
        },
        {
          "expand_estimate_list_price": 639900,
          "expand_listing_date": "2026-04-09",
          "expand_listing_event": "Price decrease",
          "property_id": "23b919ff876b3b8a"
        },
        {
          "expand_estimate_list_price": 624900,
          "expand_listing_date": "2026-04-25",
          "expand_listing_event": "Price decrease",
          "property_id": "23b919ff876b3b8a"
        },
        {
          "expand_estimate_list_price": 619900,
          "expand_listing_date": "2026-05-23",
          "expand_listing_event": "Price decrease",
          "property_id": "23b919ff876b3b8a"
        },
        {
          "expand_estimate_list_price": 599900,
          "expand_listing_date": "2026-07-01",
          "expand_listing_event": "Price decrease",
          "property_id": "23b919ff876b3b8a"
        },
        {
          "expand_estimate_list_price": 599900,
          "expand_listing_date": "2026-07-20",
          "expand_listing_event": "Unlisted",
          "property_id": "23b919ff876b3b8a"
        }
      ],
      "property_id": "23b919ff876b3b8a",
      "property_type": "Duplex"
    },
    {
      "address": "77 Rowmont Common NW",
      "community": "Haskayne",
      "estimate_list_price": 1155231,
      "listings": [
        {
          "expand_estimate_list_price": 1130000,
          "expand_listing_date": "2026-08-26",
          "expand_listing_event": "Listed",
          "property_id": "256c6845184f09f1"
        },
        {
          "expand_estimate_list_price": 1130000,
          "expand_listing_date": "2026-09-12",
          "expand_listing_event": "Unlisted",
          "property_id": "256c6845184f09f1"
        }
      ],
      "property_id": "256c6845184f09f1",
      "property_type": "House"
    },
    {
      "address": "451 Crimson Ridge Place NW",
      "community": "Haskayne",
      "estimate_list_price": 814306,
      "listings": [
        {
          "expand_estimate_list_price": 769900,
          "expand_listing_date": "2023-08-17",
          "expand_listing_event": "Listed",
          "property_id": "258e63a9375d97bf"
        },
        {
          "expand_estimate_list_price": 789900,
          "expand_listing_date": "2023-09-13",
          "expand_listing_event": "Price increase",
          "property_id": "258e63a9375d97bf"
        },
        {
          "expand_estimate_list_price": 789900,
          "expand_listing_date": "2023-10-05",
          "expand_listing_event": "Unlisted",
          "property_id": "258e63a9375d97bf"
        }
      ],
      "property_id": "258e63a9375d97bf",
      "property_type": "House"
    },
    {
      "address": "595 Rowmont Boulevard NW",
      "community": "Haskayne",
      "estimate_list_price": 713229,
      "listings": [
        {
          "expand_estimate_list_price": 709900,
          "expand_listing_date": "2025-01-30",
          "expand_listing_event": "Listed",
          "property_id": "25bc64e85c2426c1"
        },
        {
          "expand_estimate_list_price": 709900,
          "expand_listing_date": "2025-02-17",
          "expand_listing_event": "Unlisted",
          "property_id": "25bc64e85c2426c1"
        }
      ],
      "property_id": "25bc64e85c2426c1",
      "property_type": "Duplex"
    },
    {
      "address": "443 Crimson Ridge Place NW",
      "community": "Haskayne",
      "estimate_list_price": 843823,
      "listings": [
        {
          "expand_estimate_list_price": 769900,
          "expand_listing_date": "2023-12-12",
          "expand_listing_event": "Listed",
          "property_id": "2995a9578799af14"
        },
        {
          "expand_estimate_list_price": 769900,
          "expand_listing_date": "2024-02-11",
          "expand_listing_event": "Unlisted",
          "property_id": "2995a9578799af14"
        }
      ],
      "property_id": "2995a9578799af14",
      "property_type": "House"
    },
    {
      "address": "825 155 Crimson Ridge Place NW",
      "community": "Haskayne",
      "estimate_list_price": 358441,
      "listings": [
        {
          "expand_estimate_list_price": 399000,
          "expand_listing_date": "2026-02-25",
          "expand_listing_event": "Listed",
          "property_id": "29fabcbaac673051"
        },
        {
          "expand_estimate_list_price": 389000,
          "expand_listing_date": "2026-04-13",
          "expand_listing_event": "Price decrease",
          "property_id": "29fabcbaac673051"
        },
        {
          "expand_estimate_list_price": 387450,
          "expand_listing_date": "2026-04-25",
          "expand_listing_event": "Price decrease",
          "property_id": "29fabcbaac673051"
        },
        {
          "expand_estimate_list_price": 369000,
          "expand_listing_date": "2026-05-17",
          "expand_listing_event": "Price decrease",
          "property_id": "29fabcbaac673051"
        },
        {
          "expand_estimate_list_price": 369000,
          "expand_listing_date": "2026-06-21",
          "expand_listing_event": "Unlisted",
          "property_id": "29fabcbaac673051"
        }
      ],
      "property_id": "29fabcbaac673051",
      "property_type": "Townhouse"
    },
    {
      "address": "717 155 Crimson Ridge Place NW",
      "community": "Haskayne",
      "estimate_list_price": 375028,
      "listings": [
        {
          "expand_estimate_list_price": 385000,
          "expand_listing_date": "2026-09-18",
          "expand_listing_event": "Listed",
          "property_id": "2adfb380b5d3dd9a"
        },
        {
          "expand_estimate_list_price": 375000,
          "expand_listing_date": "2026-11-06",
          "expand_listing_event": "Price decrease",
          "property_id": "2adfb380b5d3dd9a"
        }
      ],
      "property_id": "2adfb380b5d3dd9a",
      "property_type": "Townhouse"
    },
    {
      "address": "160 Crimson Ridge Place NW",
      "community": "Haskayne",
      "estimate_list_price": 854878,
      "listings": [
        {
          "expand_estimate_list_price": 919900,
          "expand_listing_date": "2025-09-17",
          "expand_listing_event": "Listed",
          "property_id": "2af828388dd98806"
        },
        {
          "expand_estimate_list_price": 899900,
          "expand_listing_date": "2026-01-09",
          "expand_listing_event": "Price decrease",
          "property_id": "2af828388dd98806"
        },
        {
          "expand_estimate_list_price": 889900,
          "expand_listing_date": "2026-05-23",
          "expand_listing_event": "Price decrease",
          "property_id": "2af828388dd98806"
        },
        {
          "expand_estimate_list_price": 869900,
          "expand_listing_date": "2026-07-13",
          "expand_listing_event": "Price decrease",
          "property_id": "2af828388dd98806"
        },
        {
          "expand_estimate_list_price": 869900,
          "expand_listing_date": "2026-07-20",
          "expand_listing_event": "Unlisted",
          "property_id": "2af828388dd98806"
        }
      ],
      "property_id": "2af828388dd98806",
      "property_type": "House"
    },
    {
      "address": "44 Rowley Terrace NW",
      "community": "Haskayne",
      "estimate_list_price": 1084109,
      "listings": [
        {
          "expand_estimate_list_price": 829900,
          "expand_listing_date": "2023-04-05",
          "expand_listing_event": "Listed",
          "property_id": "2b6b26d64d7b89ca"
        },
        {
          "expand_estimate_list_price": 829900,
          "expand_listing_date": "2023-04-15",
          "expand_listing_event": "Unlisted",
          "property_id": "2b6b26d64d7b89ca"
        }
      ],
      "property_id": "2b6b26d64d7b89ca",
      "property_type": "House"
    },
    {
      "address": "102 30 Rochester View NW",
      "community": "Haskayne",
      "estimate_list_price": 458779,
      "listings": [
        {
          "expand_estimate_list_price": 514900,
          "expand_listing_date": "2025-05-20",
          "expand_listing_event": "Listed",
          "property_id": "2b7accc9ba502ab3"
        },
        {
          "expand_estimate_list_price": 514900,
          "expand_listing_date": "2025-09-07",
          "expand_listing_event": "Unlisted",
          "property_id": "2b7accc9ba502ab3"
        }
      ],
      "property_id": "2b7accc9ba502ab3",
      "property_type": "Townhouse"
    },
    {
      "address": "580 Rowmont Boulevard NW",
      "community": "Haskayne",
      "estimate_list_price": 734548,
      "listings": [
        {
          "expand_estimate_list_price": 719900,
          "expand_listing_date": "2025-08-30",
          "expand_listing_event": "Listed",
          "property_id": "2d01b63b855d4843"
        },
        {
          "expand_estimate_list_price": 719900,
          "expand_listing_date": "2025-11-07",
          "expand_listing_event": "Unlisted",
          "property_id": "2d01b63b855d4843"
        }
      ],
      "property_id": "2d01b63b855d4843",
      "property_type": "Duplex"
    },
    {
      "address": "49 Royston Terrace NW",
      "community": "Haskayne",
      "estimate_list_price": 832964,
      "listings": [
        {
          "expand_estimate_list_price": 879900,
          "expand_listing_date": "2024-07-22",
          "expand_listing_event": "Listed",
          "property_id": "2d992e63957c721d"
        },
        {
          "expand_estimate_list_price": 869900,
          "expand_listing_date": "2024-08-17",
          "expand_listing_event": "Price decrease",
          "property_id": "2d992e63957c721d"
        },
        {
          "expand_estimate_list_price": 859900,
          "expand_listing_date": "2024-08-26",
          "expand_listing_event": "Price decrease",
          "property_id": "2d992e63957c721d"
        },
        {
          "expand_estimate_list_price": 819900,
          "expand_listing_date": "2024-10-05",
          "expand_listing_event": "Price decrease",
          "property_id": "2d992e63957c721d"
        },
        {
          "expand_estimate_list_price": 819900,
          "expand_listing_date": "2024-10-22",
          "expand_listing_event": "Unlisted",
          "property_id": "2d992e63957c721d"
        }
      ],
      "property_id": "2d992e63957c721d",
      "property_type": "House"
    },
    {
      "address": "233 Haskayne Drive NW",
      "community": "Haskayne",
      "estimate_list_price": 753560,
      "listings": [
        {
          "expand_estimate_list_price": 779900,
          "expand_listing_date": "2026-10-02",
          "expand_listing_event": "Listed",
          "property_id": "2dcc3ccf0f5609cc"
        }
      ],
      "property_id": "2dcc3ccf0f5609cc",
      "property_type": "House"
    },
    {
      "address": "24 Royston Rise NW",
      "community": "Haskayne",
      "estimate_list_price": 855208,
      "listings": [
        {
          "expand_estimate_list_price": 918000,
          "expand_listing_date": "2025-05-09",
          "expand_listing_event": "Listed",
          "property_id": "2e2536740d74737a"
        },
        {
          "expand_estimate_list_price": 889000,
          "expand_listing_date": "2025-06-02",
          "expand_listing_event": "Price decrease",
          "property_id": "2e2536740d74737a"
        },
        {
          "expand_estimate_list_price": 848888,
          "expand_listing_date": "2025-06-29",
          "expand_listing_event": "Price decrease",
          "property_id": "2e2536740d74737a"
        },
        {
          "expand_estimate_list_price": 848888,
          "expand_listing_date": "2025-07-16",
          "expand_listing_event": "Unlisted",
          "property_id": "2e2536740d74737a"
        },
        {
          "expand_estimate_list_price": 875000,
          "expand_listing_date": "2026-02-25",
          "expand_listing_event": "Listed",
          "property_id": "2e2536740d74737a"
        },
        {
          "expand_estimate_list_price": 850000,
          "expand_listing_date": "2026-04-09",
          "expand_listing_event": "Price decrease",
          "property_id": "2e2536740d74737a"
        },
        {
          "expand_estimate_list_price": 839900,
          "expand_listing_date": "2026-04-25",
          "expand_listing_event": "Price decrease",
          "property_id": "2e2536740d74737a"
        },
        {
          "expand_estimate_list_price": 839900,
          "expand_listing_date": "2026-05-30",
          "expand_listing_event": "Unlisted",
          "property_id": "2e2536740d74737a"
        }
      ],
      "property_id": "2e2536740d74737a",
      "property_type": "House"
    },
    {
      "address": "809 155 Crimson Ridge Place NW",
      "community": "Haskayne",
      "estimate_list_price": 274531,
      "listings": [
        {
          "expand_estimate_list_price": 375000,
          "expand_listing_date": "2025-04-18",
          "expand_listing_event": "Listed",
          "property_id": "2f84216feb9e74da"
        },
        {
          "expand_estimate_list_price": 375000,
          "expand_listing_date": "2025-08-24",
          "expand_listing_event": "Unlisted",
          "property_id": "2f84216feb9e74da"
        }
      ],
      "property_id": "2f84216feb9e74da",
      "property_type": "Townhouse"
    },
    {
      "address": "17 Rowmont Heath NW",
      "community": "Haskayne",
      "estimate_list_price": 1004674,
      "listings": [
        {
          "expand_estimate_list_price": 989000,
          "expand_listing_date": "2025-04-04",
          "expand_listing_event": "Listed",
          "property_id": "32676e70fb9282f5"
        },
        {
          "expand_estimate_list_price": 989000,
          "expand_listing_date": "2025-04-21",
          "expand_listing_event": "Unlisted",
          "property_id": "32676e70fb9282f5"
        }
      ],
      "property_id": "32676e70fb9282f5",
      "property_type": "House"
    },
    {
      "address": "584 Rowmont Boulevard NW",
      "community": "Haskayne",
      "estimate_list_price": 735287,
      "listings": [
        {
          "expand_estimate_list_price": 749900,
          "expand_listing_date": "2025-04-23",
          "expand_listing_event": "Listed",
          "property_id": "34a26230b2173684"
        },
        {
          "expand_estimate_list_price": 729900,
          "expand_listing_date": "2025-06-02",
          "expand_listing_event": "Price decrease",
          "property_id": "34a26230b2173684"
        },
        {
          "expand_estimate_list_price": 729900,
          "expand_listing_date": "2025-06-24",
          "expand_listing_event": "Unlisted",
          "property_id": "34a26230b2173684"
        }
      ],
      "property_id": "34a26230b2173684",
      "property_type": "Duplex"
    },
    {
      "address": "52 Crimson Ridge Heights NW",
      "community": "Haskayne",
      "estimate_list_price": 1695300,
      "listings": [
        {
          "expand_estimate_list_price": 1850000,
          "expand_listing_date": "2026-07-01",
          "expand_listing_event": "Listed",
          "property_id": "35826ca18cf4719c"
        },
        {
          "expand_estimate_list_price": 1760000,
          "expand_listing_date": "2026-07-27",
          "expand_listing_event": "Price decrease",
          "property_id": "35826ca18cf4719c"
        },
        {
          "expand_estimate_list_price": 1760000,
          "expand_listing_date": "2026-08-25",
          "expand_listing_event": "Unlisted",
          "property_id": "35826ca18cf4719c"
        }
      ],
      "property_id": "35826ca18cf4719c",
      "property_type": "House"
    },
    {
      "address": "113 155 Crimson Ridge Place NW",
      "community": "Haskayne",
      "estimate_list_price": 234653,
      "listings": [
        {
          "expand_estimate_list_price": 232000,
          "expand_listing_date": "2026-09-18",
          "expand_listing_event": "Listed",
          "property_id": "38083c205fcabc21"
        },
        {
          "expand_estimate_list_price": 232000,
          "expand_listing_date": "2026-10-20",
          "expand_listing_event": "Unlisted",
          "property_id": "38083c205fcabc21"
        }
      ],
      "property_id": "38083c205fcabc21",
      "property_type": "Townhouse"
    },
    {
      "address": "494 Rochester Terrace NW",
      "community": "Haskayne",
      "estimate_list_price": 1755573,
      "listings": [
        {
          "expand_estimate_list_price": 1848000,
          "expand_listing_date": "2024-11-08",
          "expand_listing_event": "Listed",
          "property_id": "39f9775c30dcc40b"
        },
        {
          "expand_estimate_list_price": 1795000,
          "expand_listing_date": "2025-01-24",
          "expand_listing_event": "Price decrease",
          "property_id": "39f9775c30dcc40b"
        },
        {
          "expand_estimate_list_price": 1720000,
          "expand_listing_date": "2025-03-12",
          "expand_listing_event": "Price decrease",
          "property_id": "39f9775c30dcc40b"
        },
        {
          "expand_estimate_list_price": 1599000,
          "expand_listing_date": "2025-05-06",
          "expand_listing_event": "Price decrease",
          "property_id": "39f9775c30dcc40b"
        },
        {
          "expand_estimate_list_price": 1599000,
          "expand_listing_date": "2025-06-09",
          "expand_listing_event": "Unlisted",
          "property_id": "39f9775c30dcc40b"
        }
      ],
      "property_id": "39f9775c30dcc40b",
      "property_type": "House"
    },
    {
      "address": "33 Royston Grove NW",
      "community": "Haskayne",
      "estimate_list_price": 854858,
      "listings": [
        {
          "expand_estimate_list_price": 859900,
          "expand_listing_date": "2025-10-19",
          "expand_listing_event": "Listed",
          "property_id": "3b8f385ff9766cd0"
        },
        {
          "expand_estimate_list_price": 849900,
          "expand_listing_date": "2025-10-26",
          "expand_listing_event": "Price decrease",
          "property_id": "3b8f385ff9766cd0"
        },
        {
          "expand_estimate_list_price": 849900,
          "expand_listing_date": "2025-12-02",
          "expand_listing_event": "Unlisted",
          "property_id": "3b8f385ff9766cd0"
        }
      ],
      "property_id": "3b8f385ff9766cd0",
      "property_type": "House"
    },
    {
      "address": "601 30 Rochester View NW",
      "community": "Haskayne",
      "estimate_list_price": 536161,
      "listings": [
        {
          "expand_estimate_list_price": 527800,
          "expand_listing_date": "2026-07-01",
          "expand_listing_event": "Listed",
          "property_id": "3bc56f14dd90877c"
        },
        {
          "expand_estimate_list_price": 527800,
          "expand_listing_date": "2026-07-20",
          "expand_listing_event": "Unlisted",
          "property_id": "3bc56f14dd90877c"
        }
      ],
      "property_id": "3bc56f14dd90877c",
      "property_type": "Townhouse"
    },
    {
      "address": "103 Royston Way NW",
      "community": "Haskayne",
      "estimate_list_price": 655212,
      "listings": [
        {
          "expand_estimate_list_price": 659900,
          "expand_listing_date": "2025-10-26",
          "expand_listing_event": "Listed",
          "property_id": "3bd51f41e90dc701"
        },
        {
          "expand_estimate_list_price": 649900,
          "expand_listing_date": "2025-11-06",
          "expand_listing_event": "Price decrease",
          "property_id": "3bd51f41e90dc701"
        },
        {
          "expand_estimate_list_price": 649900,
          "expand_listing_date": "2025-12-02",
          "expand_listing_event": "Unlisted",
          "property_id": "3bd51f41e90dc701"
        }
      ],
      "property_id": "3bd51f41e90dc701",
      "property_type": "Duplex"
    },
    {
      "address": "172 Rowmont Boulevard NW",
      "community": "Haskayne",
      "estimate_list_price": 677932,
      "listings": [
        {
          "expand_estimate_list_price": 674900,
          "expand_listing_date": "2026-04-19",
          "expand_listing_event": "Listed",
          "property_id": "3cd8abf13a23c755"
        },
        {
          "expand_estimate_list_price": 674900,
          "expand_listing_date": "2026-04-26",
          "expand_listing_event": "Unlisted",
          "property_id": "3cd8abf13a23c755"
        }
      ],
      "property_id": "3cd8abf13a23c755",
      "property_type": "Duplex"
    },
    {
      "address": "69 Royston Grove NW",
      "community": "Haskayne",
      "estimate_list_price": 878331,
      "listings": [
        {
          "expand_estimate_list_price": 899900,
          "expand_listing_date": "2025-08-15",
          "expand_listing_event": "Listed",
          "property_id": "3dea869d6b05c444"
        },
        {
          "expand_estimate_list_price": 899900,
          "expand_listing_date": "2025-10-07",
          "expand_listing_event": "Unlisted",
          "property_id": "3dea869d6b05c444"
        }
      ],
      "property_id": "3dea869d6b05c444",
      "property_type": "House"
    },
    {
      "address": "676 Rowmont Boulevard NW",
      "community": "Haskayne",
      "estimate_list_price": 623912,
      "listings": [
        {
          "expand_estimate_list_price": 599900,
          "expand_listing_date": "2026-10-21",
          "expand_listing_event": "Listed",
          "property_id": "41a07f3ba32f9a32"
        }
      ],
      "property_id": "41a07f3ba32f9a32",
      "property_type": "Land"
    },
    {
      "address": "723 155 Crimson Ridge Place NW",
      "community": "Haskayne",
      "estimate_list_price": 414055,
      "listings": [
        {
          "expand_estimate_list_price": 460000,
          "expand_listing_date": "2025-07-22",
          "expand_listing_event": "Listed",
          "property_id": "425a0dd9a3d77d72"
        },
        {
          "expand_estimate_list_price": 460000,
          "expand_listing_date": "2025-08-05",
          "expand_listing_event": "Unlisted",
          "property_id": "425a0dd9a3d77d72"
        }
      ],
      "property_id": "425a0dd9a3d77d72",
      "property_type": "Townhouse"
    },
    {
      "address": "109 155 Crimson Ridge Place NW",
      "community": "Haskayne",
      "estimate_list_price": 241538,
      "listings": [
        {
          "expand_estimate_list_price": 305000,
          "expand_listing_date": "2025-06-16",
          "expand_listing_event": "Listed",
          "property_id": "433747e5f866243c"
        },
        {
          "expand_estimate_list_price": 305000,
          "expand_listing_date": "2025-08-27",
          "expand_listing_event": "Unlisted",
          "property_id": "433747e5f866243c"
        }
      ],
      "property_id": "433747e5f866243c",
      "property_type": "Townhouse"
    },
    {
      "address": "184 Crimson Ridge Place NW",
      "community": "Haskayne",
      "estimate_list_price": 1298861,
      "listings": [
        {
          "expand_estimate_list_price": 1139900,
          "expand_listing_date": "2024-10-25",
          "expand_listing_event": "Listed",
          "property_id": "44f1e41ed4d18bf5"
        },
        {
          "expand_estimate_list_price": 1139900,
          "expand_listing_date": "2024-11-19",
          "expand_listing_event": "Unlisted",
          "property_id": "44f1e41ed4d18bf5"
        }
      ],
      "property_id": "44f1e41ed4d18bf5",
      "property_type": "House"
    },
    {
      "address": "612 Rowmont Boulevard NW",
      "community": "Haskayne",
      "estimate_list_price": 740606,
      "listings": [
        {
          "expand_estimate_list_price": 729900,
          "expand_listing_date": "2025-06-29",
          "expand_listing_event": "Listed",
          "property_id": "4583bdc98e40a2ac"
        },
        {
          "expand_estimate_list_price": 720000,
          "expand_listing_date": "2025-07-11",
          "expand_listing_event": "Price decrease",
          "property_id": "4583bdc98e40a2ac"
        },
        {
          "expand_estimate_list_price": 720000,
          "expand_listing_date": "2025-08-05",
          "expand_listing_event": "Unlisted",
          "property_id": "4583bdc98e40a2ac"
        }
      ],
      "property_id": "4583bdc98e40a2ac",
      "property_type": "Duplex"
    },
    {
      "address": "99 Royston Rise NW",
      "community": "Haskayne",
      "estimate_list_price": 831764,
      "listings": [
        {
          "expand_estimate_list_price": 811900,
          "expand_listing_date": "2023-09-03",
          "expand_listing_event": "Listed",
          "property_id": "45c5756f2703350d"
        },
        {
          "expand_estimate_list_price": 794900,
          "expand_listing_date": "2023-09-13",
          "expand_listing_event": "Price decrease",
          "property_id": "45c5756f2703350d"
        },
        {
          "expand_estimate_list_price": 769900,
          "expand_listing_date": "2023-11-18",
          "expand_listing_event": "Price decrease",
          "property_id": "45c5756f2703350d"
        },
        {
          "expand_estimate_list_price": 769900,
          "expand_listing_date": "2023-12-01",
          "expand_listing_event": "Unlisted",
          "property_id": "45c5756f2703350d"
        }
      ],
      "property_id": "45c5756f2703350d",
      "property_type": "House"
    },
    {
      "address": "72 Rowmont Drive NW",
      "community": "Haskayne",
      "estimate_list_price": 722347,
      "listings": [
        {
          "expand_estimate_list_price": 679900,
          "expand_listing_date": "2023-12-12",
          "expand_listing_event": "Listed",
          "property_id": "46a8d6ed6c35cac1"
        },
        {
          "expand_estimate_list_price": 679900,
          "expand_listing_date": "2024-02-11",
          "expand_listing_event": "Unlisted",
          "property_id": "46a8d6ed6c35cac1"
        }
      ],
      "property_id": "46a8d6ed6c35cac1",
      "property_type": "House"
    },
    {
      "address": "237 Rowmont Drive NW",
      "community": "Haskayne",
      "estimate_list_price": 2182885,
      "listings": [
        {
          "expand_estimate_list_price": 1975900,
          "expand_listing_date": "2025-02-10",
          "expand_listing_event": "Listed",
          "property_id": "46b74ee1329abdeb"
        },
        {
          "expand_estimate_list_price": 1950000,
          "expand_listing_date": "2025-04-20",
          "expand_listing_event": "Price decrease",
          "property_id": "46b74ee1329abdeb"
        },
        {
          "expand_estimate_list_price": 1950000,
          "expand_listing_date": "2025-07-04",
          "expand_listing_event": "Listed",
          "property_id": "46b74ee1329abdeb"
        },
        {
          "expand_estimate_list_price": 1950000,
          "expand_listing_date": "2025-07-07",
          "expand_listing_event": "Unlisted",
          "property_id": "46b74ee1329abdeb"
        },
        {
          "expand_estimate_list_price": 1924800,
          "expand_listing_date": "2025-08-27",
          "expand_listing_event": "Price decrease",
          "property_id": "46b74ee1329abdeb"
        },
        {
          "expand_estimate_list_price": 1899800,
          "expand_listing_date": "2025-09-26",
          "expand_listing_event": "Price decrease",
          "property_id": "46b74ee1329abdeb"
        },
        {
          "expand_estimate_list_price": 1899800,
          "expand_listing_date": "2025-11-15",
          "expand_listing_event": "Unlisted",
          "property_id": "46b74ee1329abdeb"
        }
      ],
      "property_id": "46b74ee1329abdeb",
      "property_type": "House"
    },
    {
      "address": "583 Rowmont Boulevard NW",
      "community": "Haskayne",
      "estimate_list_price": 602143,
      "listings": [
        {
          "expand_estimate_list_price": 649900,
          "expand_listing_date": "2025-04-18",
          "expand_listing_event": "Listed",
          "property_id": "470ffca3ad590f57"
        },
        {
          "expand_estimate_list_price": 649900,
          "expand_listing_date": "2025-05-06",
          "expand_listing_event": "Unlisted",
          "property_id": "470ffca3ad590f57"
        }
      ],
      "property_id": "470ffca3ad590f57",
      "property_type": "Duplex"
    },
    {
      "address": "28 Royston Way NW",
      "community": "Haskayne",
      "estimate_list_price": 1673044,
      "listings": [
        {
          "expand_estimate_list_price": 1999989,
          "expand_listing_date": "2026-09-12",
          "expand_listing_event": "Listed",
          "property_id": "47534d41ef2d713a"
        },
        {
          "expand_estimate_list_price": 1899989,
          "expand_listing_date": "2026-09-23",
          "expand_listing_event": "Price decrease",
          "property_id": "47534d41ef2d713a"
        },
        {
          "expand_estimate_list_price": 1899989,
          "expand_listing_date": "2026-10-01",
          "expand_listing_event": "Unlisted",
          "property_id": "47534d41ef2d713a"
        }
      ],
      "property_id": "47534d41ef2d713a",
      "property_type": "House"
    },
    {
      "address": "144 Crimson Ridge Place NW",
      "community": "Haskayne",
      "estimate_list_price": 850535,
      "listings": [
        {
          "expand_estimate_list_price": 909900,
          "expand_listing_date": "2025-04-04",
          "expand_listing_event": "Listed",
          "property_id": "487f1698937bbaa7"
        },
        {
          "expand_estimate_list_price": 899900,
          "expand_listing_date": "2025-06-02",
          "expand_listing_event": "Price decrease",
          "property_id": "487f1698937bbaa7"
        },
        {
          "expand_estimate_list_price": 879900,
          "expand_listing_date": "2026-01-09",
          "expand_listing_event": "Price decrease",
          "property_id": "487f1698937bbaa7"
        },
        {
          "expand_estimate_list_price": 859900,
          "expand_listing_date": "2026-02-25",
          "expand_listing_event": "Price decrease",
          "property_id": "487f1698937bbaa7"
        },
        {
          "expand_estimate_list_price": 859900,
          "expand_listing_date": "2026-03-17",
          "expand_listing_event": "Unlisted",
          "property_id": "487f1698937bbaa7"
        }
      ],
      "property_id": "487f1698937bbaa7",
      "property_type": "House"
    }
  ],
  "error": "",
  "pagination": {
    "current_page": 1,
    "has_next_page": true,
    "has_previous_page": false,
    "page_total": 2146
  },
  "price_quote": false,
  "result_total": 107275,
  "time_ms": 89,
  "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"
  }
}

Inside Power Query, expand the listings sub-table. The expansion returns expand_listing_date, the date of the listing event. Add a custom column Days On Market = DateTime.LocalNow() - [expand_listing_date]. Bucket the result into Fresh (0 to 14 days), Warm (15 to 45), Cold (46 to 90), and Stale (91 plus).

Drop a stacked bar chart with community on the axis and the four buckets stacked. Add a line chart with date on the x-axis and median days on market on the y-axis. You now have a visual that shows neighbourhoods slowing or speeding up in real time.

Step 4: Dashboard three, price per square metre by neighbourhood

Price per square metre normalizes across home sizes and tells a much truer story than headline list price. A 60 square metre downtown condo at $600,000 and a 240 square metre suburban house at $900,000 look like very different markets when you take size out of the picture.

Add a calculated column in Power BI:

Price Per Sqm = DIVIDE(Properties[estimate_list_price], Properties[interior_sq_m])

Use a treemap with community as the category and median price per square metre as the value. The biggest tiles, in the brightest colour, tell the story instantly.

You can also pull the area benchmarks Houski already calculates so you do not have to re-compute them:

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('province_abbreviation', 'ab');
    url.searchParams.set('results_per_page', '50');
    url.searchParams.set('select', 'community,area_residential_list_price_per_sq_m,area_residential_rent_price_per_sq_m,area_comparable_list_price_per_sq_m,area_comparable_assessment_value_per_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": true,
  "cost_cents": 21.499998,
  "data": [
    {
      "address": "518 Rochester Terrace NW",
      "area_comparable_list_price_per_sq_m": 4615,
      "area_residential_list_price_per_sq_m": 4210,
      "area_residential_rent_price_per_sq_m": 17,
      "community": "Haskayne",
      "property_id": "103f92f6cf7bbdd9"
    },
    {
      "address": "36 Crimson Ridge Heights NW",
      "area_comparable_list_price_per_sq_m": 4777,
      "area_residential_list_price_per_sq_m": 4422,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "104fb85a9c002e5d"
    },
    {
      "address": "54 Rowmont Link NW",
      "area_comparable_list_price_per_sq_m": 4568,
      "area_residential_list_price_per_sq_m": 4362,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "1055f97323e53f25"
    },
    {
      "address": "499 Rochester Terrace NW",
      "area_comparable_list_price_per_sq_m": 4632,
      "area_residential_list_price_per_sq_m": 4210,
      "area_residential_rent_price_per_sq_m": 17,
      "community": "Haskayne",
      "property_id": "1106094a42c3757d"
    },
    {
      "address": "304 30 Rochester View NW",
      "area_comparable_list_price_per_sq_m": 4095,
      "area_residential_list_price_per_sq_m": 4090,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "1198b011e799062c"
    },
    {
      "address": "95 Royston He NW",
      "area_comparable_list_price_per_sq_m": 4327,
      "area_residential_list_price_per_sq_m": 4260,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "11aa161875771a70"
    },
    {
      "address": "399 Rowley Way NW",
      "area_comparable_list_price_per_sq_m": 4479,
      "area_residential_list_price_per_sq_m": 4922,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "11ae22f58673d45b"
    },
    {
      "address": "40 Rowmont Common NW",
      "area_comparable_list_price_per_sq_m": 4731,
      "area_residential_list_price_per_sq_m": 4559,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "11d2132629e36a28"
    },
    {
      "address": "16 Rowmont Common NW",
      "area_comparable_list_price_per_sq_m": 4770,
      "area_residential_list_price_per_sq_m": 4593,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "11f8d3671079fb5e"
    },
    {
      "address": "435 Crimson Ridge Place NW",
      "area_comparable_list_price_per_sq_m": 4654,
      "area_residential_list_price_per_sq_m": 4535,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "1209fe3057284c96"
    },
    {
      "address": "288 Crimson Ridge Place NW",
      "area_comparable_list_price_per_sq_m": 4571,
      "area_residential_list_price_per_sq_m": 4581,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "1277c8e032dd2f50"
    },
    {
      "address": "12300 Bearspaw Dam Road NW",
      "area_comparable_list_price_per_sq_m": 4349,
      "area_residential_list_price_per_sq_m": 4498,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "127d1b2d00e4f3c8"
    },
    {
      "address": "103 Royston He NW",
      "area_comparable_list_price_per_sq_m": 4290,
      "area_residential_list_price_per_sq_m": 4210,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "127d6face59614c5"
    },
    {
      "address": "309 Rowmont Drive NW",
      "area_comparable_list_price_per_sq_m": 4677,
      "area_residential_list_price_per_sq_m": 4810,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "12b2d696502ebf7f"
    },
    {
      "address": "48 Rowley Terrace NW",
      "area_comparable_list_price_per_sq_m": 4563,
      "area_residential_list_price_per_sq_m": 4549,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "12c72dfadc700db1"
    },
    {
      "address": "242 Haskayne Drive NW",
      "area_comparable_list_price_per_sq_m": 4552,
      "area_residential_list_price_per_sq_m": 4210,
      "area_residential_rent_price_per_sq_m": 17,
      "community": "Haskayne",
      "property_id": "12d33163d248bbb"
    },
    {
      "address": "24 Rowley Common NW",
      "area_comparable_list_price_per_sq_m": 4546,
      "area_residential_list_price_per_sq_m": 4922,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "12e3ffac04ec3562"
    },
    {
      "address": "370 Rowley Way NW",
      "area_comparable_assessment_value_per_sq_m": 4220,
      "area_comparable_list_price_per_sq_m": 5375,
      "area_residential_list_price_per_sq_m": 4549,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "132a75dd38341a25"
    },
    {
      "address": "190 Haskayne Drive NW",
      "area_comparable_list_price_per_sq_m": 4480,
      "area_residential_list_price_per_sq_m": 4210,
      "area_residential_rent_price_per_sq_m": 17,
      "community": "Haskayne",
      "property_id": "13c55a76d1a42b03"
    },
    {
      "address": "21 Royston Grove NW",
      "area_comparable_list_price_per_sq_m": 4349,
      "area_residential_list_price_per_sq_m": 4366,
      "area_residential_rent_price_per_sq_m": 17,
      "community": "Haskayne",
      "property_id": "13ee743ebe1c6938"
    },
    {
      "address": "103 30 Rochester View NW",
      "area_comparable_assessment_value_per_sq_m": 1221,
      "area_comparable_list_price_per_sq_m": 3896,
      "area_residential_list_price_per_sq_m": 4090,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "13fea00f12334c25"
    },
    {
      "address": "1005 30 Rochester View NW",
      "area_comparable_list_price_per_sq_m": 4020,
      "area_residential_list_price_per_sq_m": 4090,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "14502147c72743bb"
    },
    {
      "address": "91 Royston Park NW",
      "area_comparable_list_price_per_sq_m": 4282,
      "area_residential_list_price_per_sq_m": 4231,
      "area_residential_rent_price_per_sq_m": 17,
      "community": "Haskayne",
      "property_id": "145b4b70a1b793f6"
    },
    {
      "address": "234 Rowley Way NW",
      "area_comparable_list_price_per_sq_m": 4327,
      "area_residential_list_price_per_sq_m": 4581,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "1460ed9a1289aa91"
    },
    {
      "address": "345 Crimson Ridge Place NW",
      "area_comparable_list_price_per_sq_m": 4577,
      "area_residential_list_price_per_sq_m": 4581,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "148e56c59011c49b"
    },
    {
      "address": "71 Royston Park NW",
      "area_comparable_list_price_per_sq_m": 4332,
      "area_residential_list_price_per_sq_m": 4366,
      "area_residential_rent_price_per_sq_m": 17,
      "community": "Haskayne",
      "property_id": "14c51adaf57c0fa3"
    },
    {
      "address": "232 Rowmont Boulevard NW",
      "area_comparable_list_price_per_sq_m": 4480,
      "area_residential_list_price_per_sq_m": 4339,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "14fa4377dc466050"
    },
    {
      "address": "503 30 Rochester View NW",
      "area_comparable_list_price_per_sq_m": 4097,
      "area_residential_list_price_per_sq_m": 4090,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "15016f3a63aeaaef"
    },
    {
      "address": "68 Rowmont Drive NW",
      "area_comparable_list_price_per_sq_m": 4588,
      "area_residential_list_price_per_sq_m": 4362,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "15a459b39759b73c"
    },
    {
      "address": "14 Rowmont Court NW",
      "area_comparable_list_price_per_sq_m": 4431,
      "area_residential_list_price_per_sq_m": 4613,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "15eea15d534c94cc"
    },
    {
      "address": "406 Crimson Ridge Place NW",
      "area_comparable_assessment_value_per_sq_m": 4047,
      "area_comparable_list_price_per_sq_m": 6161,
      "area_residential_list_price_per_sq_m": 4533,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "15f1300ff5b78de"
    },
    {
      "address": "72 Royston Rise NW",
      "area_comparable_list_price_per_sq_m": 4288,
      "area_residential_list_price_per_sq_m": 4274,
      "area_residential_rent_price_per_sq_m": 17,
      "community": "Haskayne",
      "property_id": "15f96df0c17f861b"
    },
    {
      "address": "236 Crimson Ridge Place NW",
      "area_comparable_assessment_value_per_sq_m": 4602,
      "area_comparable_list_price_per_sq_m": 4549,
      "area_residential_list_price_per_sq_m": 4523,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "16124d237fc5f6b5"
    },
    {
      "address": "64 Rowley Terrace NW",
      "area_comparable_list_price_per_sq_m": 4569,
      "area_residential_list_price_per_sq_m": 4549,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "16828219949f53dc"
    },
    {
      "address": "120 260 Rowley Way NW",
      "area_comparable_list_price_per_sq_m": 4311,
      "area_residential_list_price_per_sq_m": 4493,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "168ffc1ba34407b4"
    },
    {
      "address": "217 Haskayne Drive NW",
      "area_comparable_list_price_per_sq_m": 4576,
      "area_residential_list_price_per_sq_m": 4274,
      "area_residential_rent_price_per_sq_m": 17,
      "community": "Haskayne",
      "property_id": "16e566c7331604af"
    },
    {
      "address": "42 Rowley Garden NW",
      "area_comparable_list_price_per_sq_m": 4569,
      "area_residential_list_price_per_sq_m": 4731,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "16e6fd1f8834fdb8"
    },
    {
      "address": "402 260 Rowley Way NW",
      "area_comparable_assessment_value_per_sq_m": 2690,
      "area_comparable_list_price_per_sq_m": 3335,
      "area_residential_list_price_per_sq_m": 4460,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "1711f9f3e6ff0fee"
    },
    {
      "address": "49 Rowmont He NW",
      "area_comparable_list_price_per_sq_m": 4431,
      "area_residential_list_price_per_sq_m": 4362,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "1727bad384612a5b"
    },
    {
      "address": "276 Crimson Ridge Place",
      "area_comparable_assessment_value_per_sq_m": 4478,
      "area_comparable_list_price_per_sq_m": 5384,
      "area_residential_list_price_per_sq_m": 4470,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "1733a860ddad8adb"
    },
    {
      "address": "11 Rodelle Terrace NW",
      "area_comparable_list_price_per_sq_m": 4665,
      "area_residential_list_price_per_sq_m": 4559,
      "area_residential_rent_price_per_sq_m": 18,
      "community": "Haskayne",
      "property_id": "175cdbb23daa91f7"
    },
    {
      "address": "80 Royston Garden NW",
      "area_comparable_list_price_per_sq_m": 4852,
      "area_residential_list_price_per_sq_m": 4442,
      "area_residential_rent_price_per_sq_m": 17,
      "community": "Haskayne",
      "property_id": "17e671552bf12120"
    },
    {
      "address": "200 Rowmont Boulevard NW",
      "area_comparable_list_price_per_sq_m": 4716,
      "area_residential_list_price_per_sq_m": 4625,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "17eb12e0d814c4d8"
    },
    {
      "address": "70 Rowmont Garden NW",
      "area_comparable_list_price_per_sq_m": 4421,
      "area_residential_list_price_per_sq_m": 4710,
      "area_residential_rent_price_per_sq_m": 18,
      "community": "Haskayne",
      "property_id": "182a8d4ba841fbdf"
    },
    {
      "address": "702 30 Rochester View NW",
      "area_comparable_list_price_per_sq_m": 4195,
      "area_residential_list_price_per_sq_m": 4090,
      "area_residential_rent_price_per_sq_m": 16,
      "community": "Haskayne",
      "property_id": "18749680d9189138"
    },
    {
      "address": "350 Rowley Way NW",
      "area_comparable_list_price_per_sq_m": 4549,
      "area_residential_list_price_per_sq_m": 4549,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "1897308191e4c14d"
    },
    {
      "address": "22 Rowley Garden NW",
      "area_comparable_list_price_per_sq_m": 4484,
      "area_residential_list_price_per_sq_m": 4731,
      "area_residential_rent_price_per_sq_m": 15,
      "community": "Haskayne",
      "property_id": "189e79b0088911e4"
    },
    {
      "address": "52 Rodelle Park NW",
      "area_comparable_list_price_per_sq_m": 4661,
      "area_residential_list_price_per_sq_m": 4559,
      "area_residential_rent_price_per_sq_m": 18,
      "community": "Haskayne",
      "property_id": "192c5126c78ae249"
    },
    {
      "address": "83 Royston Rise NW",
      "area_comparable_list_price_per_sq_m": 4578,
      "area_residential_list_price_per_sq_m": 4210,
      "area_residential_rent_price_per_sq_m": 17,
      "community": "Haskayne",
      "property_id": "1935c053bbdab7c5"
    },
    {
      "address": "27 Royston Park NW",
      "area_comparable_list_price_per_sq_m": 4915,
      "area_residential_list_price_per_sq_m": 4442,
      "area_residential_rent_price_per_sq_m": 17,
      "community": "Haskayne",
      "property_id": "1937026e92db962a"
    }
  ],
  "error": "",
  "pagination": {
    "current_page": 1,
    "has_next_page": true,
    "has_previous_page": false,
    "page_total": 13214
  },
  "price_quote": false,
  "result_total": 660677,
  "time_ms": 25,
  "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"
  }
}

The area_* fields already give you neighbourhood-level benchmarks that the API maintains, so your dashboard is comparing apples to apples without you writing the aggregation yourself.

Step 5: Scheduled refresh

Publish the report to the Power BI Service. Under Dataset Settings, configure a daily refresh. Power BI will hit Houski every morning and rebuild the dashboard. Your team walks into Monday with current numbers.

If you are running on a Pro license, eight refreshes per day is your ceiling. For most property dashboards, one refresh a day is plenty. New listings move slowly enough that anything more frequent is noise.

A note on row limits

Power Query handles large tables fine, but the round trip is faster if you ask for only the columns you need. Use select= aggressively. A property has more than 400 columns available, and you probably do not need all of them in your dashboard. One response holds at most 10,000 values (rows times columns), so a narrow select also lets each page carry more rows. Trim early, refresh fast.

If your dashboard spans countries, remember that every money value comes back in the currency of its own country, so convert before you put a Calgary price and a Paris price on the same axis.

Where to go next

For analysts who want to push past dashboards into modelling, the automated valuation model (AVM) endpoint returns full valuations with confidence scores, and the predict endpoint returns date-conditioned valuations across historical periods you can drop into a Power BI line chart. The aggregate endpoint gives you single-aggregation answers per location for executive views.

If your team wants the numbers without writing API calls at all, the pre-built exports on our datasets page are the no-code path for business intelligence teams.

If your team is ready to wire Houski into Power BI, start with our quick-start guide and grab an API key. Most analysts have their first live dashboard up before lunch.