/search

GET
http://127.0.0.1:8080/search

Overview

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

Request parameters

NameRequiredTypeDescription
api_keyYesUUID v4Your API key for authorization
queryYesStringThe address to search for. An empty value returns no matches rather than an error.
max_resultsNoInteger (default: 10)How many matches to return, best match first (max: 25). This endpoint does not page: use /properties to work through a large result set.
country_abbreviationNoStringOnly return matches from one country, ca or us. By default the search ranks across every country, and a query that includes a province, a state, or a postal code ranks its own country first on its own. Set this when a result must never contain a property from the other country.
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 "http://127.0.0.1:8080/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('http://127.0.0.1:8080/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": 0.3999999463558197,
  "data": [
    {
      "address": "4541 W Hidden Valley Road",
      "address_link": "us/ut/mountain-green/unknown/4541-w-hidden-valley-road",
      "city": "Mountain Green",
      "country": "United States",
      "country_abbreviation": "US",
      "property_id": "19bde4f32cd96da",
      "province": "Utah",
      "province_abbreviation": "UT"
    },
    {
      "address": "3277 Basin View Circle",
      "address_link": "us/ut/mountain-green/unknown/3277-basin-view-circle",
      "city": "Mountain Green",
      "country": "United States",
      "country_abbreviation": "US",
      "property_id": "2de555832347ae2e",
      "province": "Utah",
      "province_abbreviation": "UT"
    },
    {
      "address": "3286 Basin View Circle",
      "address_link": "us/ut/mountain-green/unknown/3286-basin-view-circle",
      "city": "Mountain Green",
      "country": "United States",
      "country_abbreviation": "US",
      "property_id": "333f7b52b03d12f",
      "province": "Utah",
      "province_abbreviation": "UT"
    },
    {
      "address": "3323 Fairfield Circle",
      "address_link": "us/ut/mountain-green/unknown/3323-fairfield-circle",
      "city": "Mountain Green",
      "country": "United States",
      "country_abbreviation": "US",
      "property_id": "4707991d2890675",
      "province": "Utah",
      "province_abbreviation": "UT"
    },
    {
      "address": "3262 Basin View Circle",
      "address_link": "us/ut/mountain-green/unknown/3262-basin-view-circle",
      "city": "Mountain Green",
      "country": "United States",
      "country_abbreviation": "US",
      "property_id": "4c8228b0d809ee04",
      "province": "Utah",
      "province_abbreviation": "UT"
    }
  ],
  "error": "",
  "match_meta": [
    {
      "match_value": 0.6428571343421936,
      "property_id": "19bde4f32cd96da"
    },
    {
      "match_value": 0.6428571343421936,
      "property_id": "2de555832347ae2e"
    },
    {
      "match_value": 0.6428571343421936,
      "property_id": "333f7b52b03d12f"
    },
    {
      "match_value": 0.6428571343421936,
      "property_id": "4707991d2890675"
    },
    {
      "match_value": 0.6428571343421936,
      "property_id": "4c8228b0d809ee04"
    }
  ],
  "price_quote": false,
  "result_total": 5,
  "time_ms": 171
}

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