!

API recipes

Practical examples for using the Houski API.

Examples

Find assessment vs market value gaps

Programming language

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

Find properties assessed above their market estimate
Pull Calgary properties whose assessment value is at least $50,000 higher than our estimated sale price. The assessment_vs_estimate field returns the computed difference, useful for property tax appeal prospecting and screening for mispriced properties.
Request
Shell session
curl -X GET "https://api.houski.ca/properties?api_key=YOUR_API_KEY&assessment_vs_estimate_gt=50000&city=calgary&country_abbreviation=ca&page=1&province_abbreviation=ab&results_per_page=3&select=address,assessment_value,assessment_year,estimate_sale_price,assessment_vs_estimate,property_taxes"
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('assessment_vs_estimate_gt', '50000');
    url.searchParams.set('city', 'calgary');
    url.searchParams.set('country_abbreviation', 'ca');
    url.searchParams.set('page', '1');
    url.searchParams.set('province_abbreviation', 'ab');
    url.searchParams.set('results_per_page', '3');
    url.searchParams.set('select', 'address,assessment_value,assessment_year,estimate_sale_price,assessment_vs_estimate,property_taxes');

    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": 1.559999942779541,
  "data": [
    {
      "address": "239 Dalhurst Way NW",
      "assessment_value": 1110000,
      "assessment_vs_estimate": 97278,
      "assessment_year": 2026,
      "estimate_sale_price": 1012722,
      "property_id": "100086f6bc064d3f",
      "property_taxes": 6860
    },
    {
      "address": "117 Sandpiper Place NW",
      "assessment_value": 764500,
      "assessment_vs_estimate": 51899,
      "assessment_year": 2026,
      "estimate_sale_price": 712601,
      "property_id": "1001217184d8717b",
      "property_taxes": 4725
    },
    {
      "address": "2206 10 Avenue SW",
      "assessment_value": 15870000,
      "assessment_vs_estimate": 12489307,
      "assessment_year": 2026,
      "estimate_sale_price": 3380693,
      "property_id": "10023888bdd1ce5d",
      "property_taxes": 65535
    }
  ],
  "error": "",
  "pagination": {
    "current_page": 1,
    "has_next_page": true,
    "has_previous_page": false,
    "page_total": 16433
  },
  "price_quote": false,
  "result_total": 49297,
  "time_ms": 67,
  "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"
  }
}