Assessments, permits, listings, census figures and climate risk, matched to every address.
220M+ properties in Canada, the United States, Great Britain, Latvia, Slovenia, Czechia, France, Spain, the Netherlands, Finland, Poland, Norway, Switzerland, Estonia, Austria and South Korea. 400+ fields. One API.
Target houses in high-income, well-educated, walkable Calgary neighbourhoods
This query stacks census income, education levels, and walkability scores onto every property, alongside our price estimate. Hundreds more fields available per property.
curl -X GET "https://api.houski.ca/properties?api_key=YOUR_API_KEY&city=calgary&country_abbreviation=ca&demographic_education_level_bachelors_degree_percent_gte=0.30&demographic_income_median_pre_tax_gte=100000&page=1&property_type_eq=House&province_abbreviation=ab&results_per_page=3&score_walkability_gte=6&select=address,latitude,longitude,bedroom_total,estimate_list_price,demographic_income_median_pre_tax,demographic_education_level_bachelors_degree_percent,score_walkability"
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('demographic_education_level_bachelors_degree_percent_gte', '0.30');
url.searchParams.set('demographic_income_median_pre_tax_gte', '100000');
url.searchParams.set('page', '1');
url.searchParams.set('property_type_eq', 'House');
url.searchParams.set('province_abbreviation', 'ab');
url.searchParams.set('results_per_page', '3');
url.searchParams.set('score_walkability_gte', '6');
url.searchParams.set('select', 'address,latitude,longitude,bedroom_total,estimate_list_price,demographic_income_median_pre_tax,demographic_education_level_bachelors_degree_percent,score_walkability');
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": 1.619999885559082,
"data": [
{
"address": "239 Dalhurst Way NW",
"bedroom_total": 4,
"demographic_education_level_bachelors_degree_percent": 0.43396225571632385,
"demographic_income_median_pre_tax": 142269,
"estimate_list_price": 960243,
"latitude": 51.110740661621094,
"longitude": -114.1513900756836,
"property_id": "100086f6bc064d3f",
"score_walkability": 8
},
{
"address": "188 Mount Aberdeen Close SE",
"bedroom_total": 3,
"demographic_education_level_bachelors_degree_percent": 0.3230147957801819,
"demographic_income_median_pre_tax": 122978,
"estimate_list_price": 454348,
"latitude": 50.93125915527344,
"longitude": -113.97802734375,
"property_id": "1001894d82aeeb0c",
"score_walkability": 8
},
{
"address": "432 27 Avenue NW",
"bedroom_total": 3,
"demographic_education_level_bachelors_degree_percent": 0.5232558250427246,
"demographic_income_median_pre_tax": 171205,
"estimate_list_price": 1176562,
"latitude": 51.07721710205078,
"longitude": -114.06916046142578,
"property_id": "10021e44aa219b00",
"score_walkability": 7
}
],
"error": "",
"pagination": {
"current_page": 1,
"has_next_page": true,
"has_previous_page": false,
"page_total": 53978
},
"price_quote": false,
"result_total": 161933,
"time_ms": 157,
"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"
}
}
Search any address in the sixteen countries we cover. The data you see is what the API returns. The same data can be used to power property listings, heat maps, area averages, and permit searches.
Our automated valuation models predict list, sale, and rent values for addresses in Canada, the United States and every other market with enough data to train a model. Machine learning trained at city, state or provincial, and national levels, with automatic hierarchical fallback so every address gets the best prediction available.
Accuracy published for every model: the median percentage error, the R squared, and how often the estimate lands within 10% of the actual price. See exactly how it performs in your market before committing.
Get an API key in minutes, or talk to us about an annual contract or a custom dataset.