!

/search

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

Overview

Fuzzy property search by address. Supports selection to customize returned fields.

Request parameters

NameRequiredTypeDescription
api_keyYesUUID v4Your API key for authorization
queryNoStringThe search query string
max_resultsNoInteger (default: 10)Maximum number of results per category (max: 10)
selectNoString - see selectingThe fields to return for each matched property - address and property_id are always selected

Response object

Type declarations are available at the bottom of this page.

NameTypeDescription
cache_hitBooleanIndicates if the data was retrieved from cache
cost_centsIntegerCost of the API call in cents
dataArray<Property>Array of Property objects matching the search query
errorStringError message (empty if no error)
match_metaArray<SearchMatchMeta>Array of search match metadata objects providing match scores for each result
price_quoteBooleanIndicates if this is a price quote request (no charge)
result_totalIntegerTotal number of results found
time_msIntegerTime taken for the request to complete in milliseconds

Property object

Each property contains fields chosen via select. Over 400 fields available.

See the Fields documentation for the full list.

SearchMatchMeta object

NameTypeDescription
property_idStringUnique identifier for the property
match_valueFloatRelevance score for how well the property matches the query

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": false,
  "cost_cents": 0.3999999463558197,
  "data": [
    {
      "address": "323 1436 Township Road 320",
      "address_link": "ca/ab/mountain-view-county/unknown/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/unknown/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/unknown/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/sunset-ridge/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/sunset-ridge/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": 650
}

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

// You can find the Property type on the /properties endpoint API docs
// https://www.houski.ca/api-documentation/properties