!

API Recipes

Learn how to use the Houski API with practical examples.

Find luxury homes over $1M with pools

Programming language

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

Find luxury homes with specific features
Search for high-value properties with specific amenities. This example finds homes over $1M with pools in Vancouver.
Request
Shell session
curl -X GET "https://api.houski.ca/properties?api_key=YOUR_API_KEY&city=vancouver&country_abbreviation=ca&estimate_list_price_gte=1000000&has_private_outdoor_swimming_pool_eq=true&property_type_eq=House&province_abbreviation=bc&results_per_page=5&select=address,estimate_list_price,interior_sq_m,bedroom,bathroom_full"
TypeScript code
const houski_recipe_data = async (): Promise<PropertiesResponse> => {

    // You must copy the PropertiesResponse type declarations from the 
    // Houski API documentation to strongly type the response

    const url = new URL('https://api.houski.ca/properties');
    url.searchParams.set('api_key', 'YOUR_API_KEY');
    url.searchParams.set('city', 'vancouver');
    url.searchParams.set('country_abbreviation', 'ca');
    url.searchParams.set('estimate_list_price_gte', '1000000');
    url.searchParams.set('has_private_outdoor_swimming_pool_eq', 'true');
    url.searchParams.set('property_type_eq', 'House');
    url.searchParams.set('province_abbreviation', 'bc');
    url.searchParams.set('results_per_page', '5');
    url.searchParams.set('select', 'address,estimate_list_price,interior_sq_m,bedroom,bathroom_full');

    const response = await fetch(url);
    const data = await response.json();

    return data;
}

(async () => {
let data: PropertiesResponse = await houski_recipe_data();

// Log the response
console.log(data);
})();
Response
JSON
{
  "cache_hit": false,
  "cost_cents": 3.0,
  "data": [
    {
      "address": "1350 W 32 Avenue",
      "bathroom_full": 8,
      "bedroom": 8,
      "estimate_list_price": 1776505,
      "interior_sq_m": 109.99715423583984,
      "property_id": "1191b00bec1043ab"
    },
    {
      "address": "1903 W 37 Avenue",
      "bathroom_full": 4,
      "bedroom": 6,
      "estimate_list_price": 2874377,
      "interior_sq_m": 275.2694091796875,
      "property_id": "1495f4f3ceb5aafa"
    },
    {
      "address": "1638 Marpole Avenue",
      "bathroom_full": 8,
      "bedroom": 5,
      "estimate_list_price": 1796848,
      "interior_sq_m": 109.99715423583984,
      "property_id": "15d460b578e6618b"
    },
    {
      "address": "5583 Cypress Street",
      "bathroom_full": 4,
      "bedroom": 5,
      "estimate_list_price": 2157209,
      "interior_sq_m": 109.99715423583984,
      "property_id": "1769767da99b3089"
    },
    {
      "address": "2709 W 49 Avenue",
      "bathroom_full": 8,
      "bedroom": 5,
      "estimate_list_price": 1915862,
      "interior_sq_m": 109.99715423583984,
      "property_id": "17b0f9267ef41b9c"
    }
  ],
  "error": "",
  "pagination": {
    "current_page": 1,
    "has_next_page": true,
    "has_previous_page": false,
    "page_total": 20
  },
  "price_quote": false,
  "result_total": 97,
  "time_ms": 99,
  "ui_info": {
    "city": "Vancouver",
    "city_id": "3d4b9ab2229768be",
    "city_link": "ca/bc/vancouver",
    "city_slug": "vancouver",
    "country": "Canada",
    "country_abbreviation": "CA",
    "country_abbreviation_id": "9ace2b6431b7f1be",
    "country_abbreviation_link": "ca",
    "country_slug": "canada",
    "province": "British Columbia",
    "province_abbreviation": "BC",
    "province_abbreviation_id": "84b27e64bc119a2",
    "province_abbreviation_link": "ca/bc",
    "province_slug": "british-columbia"
  }
}