!

API recipes

Practical examples for using the Houski API.

Examples

Get properties with listing history

Programming language

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

Get for sale listing history for properties
Pull Calgary properties with listing data. filter_expand_match restricts results to properties that have listing data.
Request
Shell session
curl -X GET "https://api.houski.ca/properties?api_key=YOUR_API_KEY&city=calgary&country_abbreviation=ca&expand=listings&filter_expand_match=all&page=1&province_abbreviation=ab&results_per_page=3&select=address,estimate_list_price"
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', 'calgary');
    url.searchParams.set('country_abbreviation', 'ca');
    url.searchParams.set('expand', 'listings');
    url.searchParams.set('filter_expand_match', 'all');
    url.searchParams.set('page', '1');
    url.searchParams.set('province_abbreviation', 'ab');
    url.searchParams.set('results_per_page', '3');
    url.searchParams.set('select', 'address,estimate_list_price');

    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": true,
  "cost_cents": 0.4599999785423279,
  "data": [
    {
      "address": "52 Cedargrove Way SW",
      "estimate_list_price": 635789,
      "listings": [
        {
          "expand_estimate_list_price": 574900,
          "expand_listing_date": "2022-07-26",
          "expand_listing_event": "Listed",
          "property_id": "1000c277cd905d3b"
        },
        {
          "expand_estimate_list_price": 555000,
          "expand_listing_date": "2022-08-04",
          "expand_listing_event": "Price decrease",
          "property_id": "1000c277cd905d3b"
        },
        {
          "expand_estimate_list_price": 539000,
          "expand_listing_date": "2022-08-30",
          "expand_listing_event": "Price decrease",
          "property_id": "1000c277cd905d3b"
        },
        {
          "expand_estimate_list_price": 525000,
          "expand_listing_date": "2022-09-08",
          "expand_listing_event": "Unlisted",
          "property_id": "1000c277cd905d3b"
        },
        {
          "expand_estimate_list_price": 539000,
          "expand_listing_date": "2022-09-15",
          "expand_listing_event": "Unlisted",
          "property_id": "1000c277cd905d3b"
        }
      ],
      "property_id": "1000c277cd905d3b"
    },
    {
      "address": "48 Catalina Circle NE",
      "estimate_list_price": 351905,
      "listings": [
        {
          "expand_estimate_list_price": 419900,
          "expand_listing_date": "2024-08-07",
          "expand_listing_event": "Listed",
          "property_id": "10019b3ca95ab014"
        },
        {
          "expand_estimate_list_price": 415000,
          "expand_listing_date": "2024-09-20",
          "expand_listing_event": "Price decrease",
          "property_id": "10019b3ca95ab014"
        },
        {
          "expand_estimate_list_price": 415000,
          "expand_listing_date": "2024-10-19",
          "expand_listing_event": "Unlisted",
          "property_id": "10019b3ca95ab014"
        }
      ],
      "property_id": "10019b3ca95ab014"
    },
    {
      "address": "6535 54 Street NW",
      "estimate_list_price": 693680,
      "listings": [
        {
          "expand_estimate_list_price": 640000,
          "expand_listing_date": "2023-09-17",
          "expand_listing_event": "Listed",
          "property_id": "10030424b41ab29b"
        },
        {
          "expand_estimate_list_price": 640000,
          "expand_listing_date": "2023-09-28",
          "expand_listing_event": "Unlisted",
          "property_id": "10030424b41ab29b"
        }
      ],
      "property_id": "10030424b41ab29b"
    }
  ],
  "error": "",
  "pagination": {
    "current_page": 1,
    "has_next_page": true,
    "has_previous_page": false,
    "page_total": 35349
  },
  "price_quote": false,
  "result_total": 106045,
  "time_ms": 134,
  "ui_info": {
    "city": "Calgary",
    "city_id": "6ec95b53075d062c",
    "city_link": "ca/ab/calgary",
    "city_slug": "calgary",
    "country": "Canada",
    "country_abbreviation": "CA",
    "country_abbreviation_id": "9ace2b6431b7f1be",
    "country_abbreviation_link": "ca",
    "country_slug": "canada",
    "province": "Alberta",
    "province_abbreviation": "AB",
    "province_abbreviation_id": "aae1f05a0f89d2c7",
    "province_abbreviation_link": "ca/ab",
    "province_slug": "alberta"
  }
}