This page contains examples of common use cases for the Houski API.
You can copy and paste the code examples into your own application.
Select the programming language you want to display the code examples in.
curl -X GET "https://api.houski.ca/properties?api_key=YOUR_API_KEY&city=calgary&country_abbreviation=ca&expand=permits&expand_permit_application_date_gt=2024-06-06&expand_permit_content_regex=(?i)\b(secondary|suite)\b&filter_expand_match=all&province_abbreviation=ab&results_per_page=3"
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', 'permits'); url.searchParams.set('expand_permit_application_date_gt', '2024-06-06'); url.searchParams.set('expand_permit_content_regex', '(?i)\b(secondary|suite)\b'); url.searchParams.set('filter_expand_match', 'all'); url.searchParams.set('province_abbreviation', 'ab'); url.searchParams.set('results_per_page', '3'); 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); })();
{ "cache_hit": false, "cost_cents": 0.6299999952316284, "data": [ { "address": "2804 Morley Trail NW", "permits": [ { "expand_permit_application_date": "2024-08-19", "expand_permit_content": "Status: In Circulation|Category: Residential - Multi-Family|Description: NEW: TOWNHOUSE (1 BUILDING), SECONDARY SUITES (4 SUITES), ACCESSORY RESIDENTIAL BUILDING (GARAGE)|Proposed use code: C1020; C2626; C2870|Proposed use description: ACCESSORY RESIDENTIAL BUILDING; SECONDARY SUITE; TOWNHOUSE|Permitted/discretionary: Discretionary|Land use district: R-CG|Land use district description: Residential - Grade-Oriented Infill|Concurrent LOC: N/A|Decision: N/A|Decision by: N/A|Decision date: N/A|Canceled/refused date: N/A|SDAB Number: N/A|SDAB hearing date: N/A|SDAB Decision: N/A|SDAB decision date: N/A", "expand_permit_id": "DP2024-06039", "expand_permit_type": "Development", "property_id": "103595a7656ef605" } ], "property_id": "103595a7656ef605" }, { "address": "7343 Huntley Road NE", "permits": [ { "expand_permit_application_date": "2024-10-07", "expand_permit_content": "Status: New|Issued date: N/A|Completed date: N/A|Estimated project cost: 2500.0|Permit class: Secondary Suites|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: Alteration|Work class group: Improvement|Work class mapped: Existing|applicant: KTRAN DESIGN AND DRAFTING|contractor: N/A|estimated project cost: 2500.0|Total square feet affected: N/A|Housing units affected: 1", "expand_permit_id": "BP2024-21285", "expand_permit_type": "Building", "property_id": "1039860dac72fced" } ], "property_id": "1039860dac72fced" }, { "address": "152 Savanna Drive NE", "permits": [ { "expand_permit_application_date": "2024-10-22", "expand_permit_content": "Status: Issued Permit|Issued date: 2024-11-06T00:00:00.000|Completed date: N/A|Estimated project cost: 79732.29|Permit class: Secondary Suites|Permit type: Residential Improvement Project|Permit type mapped: Building|Work class: Alteration|Work class group: Improvement|Work class mapped: Existing|applicant: N/A|contractor: N/A|estimated project cost: 79732.29|Total square feet affected: N/A|Housing units affected: 1", "expand_permit_id": "BP2024-22450", "expand_permit_type": "Building", "property_id": "10422b6a629216e4" } ], "property_id": "10422b6a629216e4" } ], "error": "", "pagination": { "current_page": 1, "has_next_page": true, "has_previous_page": false, "page_total": 627 }, "price_quote": false, "result_total": 1879, "time_ms": 1024, "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" } }