API recipes

Requests you can copy and run. Each one returns live data from the API.

Examples

Find recent permits in a European city

Programming language

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

Find recent permits in a European city
Permits are not only North American. This pulls properties in Westminster, in London, with a planning application in the last 180 days, each with the application itself. Permit records are carried in many countries of Europe and in South Korea too, with partial coverage in each.
Request
Shell session
curl -X GET "https://api.houski.ca/properties?api_key=YOUR_API_KEY&city=westminster&country_abbreviation=gb&expand=permits&expand_permit_application_date_gte=2026-05-16&filter_expand_match=all&page=1&province_abbreviation=eng&results_per_page=3&select=address,property_type,construction_year"
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', 'westminster');
    url.searchParams.set('country_abbreviation', 'gb');
    url.searchParams.set('expand', 'permits');
    url.searchParams.set('expand_permit_application_date_gte', '2026-05-16');
    url.searchParams.set('filter_expand_match', 'all');
    url.searchParams.set('page', '1');
    url.searchParams.set('province_abbreviation', 'eng');
    url.searchParams.set('results_per_page', '3');
    url.searchParams.set('select', 'address,property_type,construction_year');

    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.78999996,
  "data": [
    {
      "address": "9 Darwin House 104 Grosvenor Road",
      "construction_year": 2023,
      "permits": [
        {
          "expand_permit_application_date": "2026-09-04",
          "expand_permit_content": "Application number: 26/06052/COGADF|Planning authority: Westminster|Application type: Approval of details reserved by a condition (discharge)|Description: Details of contaminated land investigation reports for Block B, pursuant to Condition 19 (Part 4 - Validation report) of the planning permission dated 08 November 2021 (RN: 20/06899/COFUL)|Address: Darwin House 104 Grosvenor Road SW1V 3LH|Valid date: 2026-09-04|Decision: Approved|Decision date: 2026-09-24|Status: Approved|Ward: PSW_22|Application page: N/A",
          "expand_permit_id": "26/06052/COGADF",
          "expand_permit_type": "Development",
          "property_id": "10158276e12b9179"
        }
      ],
      "property_id": "10158276e12b9179",
      "property_type": "Apartment"
    },
    {
      "address": "10 72 Gloucester Place",
      "construction_year": 2016,
      "permits": [
        {
          "expand_permit_application_date": "2026-07-24",
          "expand_permit_content": "Application number: 26/04316/LBC|Planning authority: Westminster|Application type: Listed building consent|Description: Proposed replacement of 11 non-fire compliant flat entrance doors|Address: 72 Gloucester Place W1U 6HH|Valid date: 2026-07-24|Decision: Approved|Decision date: 2026-09-16|Status: Approved|Ward: MBW_22|Application page: N/A",
          "expand_permit_id": "26/04316/LBC",
          "expand_permit_type": "Development",
          "property_id": "106c56dc13b2d41d"
        }
      ],
      "property_id": "106c56dc13b2d41d",
      "property_type": "Apartment"
    },
    {
      "address": "4 Marylebone Mews",
      "construction_year": 2023,
      "permits": [
        {
          "expand_permit_application_date": "2026-07-03",
          "expand_permit_content": "Application number: 26/04439/FULL|Planning authority: Westminster|Application type: Householder planning & listed building consent|Description: Replacement of glazing to windows, clerestory, rooflights, entrance door and sidelights. [Linked to 26/04440/LBC]|Address: 4 Marylebone Mews W1G 8PY|Valid date: 2026-07-03|Decision: N/A|Decision date: N/A|Status: Application Under Consideration|Ward: MBW_22|Application page: N/A",
          "expand_permit_id": "26/04439/FULL",
          "expand_permit_type": "Development",
          "property_id": "107d7fbee231f4e1"
        },
        {
          "expand_permit_application_date": "2026-07-03",
          "expand_permit_content": "Application number: 26/04440/LBC|Planning authority: Westminster|Application type: Householder planning & listed building consent|Description: Internal refurbishment including replacement of glazing to windows, clerestory, rooflights, entrance door and sidelights and minor external alterations. [Linked to 26/04439/FULL]|Address: 4 Marylebone Mews W1G 8PY|Valid date: 2026-07-03|Decision: N/A|Decision date: N/A|Status: Application Under Consideration|Ward: MBW_22|Application page: N/A",
          "expand_permit_id": "26/04440/LBC",
          "expand_permit_type": "Development",
          "property_id": "107d7fbee231f4e1"
        }
      ],
      "property_id": "107d7fbee231f4e1",
      "property_type": "Townhouse"
    }
  ],
  "error": "",
  "pagination": {
    "current_page": 1,
    "has_next_page": true,
    "has_previous_page": false,
    "page_total": 835
  },
  "price_quote": false,
  "result_total": 2505,
  "time_ms": 4569,
  "ui_info": {
    "city": "Westminster",
    "city_id": "4a7188264444efe5",
    "city_link": "gb/eng/westminster",
    "city_slug": "westminster",
    "country": "United Kingdom",
    "country_abbreviation": "GB",
    "country_abbreviation_id": "90882893598cc98f",
    "country_abbreviation_link": "gb",
    "country_slug": "united_kingdom",
    "province": "England",
    "province_abbreviation": "ENG",
    "province_abbreviation_id": "5336aa935fab8e24",
    "province_abbreviation_link": "gb/eng",
    "province_slug": "england"
  }
}