Business intelligence (BI) analysts at Canadian banks, brokerages, and real estate investment trusts 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:
- A Power BI Desktop install (the free version is fine to start)
- A Houski API key from /api-documentation/quick-start
- Five minutes
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:
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);
})();
{
"cache_hit": true,
"cost_cents": 56.99999237060547,
"data": [
{
"address": "31 Hawkside Park NW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Hawkwood",
"estimate_list_price": 668241,
"estimate_sale_price": 652319,
"interior_sq_m": 126.34708404541016,
"latitude": 51.12946319580078,
"longitude": -114.17919921875,
"property_id": "10000f97f5cb7b9f",
"property_type": "Duplex"
},
{
"address": "6 1744 7 Street SW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 660525,
"estimate_sale_price": 826706,
"interior_sq_m": 125.882568359375,
"latitude": 51.03611755371094,
"longitude": -114.0792007446289,
"property_id": "10004f7afe0c1946",
"property_type": "House"
},
{
"address": "384 Copperpond Landng SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 389896,
"estimate_sale_price": 441172,
"interior_sq_m": 125.882568359375,
"latitude": 50.925743103027344,
"longitude": -113.92975616455078,
"property_id": "10007f9761f49940",
"property_type": "House"
},
{
"address": "239 Dalhurst Way NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Dalhousie",
"estimate_list_price": 1102567,
"estimate_sale_price": 1012722,
"interior_sq_m": 108.46339416503906,
"latitude": 51.110740661621094,
"longitude": -114.1513900756836,
"property_id": "100086f6bc064d3f",
"property_type": "House"
},
{
"address": "52 Cedargrove Way SW",
"bathroom_full": 1,
"bedroom": 3,
"city": "Calgary",
"community": "Cedarbrae",
"estimate_list_price": 635789,
"estimate_sale_price": 614848,
"interior_sq_m": 136.4734344482422,
"latitude": 50.95145034790039,
"longitude": -114.12571716308594,
"property_id": "1000c277cd905d3b",
"property_type": "House"
},
{
"address": "28 Sundown Gr SE",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Sundance",
"estimate_list_price": 735563,
"estimate_sale_price": 781636,
"interior_sq_m": 172.61241149902344,
"latitude": 50.899044036865234,
"longitude": -114.04895782470705,
"property_id": "1001109ab2aebbc0",
"property_type": "House"
},
{
"address": "117 Sandpiper Place NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Sandstone Valley",
"estimate_list_price": 744059,
"estimate_sale_price": 712601,
"interior_sq_m": 142.6978759765625,
"latitude": 51.13548278808594,
"longitude": -114.09813690185548,
"property_id": "1001217184d8717b",
"property_type": "House"
},
{
"address": "7237 California Boulevard NE",
"bathroom_full": 3,
"bedroom": 4,
"city": "Calgary",
"community": "Monterey Park",
"estimate_list_price": 686824,
"estimate_sale_price": 671900,
"interior_sq_m": 200.01858520507812,
"latitude": 51.07606506347656,
"longitude": -113.92584991455078,
"property_id": "1001392d95458fc1",
"property_type": "House"
},
{
"address": "C304 4501 37 Street NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 899046,
"estimate_sale_price": 963101,
"interior_sq_m": 125.882568359375,
"latitude": 51.09214782714844,
"longitude": -114.1414566040039,
"property_id": "10013b5e28e0c630",
"property_type": "House"
},
{
"address": "314 4350 SEton Drive SE",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "Seton",
"estimate_list_price": 355462,
"estimate_sale_price": 338888,
"interior_sq_m": 81.84689331054688,
"latitude": 50.87736511230469,
"longitude": -113.9473648071289,
"property_id": "10014345d508e279",
"property_type": "Apartment"
},
{
"address": "6619 34 Street SW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Lakeview",
"estimate_list_price": 937740,
"estimate_sale_price": 1009562,
"interior_sq_m": 139.35450744628906,
"latitude": 50.99509048461914,
"longitude": -114.13599395751952,
"property_id": "10014f3c7e5bfad9",
"property_type": "House"
},
{
"address": "188 Mount Aberdeen Close SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "McKenzie Lake",
"estimate_list_price": 492482,
"estimate_sale_price": 486121,
"interior_sq_m": 125.23225402832033,
"latitude": 50.93125915527344,
"longitude": -113.97802734375,
"property_id": "1001894d82aeeb0c",
"property_type": "House"
},
{
"address": "48 Catalina Circle NE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Monterey Park",
"estimate_list_price": 351905,
"estimate_sale_price": 367331,
"interior_sq_m": 113.61946868896484,
"latitude": 51.0904541015625,
"longitude": -113.9338150024414,
"property_id": "10019b3ca95ab014",
"property_type": "Townhouse"
},
{
"address": "196 Covemeadow Road NE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Coventry Hills",
"estimate_list_price": 571158,
"estimate_sale_price": 554416,
"interior_sq_m": 115.7562255859375,
"latitude": 51.17052459716797,
"longitude": -114.06744384765624,
"property_id": "1001a75df7bd5267",
"property_type": "House"
},
{
"address": "6105 302 Skyview Ranch Drive NE",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "Skyview Ranch",
"estimate_list_price": 227744,
"estimate_sale_price": 232149,
"interior_sq_m": 76.17985534667969,
"latitude": 51.15937805175781,
"longitude": -113.95913696289062,
"property_id": "1001e5d457b46526",
"property_type": "Apartment"
},
{
"address": "121 Prestwick Way SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "McKenzie Towne",
"estimate_list_price": 518328,
"estimate_sale_price": 516560,
"interior_sq_m": 104.42214965820312,
"latitude": 50.92182540893555,
"longitude": -113.96497344970705,
"property_id": "1001f28c96629974",
"property_type": "House"
},
{
"address": "1011 Olympia Crescent SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Ogden",
"estimate_list_price": 515950,
"estimate_sale_price": 494909,
"interior_sq_m": 96.80416107177734,
"latitude": 50.98045349121094,
"longitude": -114.01193237304688,
"property_id": "1001ffcbf6c0248c",
"property_type": "House"
},
{
"address": "432 27 Avenue NW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Mount Pleasant",
"estimate_list_price": 1216737,
"estimate_sale_price": 1166097,
"interior_sq_m": 167.40988159179688,
"latitude": 51.07721710205078,
"longitude": -114.06916046142578,
"property_id": "10021e44aa219b00",
"property_type": "House"
},
{
"address": "168 Coventry Hills Drive NE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Coventry Hills",
"estimate_list_price": 619858,
"estimate_sale_price": 611935,
"interior_sq_m": 172.7982177734375,
"latitude": 51.16414642333984,
"longitude": -114.06745910644533,
"property_id": "1002285fe3ee9c49",
"property_type": "House"
},
{
"address": "2206 10 Avenue SW",
"bathroom_full": 1,
"bedroom": 2,
"city": "Calgary",
"community": "Sunalta",
"estimate_list_price": 3786124,
"estimate_sale_price": 3380693,
"interior_sq_m": 71.25603485107422,
"latitude": 51.04497146606445,
"longitude": -114.11157989501952,
"property_id": "10023888bdd1ce5d",
"property_type": "Commercial"
},
{
"address": "1516 49 Street SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Forest Lawn",
"estimate_list_price": 504278,
"estimate_sale_price": 465441,
"interior_sq_m": 90.67261505126952,
"latitude": 51.04038619995117,
"longitude": -113.9624481201172,
"property_id": "10024c6023d6ca9",
"property_type": "House"
},
{
"address": "17 125 23 Avenue SW",
"bathroom_full": 1,
"bedroom": 1,
"city": "Calgary",
"community": "Mission",
"estimate_list_price": 262060,
"estimate_sale_price": 266879,
"interior_sq_m": 66.61092376708984,
"latitude": 51.03206634521485,
"longitude": -114.06616973876952,
"property_id": "10025933fa932bff",
"property_type": "Apartment"
},
{
"address": "2 2022 11 Avenue SW",
"bathroom_full": 1,
"bedroom": 2,
"city": "Calgary",
"community": "Sunalta",
"estimate_list_price": 202973,
"estimate_sale_price": 190114,
"interior_sq_m": 71.25603485107422,
"latitude": 51.04391098022461,
"longitude": -114.10794067382812,
"property_id": "10027a59d3becf43",
"property_type": "Apartment"
},
{
"address": "2128 Crestwood Road SE",
"bathroom_full": 1,
"bedroom": 2,
"city": "Calgary",
"community": "Ogden",
"estimate_list_price": 545985,
"estimate_sale_price": 533257,
"interior_sq_m": 80.96432495117188,
"latitude": 50.99529266357422,
"longitude": -114.01044464111328,
"property_id": "1002822e7b274674",
"property_type": "House"
},
{
"address": "6728 37 Avenue NE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Temple",
"estimate_list_price": 542552,
"estimate_sale_price": 544699,
"interior_sq_m": 109.16062927246094,
"latitude": 51.08673858642578,
"longitude": -113.93768310546876,
"property_id": "100283206befdb78",
"property_type": "House"
},
{
"address": "66 Walden Walk SE",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "Walden",
"estimate_list_price": 413594,
"estimate_sale_price": 403880,
"interior_sq_m": 128.344482421875,
"latitude": 50.87325668334961,
"longitude": -114.03673553466795,
"property_id": "10028c2a3333256c",
"property_type": "Townhouse"
},
{
"address": "1 8544 48 Avenue NW",
"bathroom_full": 2,
"bedroom": 1,
"city": "Calgary",
"community": "Bowness",
"estimate_list_price": 342121,
"estimate_sale_price": 290482,
"interior_sq_m": 40.877323150634766,
"latitude": 51.09642028808594,
"longitude": -114.21005249023438,
"property_id": "1002be55c752b864",
"property_type": "Townhouse"
},
{
"address": "2 2205 28 Street SW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Killarney-Glengarry",
"estimate_list_price": 476027,
"estimate_sale_price": 454355,
"interior_sq_m": 136.28762817382812,
"latitude": 51.03435134887695,
"longitude": -114.1285400390625,
"property_id": "1002cc232a56aa4c",
"property_type": "Townhouse"
},
{
"address": "1005 815 14 Avenue SW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 526728,
"estimate_sale_price": 427340,
"interior_sq_m": 125.882568359375,
"latitude": 51.039894104003906,
"longitude": -114.08025360107422,
"property_id": "1002e3ad9cd64ae2",
"property_type": "House"
},
{
"address": "6535 54 Street NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Dalhousie",
"estimate_list_price": 693680,
"estimate_sale_price": 614755,
"interior_sq_m": 115.19881439208984,
"latitude": 51.110992431640625,
"longitude": -114.16285705566406,
"property_id": "10030424b41ab29b",
"property_type": "House"
},
{
"address": "145 Valley Woods Place NW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Valley Ridge",
"estimate_list_price": 867171,
"estimate_sale_price": 846712,
"interior_sq_m": 199.55406188964844,
"latitude": 51.09944152832031,
"longitude": -114.25984954833984,
"property_id": "10034432c778cb03",
"property_type": "House"
},
{
"address": "95 Creekview Garden SW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Pine Creek",
"estimate_list_price": 643208,
"estimate_sale_price": 582191,
"interior_sq_m": 186.8264617919922,
"latitude": 50.85353088378906,
"longitude": -114.06766510009766,
"property_id": "100356cd86faab90",
"property_type": "Land"
},
{
"address": "205 6704 6 Street SW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 897458,
"estimate_sale_price": 973795,
"interior_sq_m": 125.882568359375,
"latitude": 50.99378204345703,
"longitude": -114.07872009277344,
"property_id": "100362b238afdae6",
"property_type": "House"
},
{
"address": "1542 52 Street SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Penbrooke Meadows",
"estimate_list_price": 517342,
"estimate_sale_price": 564297,
"interior_sq_m": 98.01189422607422,
"latitude": 51.03938293457031,
"longitude": -113.95793914794922,
"property_id": "1003955fedeb5ef7",
"property_type": "House"
},
{
"address": "232 Rundlefield Road NE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Rundle",
"estimate_list_price": 573532,
"estimate_sale_price": 553975,
"interior_sq_m": 102.74990844726562,
"latitude": 51.067909240722656,
"longitude": -113.96527862548828,
"property_id": "1003a8f7e7319598",
"property_type": "House"
},
{
"address": "2210 11 Chaparral Ridge Drive SE",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "Chaparral",
"estimate_list_price": 313630,
"estimate_sale_price": 301795,
"interior_sq_m": 101.63507843017578,
"latitude": 50.8853759765625,
"longitude": -114.02365112304688,
"property_id": "1003b461d5f335cf",
"property_type": "Apartment"
},
{
"address": "125 Riverview Court SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Riverbend",
"estimate_list_price": 693053,
"estimate_sale_price": 698659,
"interior_sq_m": 139.3533935546875,
"latitude": 50.97541809082031,
"longitude": -114.02526092529295,
"property_id": "1003b80b5086a07",
"property_type": "House"
},
{
"address": "1435 25A Street SW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Shaganappi",
"estimate_list_price": 2909285,
"estimate_sale_price": 3087843,
"interior_sq_m": 167.8743896484375,
"latitude": 51.04007339477539,
"longitude": -114.12265014648438,
"property_id": "1003d96e8e607840",
"property_type": "House"
},
{
"address": "52 Tuscany Valley Lane NW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Tuscany",
"estimate_list_price": 668117,
"estimate_sale_price": 655810,
"interior_sq_m": 158.44482421875,
"latitude": 51.1290283203125,
"longitude": -114.24392700195312,
"property_id": "1003eea453087ea3",
"property_type": "House"
},
{
"address": "110 Royal Birch Gardens NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 659752,
"estimate_sale_price": 618231,
"interior_sq_m": 140.65402221679688,
"latitude": 51.14434814453125,
"longitude": -114.21712493896484,
"property_id": "1003fe4194f1fe08",
"property_type": "House"
},
{
"address": "81 Scandia Hill NW",
"bathroom_full": 3,
"bedroom": 2,
"city": "Calgary",
"community": "Scenic Acres",
"estimate_list_price": 1009024,
"estimate_sale_price": 996856,
"interior_sq_m": 188.9632110595703,
"latitude": 51.11382293701172,
"longitude": -114.21599578857422,
"property_id": "10043508321f54ba",
"property_type": "House"
},
{
"address": "606 2909 17 Avenue SW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Killarney-Glengarry",
"estimate_list_price": 401849,
"estimate_sale_price": 385035,
"interior_sq_m": 136.28762817382812,
"latitude": 51.03756332397461,
"longitude": -114.12918090820312,
"property_id": "10044d3d0f4ecf10",
"property_type": "Townhouse"
},
{
"address": "216 116 7A Street NE",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "Bridgeland-Riverside",
"estimate_list_price": 533786,
"estimate_sale_price": 502515,
"interior_sq_m": 79.89595031738281,
"latitude": 51.05305099487305,
"longitude": -114.043701171875,
"property_id": "10044e9ee6b6014",
"property_type": "Apartment"
},
{
"address": "1221 15 Avenue SW",
"bathroom_full": 2,
"bedroom": 0,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 326164,
"estimate_sale_price": 311098,
"interior_sq_m": 46.544036865234375,
"latitude": 51.039058685302734,
"longitude": -114.08973693847656,
"property_id": "100451bb01e4474a",
"property_type": "Townhouse"
},
{
"address": "61 Rivergreen Crescent SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Riverbend",
"estimate_list_price": 664453,
"estimate_sale_price": 660927,
"interior_sq_m": 139.3533935546875,
"latitude": 50.97533416748047,
"longitude": -114.0206069946289,
"property_id": "1004738a9262a70d",
"property_type": "House"
},
{
"address": "247 Chapalina Terrace SE",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Chaparral",
"estimate_list_price": 724323,
"estimate_sale_price": 728771,
"interior_sq_m": 195.32781982421875,
"latitude": 50.87883758544922,
"longitude": -114.04253387451172,
"property_id": "1004a292757c448e",
"property_type": "House"
},
{
"address": "628 Kingsmere Crescent SW",
"bathroom_full": 1,
"bedroom": 1,
"city": "Calgary",
"community": "Kingsland",
"estimate_list_price": 237266,
"estimate_sale_price": 233962,
"interior_sq_m": 69.39799499511719,
"latitude": 50.99063873291016,
"longitude": -114.07471466064452,
"property_id": "1004d7ca503f8990",
"property_type": "Apartment"
},
{
"address": "119R Malibou Road SW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Mayfair",
"estimate_list_price": 585806,
"estimate_sale_price": 454091,
"interior_sq_m": 143.30174255371094,
"latitude": 50.99488067626953,
"longitude": -114.08463287353516,
"property_id": "1004ed051cf3d228",
"property_type": "Commercial"
},
{
"address": "176 Carringwood Way NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Carrington",
"estimate_list_price": 500518,
"estimate_sale_price": 472264,
"interior_sq_m": 167.22409057617188,
"latitude": 51.1904411315918,
"longitude": -114.08985137939452,
"property_id": "10051cb22ed0ecc3",
"property_type": "Land"
},
{
"address": "335 Millrise Drive Southwest",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 846343,
"estimate_sale_price": 782754,
"interior_sq_m": 241.5478973388672,
"latitude": 50.917877197265625,
"longitude": -114.0899429321289,
"property_id": "100523ae7fef83ad",
"property_type": "House"
},
{
"address": "47 Elgin Terrace SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "McKenzie Towne",
"estimate_list_price": 663694,
"estimate_sale_price": 671269,
"interior_sq_m": 188.3128967285156,
"latitude": 50.9063835144043,
"longitude": -113.96188354492188,
"property_id": "10053e86b05542f8",
"property_type": "House"
},
{
"address": "609 315 3 Street SE",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "East Village",
"estimate_list_price": 300528,
"estimate_sale_price": 308766,
"interior_sq_m": 66.42511749267578,
"latitude": 51.04974365234375,
"longitude": -114.05596923828124,
"property_id": "100553ae6728db0b",
"property_type": "Apartment"
},
{
"address": "2018 608 9 Street SW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 710248,
"estimate_sale_price": 562721,
"interior_sq_m": 125.882568359375,
"latitude": 51.04768371582031,
"longitude": -114.0837173461914,
"property_id": "100556b0922cfec",
"property_type": "House"
},
{
"address": "1309 18 Avenue NW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Capitol Hill",
"estimate_list_price": 841078,
"estimate_sale_price": 846246,
"interior_sq_m": 148.319091796875,
"latitude": 51.06850051879883,
"longitude": -114.0904312133789,
"property_id": "10055f7b25bdcfa4",
"property_type": "House"
},
{
"address": "697 Savanna Boulevard NE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Saddle Ridge",
"estimate_list_price": 442129,
"estimate_sale_price": 463967,
"interior_sq_m": 155.61129760742188,
"latitude": 51.134864807128906,
"longitude": -113.9502410888672,
"property_id": "1005604551e5d0d8",
"property_type": "Townhouse"
},
{
"address": "2104 53 Avenue SW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "North Glenmore Park",
"estimate_list_price": 1365431,
"estimate_sale_price": 1249876,
"interior_sq_m": 134.8940887451172,
"latitude": 51.00617218017578,
"longitude": -114.10953521728516,
"property_id": "100570c4133180e3",
"property_type": "House"
},
{
"address": "312 20 Sage Hill Walk NW",
"bathroom_full": 1,
"bedroom": 2,
"city": "Calgary",
"community": "Sage Hill",
"estimate_list_price": 324918,
"estimate_sale_price": 317952,
"interior_sq_m": 60.20066833496094,
"latitude": 51.17078399658203,
"longitude": -114.1477508544922,
"property_id": "1005755c4d62c21a",
"property_type": "Apartment"
},
{
"address": "2404 Pinewood Drive SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Southview",
"estimate_list_price": 534304,
"estimate_sale_price": 561081,
"interior_sq_m": 97.2686767578125,
"latitude": 51.03239822387695,
"longitude": -113.9835433959961,
"property_id": "100577ee6782c5e1",
"property_type": "House"
},
{
"address": "116 Arbour Crest Terrace NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Arbour Lake",
"estimate_list_price": 682738,
"estimate_sale_price": 675526,
"interior_sq_m": 161.37123107910156,
"latitude": 51.14068603515625,
"longitude": -114.20475769042967,
"property_id": "1005a96cff4fded8",
"property_type": "House"
},
{
"address": "4703 Stoney Trail NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Sherwood",
"estimate_list_price": 728677,
"estimate_sale_price": 788163,
"interior_sq_m": 195.37347412109375,
"latitude": 51.15238952636719,
"longitude": -114.16444396972656,
"property_id": "1005b755a94127f4",
"property_type": "Commercial"
},
{
"address": "610 22 Shawnee Hill SW",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "Shawnee Slopes",
"estimate_list_price": 371772,
"estimate_sale_price": 356171,
"interior_sq_m": 75.1579360961914,
"latitude": 50.922061920166016,
"longitude": -114.07591247558594,
"property_id": "1005c5df960080d",
"property_type": "Apartment"
},
{
"address": "72 Signature Heights SW",
"bathroom_full": 3,
"bedroom": 2,
"city": "Calgary",
"community": "Signal Hill",
"estimate_list_price": 1938340,
"estimate_sale_price": 1784339,
"interior_sq_m": 243.40394592285156,
"latitude": 51.03351211547851,
"longitude": -114.17767333984376,
"property_id": "1005d39b3c800a14",
"property_type": "House"
},
{
"address": "3309 38 Street SW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 1118087,
"estimate_sale_price": 1188556,
"interior_sq_m": 125.882568359375,
"latitude": 51.02518844604492,
"longitude": -114.14273834228516,
"property_id": "1005f2397f918b79",
"property_type": "House"
},
{
"address": "5047 Vanstone Crescent NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Varsity",
"estimate_list_price": 906879,
"estimate_sale_price": 970910,
"interior_sq_m": 165.27313232421875,
"latitude": 51.0986442565918,
"longitude": -114.15877532958984,
"property_id": "1005fe608a515e58",
"property_type": "House"
},
{
"address": "37 Starling Place NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Moraine",
"estimate_list_price": 782332,
"estimate_sale_price": 784471,
"interior_sq_m": 207.0791473388672,
"latitude": 51.18430709838867,
"longitude": -114.10350799560548,
"property_id": "10064890b0e692d0",
"property_type": "Land"
},
{
"address": "4 4460 75 Avenue SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 702189,
"estimate_sale_price": 671692,
"interior_sq_m": 125.882568359375,
"latitude": 50.98744201660156,
"longitude": -113.97055053710938,
"property_id": "100649bee655672a",
"property_type": "House"
},
{
"address": "6010 Saddlehorn Drive NE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Saddle Ridge",
"estimate_list_price": 636777,
"estimate_sale_price": 600628,
"interior_sq_m": 134.47604370117188,
"latitude": 51.12968826293945,
"longitude": -113.9481964111328,
"property_id": "100653c322cfca91",
"property_type": "House"
},
{
"address": "143 Marbrooke Circle NE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Marlborough",
"estimate_list_price": 579096,
"estimate_sale_price": 579956,
"interior_sq_m": 104.050537109375,
"latitude": 51.05397415161133,
"longitude": -113.9601821899414,
"property_id": "100655e9b87ae8d1",
"property_type": "House"
},
{
"address": "241 Tuscany Reserve Rise NW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Tuscany",
"estimate_list_price": 830520,
"estimate_sale_price": 817736,
"interior_sq_m": 175.1207733154297,
"latitude": 51.13267135620117,
"longitude": -114.25543975830078,
"property_id": "1006595dbb3b58b6",
"property_type": "House"
},
{
"address": "190 Evansford Circle NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Evanston",
"estimate_list_price": 629642,
"estimate_sale_price": 623951,
"interior_sq_m": 146.78558349609375,
"latitude": 51.16968536376953,
"longitude": -114.1102066040039,
"property_id": "100672c51cf98d0d",
"property_type": "House"
},
{
"address": "154 Edgevalley Close NW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Edgemont",
"estimate_list_price": 885326,
"estimate_sale_price": 906891,
"interior_sq_m": 129.69155883789062,
"latitude": 51.13428497314453,
"longitude": -114.13629913330078,
"property_id": "100672c744e12d02",
"property_type": "House"
},
{
"address": "246 Covemeadow Bay NE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Coventry Hills",
"estimate_list_price": 674002,
"estimate_sale_price": 668457,
"interior_sq_m": 124.58193969726562,
"latitude": 51.17163848876953,
"longitude": -114.06381225585938,
"property_id": "1006910ea1e8de7d",
"property_type": "House"
},
{
"address": "305 Santana Bay NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Sandstone Valley",
"estimate_list_price": 609889,
"estimate_sale_price": 623690,
"interior_sq_m": 142.6978759765625,
"latitude": 51.138084411621094,
"longitude": -114.08404541015624,
"property_id": "10069cf80362f9d6",
"property_type": "House"
},
{
"address": "378 Hotchkiss Manor SE",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Hotchkiss",
"estimate_list_price": 682147,
"estimate_sale_price": 675045,
"interior_sq_m": 189.5206298828125,
"latitude": 50.91497039794922,
"longitude": -113.8954086303711,
"property_id": "1006b75d27f315d7",
"property_type": "House"
},
{
"address": "37 Country Hills Crescent NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Country Hills",
"estimate_list_price": 553562,
"estimate_sale_price": 541521,
"interior_sq_m": 130.34188842773438,
"latitude": 51.14777755737305,
"longitude": -114.06837463378906,
"property_id": "1006ea0b26587f1a",
"property_type": "House"
},
{
"address": "147 Sage Hill Heights NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Sage Hill",
"estimate_list_price": 888809,
"estimate_sale_price": 884525,
"interior_sq_m": 140.83984375,
"latitude": 51.17361831665039,
"longitude": -114.1515655517578,
"property_id": "1006ee1595a89772",
"property_type": "Land"
},
{
"address": "237 Mount Douglas Circle SE",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "McKenzie Lake",
"estimate_list_price": 825695,
"estimate_sale_price": 812006,
"interior_sq_m": 189.1490173339844,
"latitude": 50.92753601074219,
"longitude": -113.98320770263672,
"property_id": "1006f5cb71b2cb4d",
"property_type": "House"
},
{
"address": "94 Mahogany Gr SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Mahogany",
"estimate_list_price": 832728,
"estimate_sale_price": 913661,
"interior_sq_m": 154.21775817871094,
"latitude": 50.90179443359375,
"longitude": -113.93701171875,
"property_id": "1006fb838f0cff42",
"property_type": "Apartment"
},
{
"address": "87 Castleglen Crescent NE",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "Castleridge",
"estimate_list_price": 471500,
"estimate_sale_price": 442336,
"interior_sq_m": 89.18617248535156,
"latitude": 51.10432434082031,
"longitude": -113.95597839355467,
"property_id": "100708598cd66dae",
"property_type": "House"
},
{
"address": "3101 10 Prestwick Bay SE",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "McKenzie Towne",
"estimate_list_price": 283813,
"estimate_sale_price": 278118,
"interior_sq_m": 80.12820434570312,
"latitude": 50.92741012573242,
"longitude": -113.95929718017578,
"property_id": "100717a322c86cb6",
"property_type": "Apartment"
},
{
"address": "4 2770 32 Avenue NE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 576733,
"estimate_sale_price": 634559,
"interior_sq_m": 125.882568359375,
"latitude": 51.08167266845703,
"longitude": -113.99583435058594,
"property_id": "1007440946afa14b",
"property_type": "House"
},
{
"address": "171 Legacy Glen Prairie SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Legacy",
"estimate_list_price": 599877,
"estimate_sale_price": 599815,
"interior_sq_m": 151.70941162109375,
"latitude": 50.85416793823242,
"longitude": -113.99884796142578,
"property_id": "1007768d9826331a",
"property_type": "House"
},
{
"address": "2116 215 Legacy Boulevard SE",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "Legacy",
"estimate_list_price": 255765,
"estimate_sale_price": 249556,
"interior_sq_m": 65.49610137939453,
"latitude": 50.86006164550781,
"longitude": -114.02247619628906,
"property_id": "10079a165b5b2512",
"property_type": "Apartment"
},
{
"address": "212 Brightonstone Gardens SE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 671864,
"estimate_sale_price": 641138,
"interior_sq_m": 179.3021240234375,
"latitude": 50.92391586303711,
"longitude": -113.95124053955078,
"property_id": "1007a5e8690eaf7b",
"property_type": "House"
},
{
"address": "503 620 67 Avenue SW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 796594,
"estimate_sale_price": 623050,
"interior_sq_m": 125.882568359375,
"latitude": 50.99335861206055,
"longitude": -114.07594299316406,
"property_id": "1007c5b6132f4ec",
"property_type": "House"
},
{
"address": "595 Woodpark Crescent SW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Woodlands",
"estimate_list_price": 995999,
"estimate_sale_price": 936719,
"interior_sq_m": 180.50909423828125,
"latitude": 50.94929885864258,
"longitude": -114.10645294189452,
"property_id": "1007cca23b5a0a10",
"property_type": "House"
},
{
"address": "137 Berwick Way NW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beddington Heights",
"estimate_list_price": 509307,
"estimate_sale_price": 482262,
"interior_sq_m": 100.05574035644533,
"latitude": 51.12809371948242,
"longitude": -114.0865707397461,
"property_id": "1007d7cf25d6c8dc",
"property_type": "House"
},
{
"address": "308 Panatella Boulevard NW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Panorama Hills",
"estimate_list_price": 715883,
"estimate_sale_price": 713977,
"interior_sq_m": 167.27053833007812,
"latitude": 51.16365814208984,
"longitude": -114.0855712890625,
"property_id": "10080305cbdbb466",
"property_type": "House"
},
{
"address": "299 Aspen Acres Manor SW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Aspen Woods",
"estimate_list_price": 1212289,
"estimate_sale_price": 1245192,
"interior_sq_m": 221.0609436035156,
"latitude": 51.05107498168945,
"longitude": -114.21321868896484,
"property_id": "100832b894021ae6",
"property_type": "Land"
},
{
"address": "4711 13 Street NE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "McCall",
"estimate_list_price": 3364264,
"estimate_sale_price": 3580674,
"interior_sq_m": 125.882568359375,
"latitude": 51.09464645385742,
"longitude": -114.03157043457033,
"property_id": "1008534d11bc0d82",
"property_type": "Commercial"
},
{
"address": "39 2519 38 Street NE",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Rundle",
"estimate_list_price": 339350,
"estimate_sale_price": 315724,
"interior_sq_m": 102.74990844726562,
"latitude": 51.07521438598633,
"longitude": -113.9801788330078,
"property_id": "100854fe964c90d",
"property_type": "House"
},
{
"address": "719 45 Street SW",
"bathroom_full": 2,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 767863,
"estimate_sale_price": 825712,
"interior_sq_m": 125.882568359375,
"latitude": 51.04851531982422,
"longitude": -114.1528778076172,
"property_id": "10085f08dbb06199",
"property_type": "House"
},
{
"address": "440 Shannon Square SW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Shawnessy",
"estimate_list_price": 665503,
"estimate_sale_price": 645016,
"interior_sq_m": 163.69378662109375,
"latitude": 50.91373062133789,
"longitude": -114.0990753173828,
"property_id": "100871a31a0e35a9",
"property_type": "House"
},
{
"address": "14124 Evergreen Street SW",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "Shawnee Slopes",
"estimate_list_price": 670136,
"estimate_sale_price": 668754,
"interior_sq_m": 145.2991485595703,
"latitude": 50.92659759521485,
"longitude": -114.09439086914062,
"property_id": "1008839bdcabc506",
"property_type": "Apartment"
},
{
"address": "3307 302 Skyview Ranch Drive NE",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "Skyview Ranch",
"estimate_list_price": 277379,
"estimate_sale_price": 271917,
"interior_sq_m": 76.17985534667969,
"latitude": 51.15894317626953,
"longitude": -113.96117401123048,
"property_id": "1008bb305254219b",
"property_type": "Apartment"
},
{
"address": "2113 Millrise Point SW",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "Millrise",
"estimate_list_price": 288199,
"estimate_sale_price": 279278,
"interior_sq_m": 75.43663787841797,
"latitude": 50.920284271240234,
"longitude": -114.0742645263672,
"property_id": "1008cb8a0385f4d6",
"property_type": "Apartment"
},
{
"address": "61 Hampstead Gardens NW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Beltline",
"estimate_list_price": 730040,
"estimate_sale_price": 718826,
"interior_sq_m": 186.77999877929688,
"latitude": 51.1439094543457,
"longitude": -114.12859344482422,
"property_id": "1009354318409d7d",
"property_type": "House"
},
{
"address": "31 Panatella Circle NW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Panorama Hills",
"estimate_list_price": 781100,
"estimate_sale_price": 769001,
"interior_sq_m": 201.5514678955078,
"latitude": 51.16341781616211,
"longitude": -114.07530212402344,
"property_id": "1009b9c608997e52",
"property_type": "House"
},
{
"address": "5403 5000 Somervale Court SW",
"bathroom_full": 2,
"bedroom": 2,
"city": "Calgary",
"community": "Somerset",
"estimate_list_price": 266158,
"estimate_sale_price": 263237,
"interior_sq_m": 78.40951538085938,
"latitude": 50.89500045776367,
"longitude": -114.0688247680664,
"property_id": "1009bceb4ddd901a",
"property_type": "Apartment"
},
{
"address": "741 Sierra Madre Court SW",
"bathroom_full": 3,
"bedroom": 3,
"city": "Calgary",
"community": "Signal Hill",
"estimate_list_price": 874960,
"estimate_sale_price": 861105,
"interior_sq_m": 184.6897125244141,
"latitude": 51.01140975952149,
"longitude": -114.18115234375,
"property_id": "100a0599289fb1f9",
"property_type": "House"
}
],
"error": "",
"pagination": {
"current_page": 1,
"has_next_page": true,
"has_previous_page": false,
"page_total": 6810
},
"price_quote": false,
"result_total": 680936,
"time_ms": 147,
"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:
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);
})();
{
"cache_hit": false,
"cost_cents": 1.0,
"data": [
{
"aggregation": "median",
"field": "estimate_list_price",
"value": "627360.500"
}
],
"error": "",
"price_quote": false,
"time_ms": 56
}
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: each expand set adds a per-row multiplier on top of the base properties cost, so a large pull with two expansions is much more expensive 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 parcel-only rows that have no listing history to expand.
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);
})();
{
"cache_hit": true,
"cost_cents": 8.699999809265137,
"data": [
{
"address": "52 Cedargrove Way SW",
"community": "Cedarbrae",
"estimate_list_price": 635789,
"listings": [
{
"expand_estimate_list_price": 574900,
"expand_listing_date": "2022-07-26",
"expand_listing_event": "Listed",
"property_id": "1000c277cd905d3b"
},
{
"expand_estimate_list_price": 555000,
"expand_listing_date": "2022-08-04",
"expand_listing_event": "Price decrease",
"property_id": "1000c277cd905d3b"
},
{
"expand_estimate_list_price": 539000,
"expand_listing_date": "2022-08-30",
"expand_listing_event": "Price decrease",
"property_id": "1000c277cd905d3b"
},
{
"expand_estimate_list_price": 525000,
"expand_listing_date": "2022-09-08",
"expand_listing_event": "Unlisted",
"property_id": "1000c277cd905d3b"
},
{
"expand_estimate_list_price": 539000,
"expand_listing_date": "2022-09-15",
"expand_listing_event": "Unlisted",
"property_id": "1000c277cd905d3b"
}
],
"property_id": "1000c277cd905d3b",
"property_type": "House"
},
{
"address": "48 Catalina Circle NE",
"community": "Monterey Park",
"estimate_list_price": 351905,
"listings": [
{
"expand_estimate_list_price": 419900,
"expand_listing_date": "2024-08-07",
"expand_listing_event": "Listed",
"property_id": "10019b3ca95ab014"
},
{
"expand_estimate_list_price": 415000,
"expand_listing_date": "2024-09-20",
"expand_listing_event": "Price decrease",
"property_id": "10019b3ca95ab014"
},
{
"expand_estimate_list_price": 415000,
"expand_listing_date": "2024-10-19",
"expand_listing_event": "Unlisted",
"property_id": "10019b3ca95ab014"
}
],
"property_id": "10019b3ca95ab014",
"property_type": "Townhouse"
},
{
"address": "6535 54 Street NW",
"community": "Dalhousie",
"estimate_list_price": 693680,
"listings": [
{
"expand_estimate_list_price": 640000,
"expand_listing_date": "2023-09-17",
"expand_listing_event": "Listed",
"property_id": "10030424b41ab29b"
},
{
"expand_estimate_list_price": 640000,
"expand_listing_date": "2023-09-28",
"expand_listing_event": "Unlisted",
"property_id": "10030424b41ab29b"
}
],
"property_id": "10030424b41ab29b",
"property_type": "House"
},
{
"address": "145 Valley Woods Place NW",
"community": "Valley Ridge",
"estimate_list_price": 867171,
"listings": [
{
"expand_estimate_list_price": 949000,
"expand_listing_date": "2024-03-03",
"expand_listing_event": "Listed",
"property_id": "10034432c778cb03"
},
{
"expand_estimate_list_price": 949000,
"expand_listing_date": "2024-03-17",
"expand_listing_event": "Unlisted",
"property_id": "10034432c778cb03"
}
],
"property_id": "10034432c778cb03",
"property_type": "House"
},
{
"address": "2210 11 Chaparral Ridge Drive SE",
"community": "Chaparral",
"estimate_list_price": 313630,
"listings": [
{
"expand_estimate_list_price": 339000,
"expand_listing_date": "2024-10-08",
"expand_listing_event": "Listed",
"property_id": "1003b461d5f335cf"
},
{
"expand_estimate_list_price": 339000,
"expand_listing_date": "2024-10-15",
"expand_listing_event": "Unlisted",
"property_id": "1003b461d5f335cf"
}
],
"property_id": "1003b461d5f335cf",
"property_type": "Apartment"
},
{
"address": "1221 15 Avenue SW",
"community": "Beltline",
"estimate_list_price": 326164,
"listings": [
{
"expand_estimate_list_price": 340000,
"expand_listing_date": "2023-03-28",
"expand_listing_event": "Listed",
"property_id": "100451bb01e4474a"
},
{
"expand_estimate_list_price": 340000,
"expand_listing_date": "2023-04-12",
"expand_listing_event": "Unlisted",
"property_id": "100451bb01e4474a"
},
{
"expand_estimate_list_price": 314000,
"expand_listing_date": "2023-04-26",
"expand_listing_event": "Unlisted",
"property_id": "100451bb01e4474a"
}
],
"property_id": "100451bb01e4474a",
"property_type": "Townhouse"
},
{
"address": "47 Elgin Terrace SE",
"community": "McKenzie Towne",
"estimate_list_price": 663694,
"listings": [
{
"expand_estimate_list_price": 684900,
"expand_listing_date": "2025-06-09",
"expand_listing_event": "Listed",
"property_id": "10053e86b05542f8"
},
{
"expand_estimate_list_price": 664900,
"expand_listing_date": "2025-07-07",
"expand_listing_event": "Price decrease",
"property_id": "10053e86b05542f8"
},
{
"expand_estimate_list_price": 664900,
"expand_listing_date": "2025-08-11",
"expand_listing_event": "Unlisted",
"property_id": "10053e86b05542f8"
}
],
"property_id": "10053e86b05542f8",
"property_type": "House"
},
{
"address": "609 315 3 Street SE",
"community": "East Village",
"estimate_list_price": 300528,
"listings": [
{
"expand_estimate_list_price": 369900,
"expand_listing_date": "2024-03-23",
"expand_listing_event": "Listed",
"property_id": "100553ae6728db0b"
},
{
"expand_estimate_list_price": 369900,
"expand_listing_date": "2024-04-12",
"expand_listing_event": "Unlisted",
"property_id": "100553ae6728db0b"
}
],
"property_id": "100553ae6728db0b",
"property_type": "Apartment"
},
{
"address": "697 Savanna Boulevard NE",
"community": "Saddle Ridge",
"estimate_list_price": 442129,
"listings": [
{
"expand_estimate_list_price": 499900,
"expand_listing_date": "2024-01-19",
"expand_listing_event": "Listed",
"property_id": "1005604551e5d0d8"
},
{
"expand_estimate_list_price": 499900,
"expand_listing_date": "2024-02-13",
"expand_listing_event": "Unlisted",
"property_id": "1005604551e5d0d8"
}
],
"property_id": "1005604551e5d0d8",
"property_type": "Townhouse"
},
{
"address": "378 Hotchkiss Manor SE",
"community": "Hotchkiss",
"estimate_list_price": 682147,
"listings": [
{
"expand_estimate_list_price": 684900,
"expand_listing_date": "2025-11-24",
"expand_listing_event": "Listed",
"property_id": "1006b75d27f315d7"
},
{
"expand_estimate_list_price": 674900,
"expand_listing_date": "2026-01-25",
"expand_listing_event": "Price decrease",
"property_id": "1006b75d27f315d7"
},
{
"expand_estimate_list_price": 663900,
"expand_listing_date": "2026-02-24",
"expand_listing_event": "Price decrease",
"property_id": "1006b75d27f315d7"
},
{
"expand_estimate_list_price": 663900,
"expand_listing_date": "2026-03-17",
"expand_listing_event": "Unlisted",
"property_id": "1006b75d27f315d7"
}
],
"property_id": "1006b75d27f315d7",
"property_type": "House"
},
{
"address": "9 Douglasbank Gardens SE",
"community": "Beltline",
"estimate_list_price": 691332,
"listings": [
{
"expand_estimate_list_price": 624900,
"expand_listing_date": "2026-04-09",
"expand_listing_event": "Listed",
"property_id": "100c80ed4b8aa14"
},
{
"expand_estimate_list_price": 594900,
"expand_listing_date": "2026-04-25",
"expand_listing_event": "Price decrease",
"property_id": "100c80ed4b8aa14"
},
{
"expand_estimate_list_price": 594900,
"expand_listing_date": "2026-05-17",
"expand_listing_event": "Unlisted",
"property_id": "100c80ed4b8aa14"
}
],
"property_id": "100c80ed4b8aa14",
"property_type": "Duplex"
},
{
"address": "161 Cranwell Bay SE",
"community": "Cranston",
"estimate_list_price": 811441,
"listings": [
{
"expand_estimate_list_price": 839000,
"expand_listing_date": "2024-05-20",
"expand_listing_event": "Listed",
"property_id": "100d182e8bc2e62"
},
{
"expand_estimate_list_price": 814900,
"expand_listing_date": "2024-06-18",
"expand_listing_event": "Price decrease",
"property_id": "100d182e8bc2e62"
},
{
"expand_estimate_list_price": 809000,
"expand_listing_date": "2024-07-02",
"expand_listing_event": "Price decrease",
"property_id": "100d182e8bc2e62"
},
{
"expand_estimate_list_price": 809000,
"expand_listing_date": "2024-07-17",
"expand_listing_event": "Unlisted",
"property_id": "100d182e8bc2e62"
},
{
"expand_estimate_list_price": 809000,
"expand_listing_date": "2024-08-10",
"expand_listing_event": "Listed",
"property_id": "100d182e8bc2e62"
},
{
"expand_estimate_list_price": 799000,
"expand_listing_date": "2024-09-02",
"expand_listing_event": "Price decrease",
"property_id": "100d182e8bc2e62"
},
{
"expand_estimate_list_price": 775000,
"expand_listing_date": "2024-09-03",
"expand_listing_event": "Unlisted",
"property_id": "100d182e8bc2e62"
},
{
"expand_estimate_list_price": 799000,
"expand_listing_date": "2024-09-09",
"expand_listing_event": "Unlisted",
"property_id": "100d182e8bc2e62"
}
],
"property_id": "100d182e8bc2e62",
"property_type": "House"
},
{
"address": "607 46 9 Street NE",
"community": "Bridgeland-Riverside",
"estimate_list_price": 302860,
"listings": [
{
"expand_estimate_list_price": 320000,
"expand_listing_date": "2023-08-16",
"expand_listing_event": "Listed",
"property_id": "100d562dd0accf19"
},
{
"expand_estimate_list_price": 320000,
"expand_listing_date": "2023-10-14",
"expand_listing_event": "Unlisted",
"property_id": "100d562dd0accf19"
}
],
"property_id": "100d562dd0accf19",
"property_type": "Apartment"
},
{
"address": "3115 Kildare Crescent SW",
"community": "Killarney-Glengarry",
"estimate_list_price": 1114917,
"listings": [
{
"expand_estimate_list_price": 650000,
"expand_listing_date": "2022-11-19",
"expand_listing_event": "Unlisted",
"property_id": "100e8ef351ca4741"
}
],
"property_id": "100e8ef351ca4741",
"property_type": "Townhouse"
},
{
"address": "1001 730 2 Avenue SW",
"community": "Eau Claire",
"estimate_list_price": 415302,
"listings": [
{
"expand_estimate_list_price": 486000,
"expand_listing_date": "2025-02-09",
"expand_listing_event": "Listed",
"property_id": "100f44b3b8d53d1c"
},
{
"expand_estimate_list_price": 460000,
"expand_listing_date": "2025-02-27",
"expand_listing_event": "Price decrease",
"property_id": "100f44b3b8d53d1c"
},
{
"expand_estimate_list_price": 438000,
"expand_listing_date": "2025-03-31",
"expand_listing_event": "Price decrease",
"property_id": "100f44b3b8d53d1c"
},
{
"expand_estimate_list_price": 408000,
"expand_listing_date": "2025-05-01",
"expand_listing_event": "Price decrease",
"property_id": "100f44b3b8d53d1c"
},
{
"expand_estimate_list_price": 408000,
"expand_listing_date": "2025-05-08",
"expand_listing_event": "Unlisted",
"property_id": "100f44b3b8d53d1c"
}
],
"property_id": "100f44b3b8d53d1c",
"property_type": "Apartment"
},
{
"address": "605 1118 12 Avenue SW",
"community": "Beltline",
"estimate_list_price": 279714,
"listings": [
{
"expand_estimate_list_price": 289900,
"expand_listing_date": "2026-02-24",
"expand_listing_event": "Listed",
"property_id": "1011257d8135d42f"
},
{
"expand_estimate_list_price": 279000,
"expand_listing_date": "2026-04-09",
"expand_listing_event": "Price decrease",
"property_id": "1011257d8135d42f"
},
{
"expand_estimate_list_price": 279000,
"expand_listing_date": "2026-04-16",
"expand_listing_event": "Unlisted",
"property_id": "1011257d8135d42f"
}
],
"property_id": "1011257d8135d42f",
"property_type": "Apartment"
},
{
"address": "1011 730 2 Avenue SW",
"community": "Eau Claire",
"estimate_list_price": 757046,
"listings": [
{
"expand_estimate_list_price": 649000,
"expand_listing_date": "2026-06-03",
"expand_listing_event": "Listed",
"property_id": "101128bee33095ce"
},
{
"expand_estimate_list_price": 619000,
"expand_listing_date": "2026-07-29",
"expand_listing_event": "Price decrease",
"property_id": "101128bee33095ce"
}
],
"property_id": "101128bee33095ce",
"property_type": "Apartment"
},
{
"address": "6212 155 Skyview Ranch Way NE",
"community": "Skyview Ranch",
"estimate_list_price": 260089,
"listings": [
{
"expand_estimate_list_price": 269900,
"expand_listing_date": "2023-03-26",
"expand_listing_event": "Listed",
"property_id": "1011de7a9b2f6af7"
},
{
"expand_estimate_list_price": 249900,
"expand_listing_date": "2023-05-11",
"expand_listing_event": "Price decrease",
"property_id": "1011de7a9b2f6af7"
},
{
"expand_estimate_list_price": 230000,
"expand_listing_date": "2023-06-02",
"expand_listing_event": "Unlisted",
"property_id": "1011de7a9b2f6af7"
},
{
"expand_estimate_list_price": 249900,
"expand_listing_date": "2023-06-05",
"expand_listing_event": "Unlisted",
"property_id": "1011de7a9b2f6af7"
},
{
"expand_estimate_list_price": 319000,
"expand_listing_date": "2023-10-09",
"expand_listing_event": "Listed",
"property_id": "1011de7a9b2f6af7"
},
{
"expand_estimate_list_price": 319000,
"expand_listing_date": "2023-11-07",
"expand_listing_event": "Unlisted",
"property_id": "1011de7a9b2f6af7"
}
],
"property_id": "1011de7a9b2f6af7",
"property_type": "Apartment"
},
{
"address": "13 Erin Grove Place SE",
"community": "Erin Woods",
"estimate_list_price": 487172,
"listings": [
{
"expand_estimate_list_price": 300000,
"expand_listing_date": "2022-12-25",
"expand_listing_event": "Listed",
"property_id": "1012fffe4a90309b"
},
{
"expand_estimate_list_price": 315000,
"expand_listing_date": "2022-12-30",
"expand_listing_event": "Unlisted",
"property_id": "1012fffe4a90309b"
},
{
"expand_estimate_list_price": 449900,
"expand_listing_date": "2023-03-05",
"expand_listing_event": "Price increase",
"property_id": "1012fffe4a90309b"
},
{
"expand_estimate_list_price": 449900,
"expand_listing_date": "2023-03-12",
"expand_listing_event": "Unlisted",
"property_id": "1012fffe4a90309b"
},
{
"expand_estimate_list_price": 530000,
"expand_listing_date": "2024-07-20",
"expand_listing_event": "Price increase",
"property_id": "1012fffe4a90309b"
},
{
"expand_estimate_list_price": 525000,
"expand_listing_date": "2024-08-01",
"expand_listing_event": "Unlisted",
"property_id": "1012fffe4a90309b"
},
{
"expand_estimate_list_price": 530000,
"expand_listing_date": "2024-08-05",
"expand_listing_event": "Unlisted",
"property_id": "1012fffe4a90309b"
}
],
"property_id": "1012fffe4a90309b",
"property_type": "House"
},
{
"address": "487 Saddlecrest Boulevard NW",
"community": "Saddleridge",
"estimate_list_price": 231924,
"listings": [
{
"expand_estimate_list_price": 329900,
"expand_listing_date": "2023-12-05",
"expand_listing_event": "Listed",
"property_id": "10135bc338ca6b9f"
},
{
"expand_estimate_list_price": 329900,
"expand_listing_date": "2023-12-21",
"expand_listing_event": "Unlisted",
"property_id": "10135bc338ca6b9f"
}
],
"property_id": "10135bc338ca6b9f",
"property_type": "Townhouse"
},
{
"address": "157 Cougar Ridge Close SW",
"community": "Cougar Ridge",
"estimate_list_price": 956366,
"listings": [
{
"expand_estimate_list_price": 1079000,
"expand_listing_date": "2025-02-19",
"expand_listing_event": "Listed",
"property_id": "1013f1896836eb1d"
},
{
"expand_estimate_list_price": 1079000,
"expand_listing_date": "2025-03-19",
"expand_listing_event": "Unlisted",
"property_id": "1013f1896836eb1d"
}
],
"property_id": "1013f1896836eb1d",
"property_type": "House"
},
{
"address": "68 27 Silver Springs Drive NW",
"community": "Silver Springs",
"estimate_list_price": 533211,
"listings": [
{
"expand_estimate_list_price": 549999,
"expand_listing_date": "2026-07-02",
"expand_listing_event": "Listed",
"property_id": "101466f55fb2e742"
},
{
"expand_estimate_list_price": 539999,
"expand_listing_date": "2026-07-29",
"expand_listing_event": "Price decrease",
"property_id": "101466f55fb2e742"
}
],
"property_id": "101466f55fb2e742",
"property_type": "Townhouse"
},
{
"address": "14 616 24 Avenue SW",
"community": "Cliff Bungalow",
"estimate_list_price": 291765,
"listings": [
{
"expand_estimate_list_price": 310000,
"expand_listing_date": "2023-07-23",
"expand_listing_event": "Listed",
"property_id": "1014bab4a85812e5"
},
{
"expand_estimate_list_price": 299900,
"expand_listing_date": "2023-08-03",
"expand_listing_event": "Price decrease",
"property_id": "1014bab4a85812e5"
},
{
"expand_estimate_list_price": 279900,
"expand_listing_date": "2023-09-01",
"expand_listing_event": "Price decrease",
"property_id": "1014bab4a85812e5"
},
{
"expand_estimate_list_price": 279900,
"expand_listing_date": "2023-09-20",
"expand_listing_event": "Unlisted",
"property_id": "1014bab4a85812e5"
}
],
"property_id": "1014bab4a85812e5",
"property_type": "Apartment"
},
{
"address": "206 15207 1 Street SE",
"community": "Midnapore",
"estimate_list_price": 328446,
"listings": [
{
"expand_estimate_list_price": 348800,
"expand_listing_date": "2024-03-04",
"expand_listing_event": "Listed",
"property_id": "1014d29c359a9c2d"
},
{
"expand_estimate_list_price": 343800,
"expand_listing_date": "2024-06-12",
"expand_listing_event": "Price decrease",
"property_id": "1014d29c359a9c2d"
},
{
"expand_estimate_list_price": 339000,
"expand_listing_date": "2024-06-21",
"expand_listing_event": "Unlisted",
"property_id": "1014d29c359a9c2d"
},
{
"expand_estimate_list_price": 343800,
"expand_listing_date": "2024-06-28",
"expand_listing_event": "Unlisted",
"property_id": "1014d29c359a9c2d"
}
],
"property_id": "1014d29c359a9c2d",
"property_type": "Apartment"
},
{
"address": "203 1718 14 Avenue NW",
"community": "Hounsfield Heights-Briar Hill",
"estimate_list_price": 447416,
"listings": [
{
"expand_estimate_list_price": 420000,
"expand_listing_date": "2023-03-23",
"expand_listing_event": "Listed",
"property_id": "1015855c593daa34"
},
{
"expand_estimate_list_price": 420000,
"expand_listing_date": "2023-06-03",
"expand_listing_event": "Unlisted",
"property_id": "1015855c593daa34"
},
{
"expand_estimate_list_price": 418000,
"expand_listing_date": "2023-06-09",
"expand_listing_event": "Unlisted",
"property_id": "1015855c593daa34"
}
],
"property_id": "1015855c593daa34",
"property_type": "Apartment"
},
{
"address": "1319 2395 Eversyde Avenue SW",
"community": "Evergreen",
"estimate_list_price": 252551,
"listings": [
{
"expand_estimate_list_price": 319888,
"expand_listing_date": "2024-08-13",
"expand_listing_event": "Listed",
"property_id": "101605bd0c8cce9e"
},
{
"expand_estimate_list_price": 319888,
"expand_listing_date": "2024-08-25",
"expand_listing_event": "Unlisted",
"property_id": "101605bd0c8cce9e"
},
{
"expand_estimate_list_price": 319888,
"expand_listing_date": "2024-09-01",
"expand_listing_event": "Unlisted",
"property_id": "101605bd0c8cce9e"
}
],
"property_id": "101605bd0c8cce9e",
"property_type": "Apartment"
},
{
"address": "5639 Centre Street NW",
"community": "Thorncliffe",
"estimate_list_price": 655801,
"listings": [
{
"expand_estimate_list_price": 599000,
"expand_listing_date": "2023-05-21",
"expand_listing_event": "Listed",
"property_id": "10160e21e8618c10"
},
{
"expand_estimate_list_price": 610000,
"expand_listing_date": "2023-06-01",
"expand_listing_event": "Unlisted",
"property_id": "10160e21e8618c10"
},
{
"expand_estimate_list_price": 599000,
"expand_listing_date": "2023-06-06",
"expand_listing_event": "Unlisted",
"property_id": "10160e21e8618c10"
},
{
"expand_estimate_list_price": 729900,
"expand_listing_date": "2025-07-06",
"expand_listing_event": "Price increase",
"property_id": "10160e21e8618c10"
},
{
"expand_estimate_list_price": 699900,
"expand_listing_date": "2025-07-12",
"expand_listing_event": "Price decrease",
"property_id": "10160e21e8618c10"
},
{
"expand_estimate_list_price": 699900,
"expand_listing_date": "2025-08-15",
"expand_listing_event": "Unlisted",
"property_id": "10160e21e8618c10"
}
],
"property_id": "10160e21e8618c10",
"property_type": "House"
},
{
"address": "144 Copperpond Parade SE",
"community": "Copperfield",
"estimate_list_price": 576655,
"listings": [
{
"expand_estimate_list_price": 599900,
"expand_listing_date": "2026-05-22",
"expand_listing_event": "Listed",
"property_id": "10170aedfe9722d2"
},
{
"expand_estimate_list_price": 599900,
"expand_listing_date": "2026-06-04",
"expand_listing_event": "Unlisted",
"property_id": "10170aedfe9722d2"
}
],
"property_id": "10170aedfe9722d2",
"property_type": "House"
},
{
"address": "3305 11 Mahogany Row SE",
"community": "Mahogany",
"estimate_list_price": 331297,
"listings": [
{
"expand_estimate_list_price": 340000,
"expand_listing_date": "2026-01-01",
"expand_listing_event": "Listed",
"property_id": "10170c7ca86b44ce"
},
{
"expand_estimate_list_price": 325000,
"expand_listing_date": "2026-02-25",
"expand_listing_event": "Price decrease",
"property_id": "10170c7ca86b44ce"
},
{
"expand_estimate_list_price": 325000,
"expand_listing_date": "2026-03-17",
"expand_listing_event": "Unlisted",
"property_id": "10170c7ca86b44ce"
}
],
"property_id": "10170c7ca86b44ce",
"property_type": "Apartment"
},
{
"address": "2609 7 Avenue NW",
"community": "West Hillhurst",
"estimate_list_price": 1927192,
"listings": [
{
"expand_estimate_list_price": 1895000,
"expand_listing_date": "2024-06-17",
"expand_listing_event": "Listed",
"property_id": "10177efba3636a6b"
},
{
"expand_estimate_list_price": 1895000,
"expand_listing_date": "2024-08-15",
"expand_listing_event": "Unlisted",
"property_id": "10177efba3636a6b"
},
{
"expand_estimate_list_price": 1895000,
"expand_listing_date": "2025-08-03",
"expand_listing_event": "Unlisted",
"property_id": "10177efba3636a6b"
},
{
"expand_estimate_list_price": 1895000,
"expand_listing_date": "2025-09-06",
"expand_listing_event": "Listed",
"property_id": "10177efba3636a6b"
},
{
"expand_estimate_list_price": 1799900,
"expand_listing_date": "2026-03-10",
"expand_listing_event": "Price decrease",
"property_id": "10177efba3636a6b"
},
{
"expand_estimate_list_price": 1775000,
"expand_listing_date": "2026-05-17",
"expand_listing_event": "Price decrease",
"property_id": "10177efba3636a6b"
},
{
"expand_estimate_list_price": 1749900,
"expand_listing_date": "2026-06-14",
"expand_listing_event": "Price decrease",
"property_id": "10177efba3636a6b"
}
],
"property_id": "10177efba3636a6b",
"property_type": "House"
},
{
"address": "20 Royal Highland Court NW",
"community": "Royal Oak",
"estimate_list_price": 788108,
"listings": [
{
"expand_estimate_list_price": 828000,
"expand_listing_date": "2022-07-15",
"expand_listing_event": "Listed",
"property_id": "101978dfd81ba829"
},
{
"expand_estimate_list_price": 799000,
"expand_listing_date": "2022-07-26",
"expand_listing_event": "Price decrease",
"property_id": "101978dfd81ba829"
},
{
"expand_estimate_list_price": 799000,
"expand_listing_date": "2022-09-28",
"expand_listing_event": "Unlisted",
"property_id": "101978dfd81ba829"
},
{
"expand_estimate_list_price": 755000,
"expand_listing_date": "2022-12-01",
"expand_listing_event": "Unlisted",
"property_id": "101978dfd81ba829"
},
{
"expand_estimate_list_price": 839900,
"expand_listing_date": "2026-03-09",
"expand_listing_event": "Price increase",
"property_id": "101978dfd81ba829"
},
{
"expand_estimate_list_price": 839900,
"expand_listing_date": "2026-03-16",
"expand_listing_event": "Unlisted",
"property_id": "101978dfd81ba829"
}
],
"property_id": "101978dfd81ba829",
"property_type": "House"
},
{
"address": "2407 13 Avenue NW",
"community": "Hounsfield Heights-Briar Hill",
"estimate_list_price": 2770822,
"listings": [
{
"expand_estimate_list_price": 2168000,
"expand_listing_date": "2023-03-30",
"expand_listing_event": "Listed",
"property_id": "1019c5db26a89a02"
},
{
"expand_estimate_list_price": 2099000,
"expand_listing_date": "2023-07-03",
"expand_listing_event": "Price decrease",
"property_id": "1019c5db26a89a02"
},
{
"expand_estimate_list_price": 2099000,
"expand_listing_date": "2023-08-23",
"expand_listing_event": "Unlisted",
"property_id": "1019c5db26a89a02"
},
{
"expand_estimate_list_price": 2499000,
"expand_listing_date": "2025-10-19",
"expand_listing_event": "Price increase",
"property_id": "1019c5db26a89a02"
},
{
"expand_estimate_list_price": 2499000,
"expand_listing_date": "2025-10-27",
"expand_listing_event": "Unlisted",
"property_id": "1019c5db26a89a02"
}
],
"property_id": "1019c5db26a89a02",
"property_type": "House"
},
{
"address": "2330 Woodview Drive SW",
"community": "Woodlands",
"estimate_list_price": 427106,
"listings": [
{
"expand_estimate_list_price": 429000,
"expand_listing_date": "2026-07-01",
"expand_listing_event": "Listed",
"property_id": "1019d77b18e82d34"
},
{
"expand_estimate_list_price": 429000,
"expand_listing_date": "2026-07-08",
"expand_listing_event": "Unlisted",
"property_id": "1019d77b18e82d34"
}
],
"property_id": "1019d77b18e82d34",
"property_type": "Townhouse"
},
{
"address": "25 Edgeburn Crescent NW",
"community": "Edgemont",
"estimate_list_price": 552475,
"listings": [
{
"expand_estimate_list_price": 529900,
"expand_listing_date": "2024-05-09",
"expand_listing_event": "Listed",
"property_id": "101abc1d35954403"
},
{
"expand_estimate_list_price": 529900,
"expand_listing_date": "2024-05-19",
"expand_listing_event": "Unlisted",
"property_id": "101abc1d35954403"
}
],
"property_id": "101abc1d35954403",
"property_type": "House"
},
{
"address": "5604 Buckthorn Road NW",
"community": "Thorncliffe",
"estimate_list_price": 653382,
"listings": [
{
"expand_estimate_list_price": 579900,
"expand_listing_date": "2023-06-10",
"expand_listing_event": "Listed",
"property_id": "101ac59c1d632570"
},
{
"expand_estimate_list_price": 565000,
"expand_listing_date": "2023-06-30",
"expand_listing_event": "Price decrease",
"property_id": "101ac59c1d632570"
},
{
"expand_estimate_list_price": 555000,
"expand_listing_date": "2023-08-17",
"expand_listing_event": "Price decrease",
"property_id": "101ac59c1d632570"
},
{
"expand_estimate_list_price": 555000,
"expand_listing_date": "2023-09-12",
"expand_listing_event": "Unlisted",
"property_id": "101ac59c1d632570"
}
],
"property_id": "101ac59c1d632570",
"property_type": "House"
},
{
"address": "4111 162 Avenue SW",
"community": "Residual Ward 13 - Sub Area 13G",
"estimate_list_price": 2516941,
"listings": [
{
"expand_estimate_list_price": 8000000,
"expand_listing_date": "2022-06-30",
"expand_listing_event": "Listed",
"property_id": "101b20104904ee27"
},
{
"expand_estimate_list_price": 8000000,
"expand_listing_date": "2022-09-23",
"expand_listing_event": "Unlisted",
"property_id": "101b20104904ee27"
},
{
"expand_estimate_list_price": 8000000,
"expand_listing_date": "2024-01-07",
"expand_listing_event": "Unlisted",
"property_id": "101b20104904ee27"
},
{
"expand_estimate_list_price": 5950000,
"expand_listing_date": "2025-01-11",
"expand_listing_event": "Price decrease",
"property_id": "101b20104904ee27"
},
{
"expand_estimate_list_price": 5950000,
"expand_listing_date": "2025-04-23",
"expand_listing_event": "Unlisted",
"property_id": "101b20104904ee27"
}
],
"property_id": "101b20104904ee27",
"property_type": "House"
},
{
"address": "148 Pinemill Mews NE",
"community": "Pineridge",
"estimate_list_price": 535617,
"listings": [
{
"expand_estimate_list_price": 519900,
"expand_listing_date": "2025-05-04",
"expand_listing_event": "Listed",
"property_id": "101bf9e336928eac"
},
{
"expand_estimate_list_price": 509900,
"expand_listing_date": "2025-05-25",
"expand_listing_event": "Price decrease",
"property_id": "101bf9e336928eac"
},
{
"expand_estimate_list_price": 504900,
"expand_listing_date": "2025-08-18",
"expand_listing_event": "Price decrease",
"property_id": "101bf9e336928eac"
},
{
"expand_estimate_list_price": 504900,
"expand_listing_date": "2026-04-16",
"expand_listing_event": "Unlisted",
"property_id": "101bf9e336928eac"
}
],
"property_id": "101bf9e336928eac",
"property_type": "House"
},
{
"address": "508 110 18A Street NW",
"community": "West Hillhurst",
"estimate_list_price": 488649,
"listings": [
{
"expand_estimate_list_price": 524900,
"expand_listing_date": "2025-11-08",
"expand_listing_event": "Listed",
"property_id": "101cdfd2154fb952"
},
{
"expand_estimate_list_price": 498000,
"expand_listing_date": "2026-02-25",
"expand_listing_event": "Price decrease",
"property_id": "101cdfd2154fb952"
},
{
"expand_estimate_list_price": 498000,
"expand_listing_date": "2026-06-16",
"expand_listing_event": "Unlisted",
"property_id": "101cdfd2154fb952"
}
],
"property_id": "101cdfd2154fb952",
"property_type": "Apartment"
},
{
"address": "104 200 Lincoln Way SW",
"community": "Lincoln Park",
"estimate_list_price": 303930,
"listings": [
{
"expand_estimate_list_price": 292000,
"expand_listing_date": "2023-07-23",
"expand_listing_event": "Listed",
"property_id": "101dc60603c4d8c1"
},
{
"expand_estimate_list_price": 292000,
"expand_listing_date": "2023-08-10",
"expand_listing_event": "Unlisted",
"property_id": "101dc60603c4d8c1"
}
],
"property_id": "101dc60603c4d8c1",
"property_type": "Apartment"
},
{
"address": "2332 54 Avenue SW",
"community": "North Glenmore Park",
"estimate_list_price": 1061136,
"listings": [
{
"expand_estimate_list_price": 949900,
"expand_listing_date": "2025-05-02",
"expand_listing_event": "Listed",
"property_id": "101dfb2c95c4ce71"
},
{
"expand_estimate_list_price": 924900,
"expand_listing_date": "2025-05-09",
"expand_listing_event": "Price decrease",
"property_id": "101dfb2c95c4ce71"
},
{
"expand_estimate_list_price": 899900,
"expand_listing_date": "2025-05-24",
"expand_listing_event": "Price decrease",
"property_id": "101dfb2c95c4ce71"
},
{
"expand_estimate_list_price": 899900,
"expand_listing_date": "2025-06-03",
"expand_listing_event": "Unlisted",
"property_id": "101dfb2c95c4ce71"
}
],
"property_id": "101dfb2c95c4ce71",
"property_type": "Duplex"
},
{
"address": "2307 44 Skyview Parkway NE",
"community": "Cityscape",
"estimate_list_price": 379198,
"listings": [
{
"expand_estimate_list_price": 419900,
"expand_listing_date": "2026-04-09",
"expand_listing_event": "Listed",
"property_id": "101ea1ad3d7bf769"
},
{
"expand_estimate_list_price": 419900,
"expand_listing_date": "2026-05-24",
"expand_listing_event": "Unlisted",
"property_id": "101ea1ad3d7bf769"
}
],
"property_id": "101ea1ad3d7bf769",
"property_type": "Apartment"
},
{
"address": "86 Saddlecrest Close NE",
"community": "Saddle Ridge",
"estimate_list_price": 656023,
"listings": [
{
"expand_estimate_list_price": 665000,
"expand_listing_date": "2023-07-19",
"expand_listing_event": "Listed",
"property_id": "101f62b4e9e9dce9"
},
{
"expand_estimate_list_price": 665000,
"expand_listing_date": "2023-07-26",
"expand_listing_event": "Unlisted",
"property_id": "101f62b4e9e9dce9"
},
{
"expand_estimate_list_price": 698000,
"expand_listing_date": "2026-06-03",
"expand_listing_event": "Price increase",
"property_id": "101f62b4e9e9dce9"
},
{
"expand_estimate_list_price": 678000,
"expand_listing_date": "2026-06-23",
"expand_listing_event": "Price decrease",
"property_id": "101f62b4e9e9dce9"
},
{
"expand_estimate_list_price": 657000,
"expand_listing_date": "2026-08-05",
"expand_listing_event": "Price decrease",
"property_id": "101f62b4e9e9dce9"
}
],
"property_id": "101f62b4e9e9dce9",
"property_type": "House"
},
{
"address": "1307 110 Greenbriar Place NW",
"community": "Greenwood-Greenbriar",
"estimate_list_price": 669721,
"listings": [
{
"expand_estimate_list_price": 608895,
"expand_listing_date": "2026-04-09",
"expand_listing_event": "Listed",
"property_id": "101fe5ad3af707a9"
}
],
"property_id": "101fe5ad3af707a9",
"property_type": "Apartment"
},
{
"address": "190 Cornerbrook Manor NE",
"community": "Cornerstone",
"estimate_list_price": 574170,
"listings": [
{
"expand_estimate_list_price": 609900,
"expand_listing_date": "2023-09-07",
"expand_listing_event": "Listed",
"property_id": "1020a674f0c9a890"
},
{
"expand_estimate_list_price": 609900,
"expand_listing_date": "2023-09-24",
"expand_listing_event": "Unlisted",
"property_id": "1020a674f0c9a890"
},
{
"expand_estimate_list_price": 619999,
"expand_listing_date": "2024-02-10",
"expand_listing_event": "Price increase",
"property_id": "1020a674f0c9a890"
},
{
"expand_estimate_list_price": 619999,
"expand_listing_date": "2024-03-12",
"expand_listing_event": "Unlisted",
"property_id": "1020a674f0c9a890"
}
],
"property_id": "1020a674f0c9a890",
"property_type": "Duplex"
},
{
"address": "19 1202 Street NW",
"community": "Beltline",
"estimate_list_price": 1005737,
"listings": [
{
"expand_estimate_list_price": 1100000,
"expand_listing_date": "2022-07-17",
"expand_listing_event": "Listed",
"property_id": "1020f7c057e903e8"
},
{
"expand_estimate_list_price": 1100000,
"expand_listing_date": "2022-07-25",
"expand_listing_event": "Unlisted",
"property_id": "1020f7c057e903e8"
}
],
"property_id": "1020f7c057e903e8",
"property_type": "House"
},
{
"address": "25 Capri Avenue NW",
"community": "Collingwood",
"estimate_list_price": 772482,
"listings": [
{
"expand_estimate_list_price": 725000,
"expand_listing_date": "2025-04-03",
"expand_listing_event": "Listed",
"property_id": "1021c758111aa87d"
},
{
"expand_estimate_list_price": 725000,
"expand_listing_date": "2025-04-16",
"expand_listing_event": "Unlisted",
"property_id": "1021c758111aa87d"
}
],
"property_id": "1021c758111aa87d",
"property_type": "House"
},
{
"address": "215 Pantego Close NW",
"community": "Panorama Hills",
"estimate_list_price": 772766,
"listings": [
{
"expand_estimate_list_price": 699900,
"expand_listing_date": "2025-11-19",
"expand_listing_event": "Listed",
"property_id": "102237a6a8a39d84"
},
{
"expand_estimate_list_price": 699900,
"expand_listing_date": "2025-11-30",
"expand_listing_event": "Unlisted",
"property_id": "102237a6a8a39d84"
}
],
"property_id": "102237a6a8a39d84",
"property_type": "House"
},
{
"address": "26 Savanna Passage NE",
"community": "Saddle Ridge",
"estimate_list_price": 410725,
"listings": [
{
"expand_estimate_list_price": 449990,
"expand_listing_date": "2025-02-19",
"expand_listing_event": "Listed",
"property_id": "102344621540378b"
},
{
"expand_estimate_list_price": 449990,
"expand_listing_date": "2025-03-06",
"expand_listing_event": "Unlisted",
"property_id": "102344621540378b"
}
],
"property_id": "102344621540378b",
"property_type": "Townhouse"
},
{
"address": "6451 70 Street NW",
"community": "Silver Springs",
"estimate_list_price": 775938,
"listings": [
{
"expand_estimate_list_price": 750000,
"expand_listing_date": "2026-05-09",
"expand_listing_event": "Listed",
"property_id": "10240aca9bdc6a1f"
},
{
"expand_estimate_list_price": 729900,
"expand_listing_date": "2026-06-15",
"expand_listing_event": "Price decrease",
"property_id": "10240aca9bdc6a1f"
},
{
"expand_estimate_list_price": 724900,
"expand_listing_date": "2026-07-02",
"expand_listing_event": "Price decrease",
"property_id": "10240aca9bdc6a1f"
},
{
"expand_estimate_list_price": 699900,
"expand_listing_date": "2026-07-12",
"expand_listing_event": "Price decrease",
"property_id": "10240aca9bdc6a1f"
},
{
"expand_estimate_list_price": 699900,
"expand_listing_date": "2026-07-27",
"expand_listing_event": "Unlisted",
"property_id": "10240aca9bdc6a1f"
}
],
"property_id": "10240aca9bdc6a1f",
"property_type": "House"
},
{
"address": "214 527 15 Avenue SW",
"community": "Beltline",
"estimate_list_price": 252903,
"listings": [
{
"expand_estimate_list_price": 254000,
"expand_listing_date": "2022-06-30",
"expand_listing_event": "Listed",
"property_id": "102514b46e98c3cf"
},
{
"expand_estimate_list_price": 250000,
"expand_listing_date": "2022-07-01",
"expand_listing_event": "Price decrease",
"property_id": "102514b46e98c3cf"
},
{
"expand_estimate_list_price": 248000,
"expand_listing_date": "2022-08-03",
"expand_listing_event": "Price decrease",
"property_id": "102514b46e98c3cf"
},
{
"expand_estimate_list_price": 225000,
"expand_listing_date": "2022-09-10",
"expand_listing_event": "Unlisted",
"property_id": "102514b46e98c3cf"
},
{
"expand_estimate_list_price": 248000,
"expand_listing_date": "2022-09-17",
"expand_listing_event": "Unlisted",
"property_id": "102514b46e98c3cf"
}
],
"property_id": "102514b46e98c3cf",
"property_type": "Apartment"
}
],
"error": "",
"pagination": {
"current_page": 1,
"has_next_page": true,
"has_previous_page": false,
"page_total": 2121
},
"price_quote": false,
"result_total": 106045,
"time_ms": 759,
"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:
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);
})();
{
"cache_hit": true,
"cost_cents": 21.499998092651367,
"data": [
{
"address": "31 Hawkside Park NW",
"area_comparable_assessment_value_per_sq_m": 4235,
"area_comparable_list_price_per_sq_m": 4136,
"area_residential_list_price_per_sq_m": 3702,
"area_residential_rent_price_per_sq_m": 16,
"community": "Hawkwood",
"property_id": "10000f97f5cb7b9f"
},
{
"address": "6 1744 7 Street SW",
"area_comparable_assessment_value_per_sq_m": 2898,
"area_comparable_list_price_per_sq_m": 7428,
"area_residential_list_price_per_sq_m": 4492,
"area_residential_rent_price_per_sq_m": 22,
"community": "Beltline",
"property_id": "10004f7afe0c1946"
},
{
"address": "384 Copperpond Landng SE",
"area_comparable_assessment_value_per_sq_m": 2898,
"area_comparable_list_price_per_sq_m": 3296,
"area_residential_list_price_per_sq_m": 3199,
"area_residential_rent_price_per_sq_m": 18,
"community": "Beltline",
"property_id": "10007f9761f49940"
},
{
"address": "239 Dalhurst Way NW",
"area_comparable_assessment_value_per_sq_m": 3177,
"area_comparable_list_price_per_sq_m": 6224,
"area_residential_list_price_per_sq_m": 6182,
"area_residential_rent_price_per_sq_m": 20,
"community": "Dalhousie",
"property_id": "100086f6bc064d3f"
},
{
"address": "52 Cedargrove Way SW",
"area_comparable_assessment_value_per_sq_m": 3266,
"area_comparable_list_price_per_sq_m": 4674,
"area_residential_list_price_per_sq_m": 4789,
"area_residential_rent_price_per_sq_m": 16,
"community": "Cedarbrae",
"property_id": "1000c277cd905d3b"
},
{
"address": "28 Sundown Gr SE",
"area_comparable_assessment_value_per_sq_m": 4046,
"area_comparable_list_price_per_sq_m": 5096,
"area_residential_list_price_per_sq_m": 4838,
"area_residential_rent_price_per_sq_m": 18,
"community": "Sundance",
"property_id": "1001109ab2aebbc0"
},
{
"address": "117 Sandpiper Place NW",
"area_comparable_assessment_value_per_sq_m": 4116,
"area_comparable_list_price_per_sq_m": 3822,
"area_residential_list_price_per_sq_m": 3783,
"area_residential_rent_price_per_sq_m": 17,
"community": "Sandstone Valley",
"property_id": "1001217184d8717b"
},
{
"address": "7237 California Boulevard NE",
"area_comparable_assessment_value_per_sq_m": 4171,
"area_comparable_list_price_per_sq_m": 3961,
"area_residential_list_price_per_sq_m": 3919,
"area_residential_rent_price_per_sq_m": 17,
"community": "Monterey Park",
"property_id": "1001392d95458fc1"
},
{
"address": "C304 4501 37 Street NW",
"area_comparable_assessment_value_per_sq_m": 2898,
"area_comparable_list_price_per_sq_m": 5962,
"area_residential_list_price_per_sq_m": 5228,
"area_residential_rent_price_per_sq_m": 23,
"community": "Beltline",
"property_id": "10013b5e28e0c630"
},
{
"address": "314 4350 SEton Drive SE",
"area_comparable_assessment_value_per_sq_m": 4650,
"area_comparable_list_price_per_sq_m": 4635,
"area_residential_list_price_per_sq_m": 4738,
"area_residential_rent_price_per_sq_m": 13,
"community": "Seton",
"property_id": "10014345d508e279"
},
{
"address": "6619 34 Street SW",
"area_comparable_assessment_value_per_sq_m": 2898,
"area_comparable_list_price_per_sq_m": 8302,
"area_residential_list_price_per_sq_m": 8635,
"area_residential_rent_price_per_sq_m": 27,
"community": "Lakeview",
"property_id": "10014f3c7e5bfad9"
},
{
"address": "188 Mount Aberdeen Close SE",
"area_comparable_assessment_value_per_sq_m": 4451,
"area_comparable_list_price_per_sq_m": 5065,
"area_residential_list_price_per_sq_m": 4863,
"area_residential_rent_price_per_sq_m": 20,
"community": "McKenzie Lake",
"property_id": "1001894d82aeeb0c"
},
{
"address": "48 Catalina Circle NE",
"area_comparable_assessment_value_per_sq_m": 3763,
"area_comparable_list_price_per_sq_m": 3578,
"area_residential_list_price_per_sq_m": 4306,
"area_residential_rent_price_per_sq_m": 18,
"community": "Monterey Park",
"property_id": "10019b3ca95ab014"
},
{
"address": "196 Covemeadow Road NE",
"area_comparable_assessment_value_per_sq_m": 3801,
"area_comparable_list_price_per_sq_m": 4698,
"area_residential_list_price_per_sq_m": 4310,
"area_residential_rent_price_per_sq_m": 15,
"community": "Coventry Hills",
"property_id": "1001a75df7bd5267"
},
{
"address": "6105 302 Skyview Ranch Drive NE",
"area_comparable_assessment_value_per_sq_m": 3823,
"area_comparable_list_price_per_sq_m": 3998,
"area_residential_list_price_per_sq_m": 3954,
"area_residential_rent_price_per_sq_m": 17,
"community": "Skyview Ranch",
"property_id": "1001e5d457b46526"
},
{
"address": "121 Prestwick Way SE",
"area_comparable_assessment_value_per_sq_m": 3349,
"area_comparable_list_price_per_sq_m": 4868,
"area_residential_list_price_per_sq_m": 4936,
"area_residential_rent_price_per_sq_m": 18,
"community": "McKenzie Towne",
"property_id": "1001f28c96629974"
},
{
"address": "1011 Olympia Crescent SE",
"area_comparable_assessment_value_per_sq_m": 3799,
"area_comparable_list_price_per_sq_m": 5191,
"area_residential_list_price_per_sq_m": 5242,
"area_residential_rent_price_per_sq_m": 20,
"community": "Ogden",
"property_id": "1001ffcbf6c0248c"
},
{
"address": "432 27 Avenue NW",
"area_comparable_assessment_value_per_sq_m": 5375,
"area_comparable_list_price_per_sq_m": 6334,
"area_residential_list_price_per_sq_m": 6477,
"area_residential_rent_price_per_sq_m": 17,
"community": "Mount Pleasant",
"property_id": "10021e44aa219b00"
},
{
"address": "168 Coventry Hills Drive NE",
"area_comparable_assessment_value_per_sq_m": 3801,
"area_comparable_list_price_per_sq_m": 3994,
"area_residential_list_price_per_sq_m": 3931,
"area_residential_rent_price_per_sq_m": 18,
"community": "Coventry Hills",
"property_id": "1002285fe3ee9c49"
},
{
"address": "2206 10 Avenue SW",
"area_comparable_assessment_value_per_sq_m": 3510,
"area_comparable_list_price_per_sq_m": 5949,
"area_residential_list_price_per_sq_m": 5477,
"area_residential_rent_price_per_sq_m": 20,
"community": "Sunalta",
"property_id": "10023888bdd1ce5d"
},
{
"address": "1516 49 Street SE",
"area_comparable_assessment_value_per_sq_m": 5297,
"area_comparable_list_price_per_sq_m": 5443,
"area_residential_list_price_per_sq_m": 5137,
"area_residential_rent_price_per_sq_m": 18,
"community": "Forest Lawn",
"property_id": "10024c6023d6ca9"
},
{
"address": "17 125 23 Avenue SW",
"area_comparable_assessment_value_per_sq_m": 5215,
"area_comparable_list_price_per_sq_m": 4214,
"area_residential_list_price_per_sq_m": 4306,
"area_residential_rent_price_per_sq_m": 22,
"community": "Mission",
"property_id": "10025933fa932bff"
},
{
"address": "2 2022 11 Avenue SW",
"area_comparable_assessment_value_per_sq_m": 3510,
"area_comparable_list_price_per_sq_m": 3980,
"area_residential_list_price_per_sq_m": 4127,
"area_residential_rent_price_per_sq_m": 24,
"community": "Sunalta",
"property_id": "10027a59d3becf43"
},
{
"address": "2128 Crestwood Road SE",
"area_comparable_assessment_value_per_sq_m": 3799,
"area_comparable_list_price_per_sq_m": 5653,
"area_residential_list_price_per_sq_m": 5253,
"area_residential_rent_price_per_sq_m": 23,
"community": "Ogden",
"property_id": "1002822e7b274674"
},
{
"address": "6728 37 Avenue NE",
"area_comparable_assessment_value_per_sq_m": 3436,
"area_comparable_list_price_per_sq_m": 5107,
"area_residential_list_price_per_sq_m": 5146,
"area_residential_rent_price_per_sq_m": 20,
"community": "Temple",
"property_id": "100283206befdb78"
},
{
"address": "66 Walden Walk SE",
"area_comparable_assessment_value_per_sq_m": 4831,
"area_comparable_list_price_per_sq_m": 3377,
"area_residential_list_price_per_sq_m": 3294,
"area_residential_rent_price_per_sq_m": 15,
"community": "Walden",
"property_id": "10028c2a3333256c"
},
{
"address": "1 8544 48 Avenue NW",
"area_comparable_assessment_value_per_sq_m": 6769,
"area_comparable_list_price_per_sq_m": 6900,
"area_residential_list_price_per_sq_m": 3097,
"area_residential_rent_price_per_sq_m": 24,
"community": "Bowness",
"property_id": "1002be55c752b864"
},
{
"address": "2 2205 28 Street SW",
"area_comparable_assessment_value_per_sq_m": 4131,
"area_comparable_list_price_per_sq_m": 4913,
"area_residential_list_price_per_sq_m": 4376,
"area_residential_rent_price_per_sq_m": 22,
"community": "Killarney-Glengarry",
"property_id": "1002cc232a56aa4c"
},
{
"address": "1005 815 14 Avenue SW",
"area_comparable_assessment_value_per_sq_m": 2898,
"area_comparable_list_price_per_sq_m": 4023,
"area_residential_list_price_per_sq_m": 3961,
"area_residential_rent_price_per_sq_m": 25,
"community": "Beltline",
"property_id": "1002e3ad9cd64ae2"
},
{
"address": "6535 54 Street NW",
"area_comparable_assessment_value_per_sq_m": 6629,
"area_comparable_list_price_per_sq_m": 6014,
"area_residential_list_price_per_sq_m": 3684,
"area_residential_rent_price_per_sq_m": 22,
"community": "Dalhousie",
"property_id": "10030424b41ab29b"
},
{
"address": "145 Valley Woods Place NW",
"area_comparable_assessment_value_per_sq_m": 4338,
"area_comparable_list_price_per_sq_m": 4398,
"area_residential_list_price_per_sq_m": 4383,
"area_residential_rent_price_per_sq_m": 16,
"community": "Valley Ridge",
"property_id": "10034432c778cb03"
},
{
"address": "95 Creekview Garden SW",
"area_comparable_assessment_value_per_sq_m": 3278,
"area_comparable_list_price_per_sq_m": 4022,
"area_residential_list_price_per_sq_m": 3974,
"area_residential_rent_price_per_sq_m": 14,
"community": "Pine Creek",
"property_id": "100356cd86faab90"
},
{
"address": "205 6704 6 Street SW",
"area_comparable_assessment_value_per_sq_m": 2898,
"area_comparable_list_price_per_sq_m": 6585,
"area_residential_list_price_per_sq_m": 7181,
"area_residential_rent_price_per_sq_m": 23,
"community": "Beltline",
"property_id": "100362b238afdae6"
},
{
"address": "1542 52 Street SE",
"area_comparable_assessment_value_per_sq_m": 2665,
"area_comparable_list_price_per_sq_m": 4687,
"area_residential_list_price_per_sq_m": 4309,
"area_residential_rent_price_per_sq_m": 21,
"community": "Penbrooke Meadows",
"property_id": "1003955fedeb5ef7"
},
{
"address": "232 Rundlefield Road NE",
"area_comparable_assessment_value_per_sq_m": 6029,
"area_comparable_list_price_per_sq_m": 5589,
"area_residential_list_price_per_sq_m": 5524,
"area_residential_rent_price_per_sq_m": 20,
"community": "Rundle",
"property_id": "1003a8f7e7319598"
},
{
"address": "2210 11 Chaparral Ridge Drive SE",
"area_comparable_assessment_value_per_sq_m": 3247,
"area_comparable_list_price_per_sq_m": 3262,
"area_residential_list_price_per_sq_m": 3379,
"area_residential_rent_price_per_sq_m": 14,
"community": "Chaparral",
"property_id": "1003b461d5f335cf"
},
{
"address": "125 Riverview Court SE",
"area_comparable_assessment_value_per_sq_m": 4361,
"area_comparable_list_price_per_sq_m": 4240,
"area_residential_list_price_per_sq_m": 4315,
"area_residential_rent_price_per_sq_m": 19,
"community": "Riverbend",
"property_id": "1003b80b5086a07"
},
{
"address": "1435 25A Street SW",
"area_comparable_assessment_value_per_sq_m": 5431,
"area_comparable_list_price_per_sq_m": 5747,
"area_residential_list_price_per_sq_m": 5602,
"area_residential_rent_price_per_sq_m": 22,
"community": "Shaganappi",
"property_id": "1003d96e8e607840"
},
{
"address": "52 Tuscany Valley Lane NW",
"area_comparable_assessment_value_per_sq_m": 4300,
"area_comparable_list_price_per_sq_m": 4893,
"area_residential_list_price_per_sq_m": 5000,
"area_residential_rent_price_per_sq_m": 19,
"community": "Tuscany",
"property_id": "1003eea453087ea3"
},
{
"address": "110 Royal Birch Gardens NW",
"area_comparable_assessment_value_per_sq_m": 2898,
"area_comparable_list_price_per_sq_m": 4794,
"area_residential_list_price_per_sq_m": 4424,
"area_residential_rent_price_per_sq_m": 17,
"community": "Beltline",
"property_id": "1003fe4194f1fe08"
},
{
"address": "81 Scandia Hill NW",
"area_comparable_assessment_value_per_sq_m": 2898,
"area_comparable_list_price_per_sq_m": 4855,
"area_residential_list_price_per_sq_m": 4501,
"area_residential_rent_price_per_sq_m": 15,
"community": "Scenic Acres",
"property_id": "10043508321f54ba"
},
{
"address": "606 2909 17 Avenue SW",
"area_comparable_assessment_value_per_sq_m": 4131,
"area_comparable_list_price_per_sq_m": 3677,
"area_residential_list_price_per_sq_m": 3429,
"area_residential_rent_price_per_sq_m": 22,
"community": "Killarney-Glengarry",
"property_id": "10044d3d0f4ecf10"
},
{
"address": "216 116 7A Street NE",
"area_comparable_assessment_value_per_sq_m": 4932,
"area_comparable_list_price_per_sq_m": 4691,
"area_residential_list_price_per_sq_m": 4854,
"area_residential_rent_price_per_sq_m": 23,
"community": "Bridgeland-Riverside",
"property_id": "10044e9ee6b6014"
},
{
"address": "1221 15 Avenue SW",
"area_comparable_assessment_value_per_sq_m": 6705,
"area_comparable_list_price_per_sq_m": 6567,
"area_residential_list_price_per_sq_m": 3400,
"area_residential_rent_price_per_sq_m": 19,
"community": "Beltline",
"property_id": "100451bb01e4474a"
},
{
"address": "61 Rivergreen Crescent SE",
"area_comparable_assessment_value_per_sq_m": 4361,
"area_comparable_list_price_per_sq_m": 4744,
"area_residential_list_price_per_sq_m": 5215,
"area_residential_rent_price_per_sq_m": 19,
"community": "Riverbend",
"property_id": "1004738a9262a70d"
},
{
"address": "247 Chapalina Terrace SE",
"area_comparable_assessment_value_per_sq_m": 3850,
"area_comparable_list_price_per_sq_m": 3782,
"area_residential_list_price_per_sq_m": 3754,
"area_residential_rent_price_per_sq_m": 14,
"community": "Chaparral",
"property_id": "1004a292757c448e"
},
{
"address": "628 Kingsmere Crescent SW",
"area_comparable_assessment_value_per_sq_m": 3445,
"area_comparable_list_price_per_sq_m": 3764,
"area_residential_list_price_per_sq_m": 3422,
"area_residential_rent_price_per_sq_m": 24,
"community": "Kingsland",
"property_id": "1004d7ca503f8990"
},
{
"address": "119R Malibou Road SW",
"area_comparable_assessment_value_per_sq_m": 2900,
"area_comparable_list_price_per_sq_m": 6298,
"area_residential_list_price_per_sq_m": 5912,
"area_residential_rent_price_per_sq_m": 23,
"community": "Mayfair",
"property_id": "1004ed051cf3d228"
},
{
"address": "176 Carringwood Way NW",
"area_comparable_assessment_value_per_sq_m": 3812,
"area_comparable_list_price_per_sq_m": 3526,
"area_residential_list_price_per_sq_m": 3481,
"area_residential_rent_price_per_sq_m": 14,
"community": "Carrington",
"property_id": "10051cb22ed0ecc3"
},
{
"address": "335 Millrise Drive Southwest",
"area_comparable_assessment_value_per_sq_m": 3777,
"area_comparable_list_price_per_sq_m": 3587,
"area_residential_list_price_per_sq_m": 4242,
"area_residential_rent_price_per_sq_m": 17,
"community": "Beltline",
"property_id": "100523ae7fef83ad"
}
],
"error": "",
"pagination": {
"current_page": 1,
"has_next_page": true,
"has_previous_page": false,
"page_total": 13619
},
"price_quote": false,
"result_total": 680936,
"time_ms": 75,
"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 200 columns available, and you probably do not need all of them in your dashboard. Trim early, refresh fast.
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.
