The /search endpoint provides fuzzy search functionality for properties, based on address information. It supports our standard selection functionality, allowing you to customize the fields returned for each property in the response. This enables efficient retrieval of relevant property data with flexible and forgiving search capabilities.
Name | Required | Type | Description |
---|---|---|---|
api_key | Yes | UUID v4 | Your API key for authorization |
query | No | String | The search query string |
max_results | No | Number (default: 10) | Maximum number of results per category (max: 10) |
Type declarations are available at the bottom of this page.
Field | Type | Description |
---|---|---|
cache_hit | Boolean | Indicates if the data was retrieved from cache |
cost_cents | Number | Cost of the API call in cents |
data | Array | Array of Property objects matching the search |
error | String | Error message (empty if no error) |
match_meta | Array | Array of objects |
price_quote | Boolean | Indicates if this is a price quote request |
result_total | Number | Total number of results |
time_ms | Number | Time taken for the request in milliseconds |
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&max_results=5&query=323 141 mountain green vale&select=address, city, province,province_abbreviation,country,country_abbreviation,address_link"
const houski_get_search = 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('max_results', '5'); url.searchParams.set('query', '323 141 mountain green vale'); url.searchParams.set('select', 'address, city, province,province_abbreviation,country,country_abbreviation,address_link'); const response = await fetch(url); const data = await response.json(); return data; } (async () => { let data: SearchResponse = await houski_get_search(); // Log the response console.log(data); })();
{ "cache_hit": true, "cost_cents": 4.000000476837158, "data": [ { "address": "323 1436 Township Road 320", "address_link": "ca/ab/mountain-view-county/beltline/323-1436-township-road-320", "city": "Mountain View County", "country": "Canada", "country_abbreviation": "CA", "property_id": "197966d84f90b0d8", "province": "Alberta", "province_abbreviation": "AB" }, { "address": "325 Green Mountain Road East", "address_link": "ca/on/hamilton/beltline/325-green-mountain-road-east", "city": "Hamilton", "country": "Canada", "country_abbreviation": "CA", "property_id": "437e7e92d044d77a", "province": "Ontario", "province_abbreviation": "ON" }, { "address": "324 Green Mountain Road E", "address_link": "ca/on/hamilton/beltline/324-green-mountain-road-e", "city": "Hamilton", "country": "Canada", "country_abbreviation": "CA", "property_id": "80eaf8d69a9e2916", "province": "Ontario", "province_abbreviation": "ON" }, { "address": "303 141 Mountain Street", "address_link": "ca/ab/cochrane/beltline/303-141-mountain-street", "city": "Cochrane", "country": "Canada", "country_abbreviation": "CA", "property_id": "88a809b64b860dea", "province": "Alberta", "province_abbreviation": "AB" }, { "address": "313 141 Mountain Street", "address_link": "ca/ab/cochrane/beltline/313-141-mountain-street", "city": "Cochrane", "country": "Canada", "country_abbreviation": "CA", "property_id": "8f265db176cbe42a", "province": "Alberta", "province_abbreviation": "AB" } ], "error": "", "match_meta": [ { "match_value": 0.5357142686843872, "property_id": "197966d84f90b0d8" }, { "match_value": 0.5357142686843872, "property_id": "437e7e92d044d77a" }, { "match_value": 0.5357142686843872, "property_id": "80eaf8d69a9e2916" }, { "match_value": 0.5357142686843872, "property_id": "88a809b64b860dea" }, { "match_value": 0.5357142686843872, "property_id": "8f265db176cbe42a" } ], "price_quote": false, "result_total": 5, "time_ms": 1008 }
interface SearchResponse { cache_hit: boolean; cost_cents: number; data: Property[]; error: string; match_meta: SearchMatchMeta[]; price_quote: boolean; result_total: number; time_ms: number; } interface SearchMatchMeta { property_id: string; match_value: number; }