Many properties have extra data sets beyond the regular fields, such as an expansion set with assessment history.
Use the expand query parameter. For assessment data: ?expand=assessments
Specify multiple expansions with commas. For assessments and permits: ?expand=assessments,permits
The available expansions are assessments, listings, listings_rent, and permits. See each set's fields on the fields & expansions page.
Not all properties have every expansion set. Missing expansions return an empty array.
To return only properties that have an expansion set, filter on the matching boolean field: has_expand_listings, has_expand_listings_rent, has_expand_permits, or has_expand_assessments. For example, ?has_expand_permits_eq=true returns only properties with permit records. These are fast indexed filters on the property record itself, so they are much cheaper and faster than expanding a data set just to drop properties with empty arrays. See the filtering page for details.
Pricing varies per expansion and is the per-set cost multiplied by rows returned.
Select the programming language you want to display the code examples in.
curl -X GET "https://api.houski.ca/properties?api_key=YOUR_API_KEY&city=calgary&country_abbreviation=ca&expand=assessments&province_abbreviation=ab"
const houski_properties_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', 'assessments');
url.searchParams.set('province_abbreviation', 'ab');
const response = await fetch(url);
const data = await response.json();
return data;
}
(async () => {
let data: PropertiesResponse = await houski_properties_data();
// Log the response
console.log(data);
})();
{
"cache_hit": false,
"cost_cents": 0.19999998807907104,
"data": [
{
"address": "31 Hawkside Park NW",
"assessments": [
{
"expand_assessment_value": 648500,
"expand_assessment_year": 2026,
"property_id": "10000f97f5cb7b9f"
},
{
"expand_assessment_value": 476000,
"expand_assessment_year": 2014,
"property_id": "10000f97f5cb7b9f"
}
],
"property_id": "10000f97f5cb7b9f"
},
{
"address": "6 1744 7 Street SW",
"property_id": "10004f7afe0c1946"
},
{
"address": "384 Copperpond Landng SE",
"property_id": "10007f9761f49940"
},
{
"address": "239 Dalhurst Way NW",
"assessments": [
{
"expand_assessment_value": 1110000,
"expand_assessment_year": 2026,
"property_id": "100086f6bc064d3f"
},
{
"expand_assessment_value": 710500,
"expand_assessment_year": 2014,
"property_id": "100086f6bc064d3f"
}
],
"property_id": "100086f6bc064d3f"
},
{
"address": "52 Cedargrove Way SW",
"assessments": [
{
"expand_assessment_value": 662000,
"expand_assessment_year": 2026,
"property_id": "1000c277cd905d3b"
},
{
"expand_assessment_value": 516500,
"expand_assessment_year": 2014,
"property_id": "1000c277cd905d3b"
}
],
"property_id": "1000c277cd905d3b"
},
{
"address": "28 Sundown Gr SE",
"assessments": [
{
"expand_assessment_value": 692500,
"expand_assessment_year": 2026,
"property_id": "1001109ab2aebbc0"
},
{
"expand_assessment_value": 431000,
"expand_assessment_year": 2014,
"property_id": "1001109ab2aebbc0"
}
],
"property_id": "1001109ab2aebbc0"
}
],
"error": "",
"pagination": {
"current_page": 1,
"has_next_page": true,
"has_previous_page": false,
"page_total": 113490
},
"price_quote": false,
"result_total": 680936,
"time_ms": 3232,
"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"
}
}