The search endpoint is used to fuzzy find properties by address, and communities, cities, provinces, and countries by name.
This endpoint conforms to Houski API's standard filtering and sorting functionality.
To see all the fields that can be filtered or sorted by, see the fields page.
This example search input utilizes this endpoint.
Name | Required | Type | Description |
---|---|---|---|
api_key | Yes | UUID v4 | Authorization API key |
query | Yes | String | The search query string |
max_results | No | Number (default: 10) | How many results per category to return (max: 10) |
Type declarations are available at the bottom of this page.
Name | Type | Description |
---|---|---|
cache_hit | Boolean | Indicates if the data was retrieved from the cache |
cost_cents | Number | Cost of the API call in cents |
data | Object | Contains the search result data |
error | String | Details about the error. Empty if no error |
price_quote | Boolean | Request is for a price quote |
time_ms | Number | Time taken for the request to complete in milliseconds |
Select the programming language you want to display the code examples in.
Select the programming language you want to display the code examples in.
curl -X GET "https://api.houski.ca/search?api_key=YOUR_API_KEY&query=155 riverside"
const houski_search_data = async (): Promise<SearchResponse> => { // You must copy the SearchResponse type declarations from the // Houski API documentation to strongly type the response const url = new URL('https://api.houski.ca/search'); url.searchParams.set('api_key', 'YOUR_API_KEY'); url.searchParams.set('query', '155 riverside'); const response = await fetch(url); const data = await response.json(); return data; } (async () => { let data: SearchResponse = await houski_search_data(); // Log the response console.log(data); })();
{ "cache_hit": true, "cost_cents": 0.009999999776482582, "data": { "cities": [ { "city": "Riverside", "city_id": "2d9502aec5a073d8", "city_link": "ca/ns/riverside", "city_slug": "riverside", "country": "Canada", "country_abbreviation": "CA", "country_abbreviation_id": "9ace2b6431b7f1be", "country_abbreviation_link": "ca", "country_slug": "canada", "province": "Nova Scotia", "province_abbreviation": "NS", "province_abbreviation_id": "6762b7e64abb3230", "province_abbreviation_link": "ca/ns", "province_slug": "nova-scotia", "search_match_score": 0.6428571343421936 }, { "city": "Utikoomak Lake 155", "city_id": "7134b4ee6f8c5bdf", "city_link": "ca/ab/utikoomak-lake-155", "city_slug": "utikoomak-lake-155", "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_match_score": 0.2142857164144516 } ], "communities": [ { "city": "Edmonton", "city_id": "ba0db02120e894c9", "city_link": "ca/ab/edmonton", "city_slug": "edmonton", "community": "River Valley Riverside", "community_id": "d5874d31ca21199", "community_link": "ca/ab/edmonton/river-valley-riverside", "community_slug": "river-valley-riverside", "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_match_score": 0.6428571343421936 } ], "countries": [], "properties": [ { "address": "155 Riverside Way SE", "address_link": "ca/ab/calgary/riverbend/155-riverside-way-se", "city": "Calgary", "country": "Canada", "country_abbreviation": "CA", "country_abbreviation_link": "ca", "latitude": 50.98359298706055, "longitude": -114.02255249023438, "property_id": "eb60abc37742097", "province": "Alberta", "province_abbreviation": "AB", "province_abbreviation_link": "ca/ab", "search_match_score": 1.0 }, { "address": "155 Riverside Close SE", "address_link": "ca/ab/calgary/riverbend/155-riverside-close-se", "city": "Calgary", "country": "Canada", "country_abbreviation": "CA", "country_abbreviation_link": "ca", "latitude": 50.97560501098633, "longitude": -114.02802276611328, "property_id": "f8bc15e3f737f1f5", "province": "Alberta", "province_abbreviation": "AB", "province_abbreviation_link": "ca/ab", "search_match_score": 1.0 }, { "address": "155 Riverside Mews SE", "address_link": "ca/ab/calgary/riverbend/155-riverside-mews-se", "city": "Calgary", "country": "Canada", "country_abbreviation": "CA", "country_abbreviation_link": "ca", "latitude": 50.97998809814453, "longitude": -114.02757263183594, "property_id": "b89d484e00cbb2b9", "province": "Alberta", "province_abbreviation": "AB", "province_abbreviation_link": "ca/ab", "search_match_score": 1.0 }, { "address": "1555 Riverside Drive", "address_link": "ca/nb/bathurst/unknown/1555-riverside-drive", "city": "Bathurst", "country": "Canada", "country_abbreviation": "CA", "country_abbreviation_link": "ca", "latitude": 47.606258392333984, "longitude": -65.67015838623047, "property_id": "557c06a264595e68", "province": "New Brunswick", "province_abbreviation": "NB", "province_abbreviation_link": "ca/nb", "search_match_score": 1.0 }, { "address": "155 Riverside Parkway", "address_link": "ca/ns/new-glasgow/unknown/155-riverside-parkway", "city": "New Glasgow", "country": "Canada", "country_abbreviation": "CA", "country_abbreviation_link": "ca", "latitude": 45.58757019042969, "longitude": -62.64662170410156, "property_id": "d047013a91c927f1", "province": "Nova Scotia", "province_abbreviation": "NS", "province_abbreviation_link": "ca/ns", "search_match_score": 1.0 }, { "address": "155 Riverside Drive", "address_link": "ca/on/vaughan/unknown/155-riverside-drive", "city": "Vaughan", "country": "Canada", "country_abbreviation": "CA", "country_abbreviation_link": "ca", "latitude": 43.796749114990234, "longitude": -79.58148956298828, "property_id": "970231384320262c", "province": "Ontario", "province_abbreviation": "ON", "province_abbreviation_link": "ca/on", "search_match_score": 1.0 }, { "address": "155 Riverside Drive", "address_link": "ca/on/greater-sudbury/unknown/155-riverside-drive", "city": "Greater Sudbury", "country": "Canada", "country_abbreviation": "CA", "country_abbreviation_link": "ca", "latitude": 46.485389709472656, "longitude": -80.99884033203125, "property_id": "552a366b61a80a36", "province": "Ontario", "province_abbreviation": "ON", "province_abbreviation_link": "ca/on", "search_match_score": 1.0 }, { "address": "155 Riverside Drive West", "address_link": "ca/on/greater-sudbury/unknown/155-riverside-drive-west", "city": "Greater Sudbury", "country": "Canada", "country_abbreviation": "CA", "country_abbreviation_link": "ca", "latitude": 46.59049987792969, "longitude": -81.34265899658203, "property_id": "354e95dc209b28ed", "province": "Ontario", "province_abbreviation": "ON", "province_abbreviation_link": "ca/on", "search_match_score": 1.0 }, { "address": "155 Old Riverside Road", "address_link": "ca/ns/guysborough/unknown/155-old-riverside-road", "city": "Guysborough", "country": "Canada", "country_abbreviation": "CA", "country_abbreviation_link": "ca", "latitude": 45.398868560791016, "longitude": -61.50994873046875, "property_id": "d8f3f3fea6f490e8", "province": "Nova Scotia", "province_abbreviation": "NS", "province_abbreviation_link": "ca/ns", "search_match_score": 0.9285714030265808 }, { "address": "1500 2505 Riverside Drive", "address_link": "ca/on/ottawa/unknown/1500-2505-riverside-drive", "city": "Ottawa", "country": "Canada", "country_abbreviation": "CA", "country_abbreviation_link": "ca", "latitude": 45.41130065917969, "longitude": -75.66258239746094, "property_id": "2f0a0c577b03d888", "province": "Ontario", "province_abbreviation": "ON", "province_abbreviation_link": "ca/on", "search_match_score": 0.8571428656578064 } ], "provinces": [] }, "error": "", "price_quote": false, "time_ms": 2359 }
interface SearchResponse { cache_hit: boolean; cost_cents: number; data: SearchData; error: string; price_quote: boolean; time_ms: number; } interface SearchData { properties: SearchProperty[]; communities: SearchCommunity[]; cities: SearchCity[]; provinces: SearchProvince[]; countries: SearchCountry[]; } interface SearchProperty { address_link: string; address: string; property_id: string; city: string; country_abbreviation_link: string; country_abbreviation: string; country: string; province_abbreviation_link: string; province_abbreviation: string; province: string; search_match_score: number; latitude: number; longitude: number; } interface SearchCountry { country_abbreviation_id: string; country_abbreviation_link: string; country_abbreviation: string; country: string; country_slug: string; search_match_score: number; } interface SearchProvince { country_abbreviation_id: string; country_abbreviation_link: string; country_abbreviation: string; country: string; country_slug: string; province_abbreviation_id: string; province_abbreviation_link: string; province_abbreviation: string; province: string; province_slug: string; search_match_score: number; } interface SearchCity { city_id: string; city: string; city_slug: string; city_link: string; country_abbreviation_id: string; country_abbreviation_link: string; country_abbreviation: string; country: string; country_slug: string; province_abbreviation_id: string; province_abbreviation_link: string; province_abbreviation: string; province: string; province_slug: string; search_match_score: number; } interface SearchCommunity { city_id: string; city: string; city_link: string; city_slug: string; community_id: string; community_link: string; community: string; community_slug: string; country_abbreviation_id: string; country_abbreviation_link: string; country_abbreviation: string; country: string; country_slug: string; province_abbreviation_id: string; province_abbreviation_link: string; province_abbreviation: string; province: string; province_slug: string; search_match_score: number; }