Most of the endpoints on the Houski API allow you to filter the data returned by the API, by virtually any field. You can also filter properties geographically by specifying a bounding box, or polygon (scroll down on this page for examples).
Filtering is performed by adding query parameters to the request URL. For example, to filter the properties returned by the properties endpoint by the number of full bathrooms, you could do any of the following:
Filter | Name | Example |
---|---|---|
Greater than | gt | bathroom_full_gt=3 |
Greater than or equal to | gte | bathroom_full_gte=3 |
Less than | lt | bathroom_full_lt=3 |
Less than or equal to | lte | bathroom_full_lte=3 |
Equal to | eq | bathroom_full_eq=3 |
Not equal to | neq | bathroom_full_neq=3 |
In the given list | in | property_type_in=House,Apartment |
Matches a regular expression | regex | bathroom_full_regex=1|3 |
Does not match a regular expression | nregex | bathroom_full_nregex=1|3 |
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&bedroom_eq=3&country_abbreviation=ca&province_abbreviation=ab&results_per_page=3&select=bedroom,den,estimate_list_price,latitude,longitude"
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('bedroom_eq', '3'); url.searchParams.set('country_abbreviation', 'ca'); url.searchParams.set('province_abbreviation', 'ab'); url.searchParams.set('results_per_page', '3'); url.searchParams.set('select', 'bedroom,den,estimate_list_price,latitude,longitude'); 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": 2.1000001430511475, "data": [ { "address": "5313 Township Road 522", "bedroom": 3, "den": 0, "estimate_list_price": 370709, "latitude": 53.4829216003418, "longitude": -114.67488861083984, "property_id": "10000ac3e3c04e78" }, { "address": "12819 121 Avenue NW", "bedroom": 3, "den": 0, "estimate_list_price": 388828, "latitude": 53.57424545288086, "longitude": -113.5435562133789, "property_id": "1000286b73c1dbe3" }, { "address": "49530 Range Road 90", "bedroom": 3, "den": 0, "estimate_list_price": 370596, "latitude": 53.27719497680664, "longitude": -115.18650817871094, "property_id": "10003b0683ad593f" } ], "error": "", "pagination": { "current_page": 1, "has_next_page": true, "has_previous_page": false, "page_total": 523825 }, "price_quote": false, "result_total": 1571475, "time_ms": 118, "ui_info": { "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" } }
curl -X GET "https://api.houski.ca/properties?api_key=YOUR_API_KEY&bbox_ne_lat=51.1005&bbox_ne_lng=-113.508&bbox_sw_lat=50.6668&bbox_sw_lng=-114.4593&country_abbreviation=ca&province_abbreviation=ab&results_per_page=3&select=bedroom,den,estimate_list_price,latitude,longitude"
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('bbox_ne_lat', '51.1005'); url.searchParams.set('bbox_ne_lng', '-113.508'); url.searchParams.set('bbox_sw_lat', '50.6668'); url.searchParams.set('bbox_sw_lng', '-114.4593'); url.searchParams.set('country_abbreviation', 'ca'); url.searchParams.set('province_abbreviation', 'ab'); url.searchParams.set('results_per_page', '3'); url.searchParams.set('select', 'bedroom,den,estimate_list_price,latitude,longitude'); 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": 2.1000001430511475, "data": [ { "address": "6 1744 7 Street SW", "bedroom": 3, "den": 0, "estimate_list_price": 1961636, "latitude": 51.03611755371094, "longitude": -114.0792007446289, "property_id": "10004f7afe0c1946" }, { "address": "384 Copperpond Landng SE", "bedroom": 3, "den": 0, "estimate_list_price": 832488, "latitude": 50.925743103027344, "longitude": -113.92975616455078, "property_id": "10007f9761f49940" }, { "address": "52 Cedargrove Way SW", "bedroom": 3, "den": 2, "estimate_list_price": 616008, "latitude": 50.95144271850586, "longitude": -114.1257095336914, "property_id": "1000c277cd905d3b" } ], "error": "", "pagination": { "current_page": 1, "has_next_page": true, "has_previous_page": false, "page_total": 168926 }, "price_quote": false, "result_total": 506777, "time_ms": 185, "ui_info": { "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" } }
curl -X GET "https://api.houski.ca/properties?api_key=YOUR_API_KEY&country_abbreviation=ca&polygon=51.0447_-114.0719,51.0544_-114.0719,51.0544_-114.0856,51.0452_-114.0856&province_abbreviation=ab&results_per_page=3&select=bedroom,den,estimate_list_price,latitude,longitude"
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('country_abbreviation', 'ca'); url.searchParams.set('polygon', '51.0447_-114.0719,51.0544_-114.0719,51.0544_-114.0856,51.0452_-114.0856'); url.searchParams.set('province_abbreviation', 'ab'); url.searchParams.set('results_per_page', '3'); url.searchParams.set('select', 'bedroom,den,estimate_list_price,latitude,longitude'); 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": 2.1000001430511475, "data": [ { "address": "2018 608 9 Street SW", "bedroom": 3, "den": 0, "estimate_list_price": 1195076, "latitude": 51.04768371582031, "longitude": -114.0837173461914, "property_id": "100556b0922cfec" }, { "address": "2101 888 4 Avenue SW", "bedroom": 3, "den": 0, "estimate_list_price": 2225440, "latitude": 51.05002212524414, "longitude": -114.08051300048828, "property_id": "100a3285ac5dd6b1" }, { "address": "1702 909 7 Avenue SW", "bedroom": 3, "den": 0, "estimate_list_price": 168416, "latitude": 51.04676818847656, "longitude": -114.08220672607422, "property_id": "10182bd1da061c7e" } ], "error": "", "pagination": { "current_page": 1, "has_next_page": true, "has_previous_page": false, "page_total": 3016 }, "price_quote": false, "result_total": 9046, "time_ms": 698, "ui_info": { "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" } }