!

/search

GET
https://api.houski.ca/search

Overview

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.

Request parameters

NameRequiredTypeDescription
api_keyYesUUID v4Your API key for authorization
queryNoStringThe search query string
max_resultsNoNumber (default: 10)Maximum number of results per category (max: 10)

Response object

Type declarations are available at the bottom of this page.

FieldTypeDescription
cache_hitBooleanIndicates if the data was retrieved from cache
cost_centsNumberCost of the API call in cents
dataArrayArray of Property objects matching the search
errorStringError message (empty if no error)
match_metaArrayArray of objects
price_quoteBooleanIndicates if this is a price quote request
result_totalNumberTotal number of results
time_msNumberTime taken for the request in milliseconds

Example requests and responses

Programming language

Select the programming language you want to display the code examples in.

Search for properties by address
Get properties matching the search query '323 141 mountain green vale'.
Request
Shell session
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"
TypeScript code
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);
})();
Response
JSON
{
  "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
}

Response type declarations

TypeScript code
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;
}