This endpoint performs 'reverse geocoding', which translates a geographic point (latitude and longitude) into relevant nearby property information.
For 'forward geocoding' - converting street addresses into geographic coordinates - please refer to the /search endpoint. Additionally, the /properties endpoint allows you to find properties via custom bounding boxes and polygons.
This endpoint conforms to Houski API's standard filtering, sorting, and selection functionality. Please note by default this endpoint sorts by nearest distance first.
To see all the fields that can be selected, filtered or sorted by, see the fields page.
To find data on all available location values, such as country_abbreviation, province_abbreviation, city and community, you can use the /locations endpoint.
Name | Required | Type | Description |
---|---|---|---|
api_key | Yes | UUID v4 | Authorization API key |
latitude | Yes | Number | The latitude of the point to search for properties |
longitude | Yes | Number | The longitude of the point to search for properties |
radius | No | Number | The radius in kilometers to search for properties |
shape | No | String | Can either be 'circle' (default) or 'square'. |
results_per_page | No | Integer | Number of results per page |
select | No | String - see selecting | The fields to return - address and property_id are always selected |
Type declarations are available at the bottom of this page.
Name | Type | Description |
---|---|---|
cache_hit | Boolean | Indicates if the response was a cache hit |
cost_cents | Number | Cost of the request in cents |
data | Array of objects | Contains the data for the properties |
error | String | Details about the error. Empty if no error |
pagination | Object | Contains pagination info like current page and total pages |
price_quote | Boolean | Indicates whether the response is a price quote |
result_total | Number | The total number of results |
time_ms | Number | Time taken for the request to complete in milliseconds |
ui_info | Object | Data to create user interfaces |
Select the programming language you want to display the code examples in.
Get properties around a point.
curl -X GET "https://api.houski.ca/geocoding?api_key=YOUR_API_KEY&latitude=51.0447&longitude=-114.0719&radius=2&select=latitude,longitude,bedroom,den,bathroom_full,bathroom_half&shape=circle"
const houski_geocoding = async (): Promise<GeocodingResponse> => { // You must copy the GeocodingResponse type declarations from the // Houski API documentation to strongly type the response const url = new URL('https://api.houski.ca/geocoding'); url.searchParams.set('api_key', 'YOUR_API_KEY'); url.searchParams.set('latitude', '51.0447'); url.searchParams.set('longitude', '-114.0719'); url.searchParams.set('radius', '2'); url.searchParams.set('select', 'latitude,longitude,bedroom,den,bathroom_full,bathroom_half'); url.searchParams.set('shape', 'circle'); const response = await fetch(url); const data = await response.json(); return data; } (async () => { let data: GeocodingResponse = await houski_geocoding(); // Log the response console.log(data); })();
{ "cache_hit": true, "cost_cents": 4.800000190734863, "data": [ { "address": "366 94 Avenue SE", "bathroom_full": 1, "bathroom_half": 0, "bedroom": 2, "den": 0, "latitude": 51.044734954833984, "longitude": -114.07188415527344, "property_id": "a5a3a5b87c6b5fe7" }, { "address": "513 9 Avenue SW", "bathroom_full": 2, "bathroom_half": 0, "bedroom": 3, "den": 0, "latitude": 51.0445442199707, "longitude": -114.07219696044922, "property_id": "e9baf46145362e25" }, { "address": "520 9 Avenue SW", "bathroom_full": 2, "bathroom_half": 0, "bedroom": 3, "den": 0, "latitude": 51.04524612426758, "longitude": -114.07220458984376, "property_id": "8808ff7c79ba3508" }, { "address": "525 8 Avenue SW", "bathroom_full": 2, "bathroom_half": 0, "bedroom": 3, "den": 0, "latitude": 51.04531478881836, "longitude": -114.0724105834961, "property_id": "301a806c3b139f6" }, { "address": "505 8 Avenue SW", "bathroom_full": 2, "bathroom_half": 0, "bedroom": 3, "den": 0, "latitude": 51.04551315307617, "longitude": -114.07183837890624, "property_id": "3848dc60cd88ee55" }, { "address": "524 10 Avenue SW", "bathroom_full": 2, "bathroom_half": 0, "bedroom": 3, "den": 0, "latitude": 51.043907165527344, "longitude": -114.07218933105467, "property_id": "cc8a04767d8753ff" } ], "error": "", "pagination": { "current_page": 1, "has_next_page": true, "has_previous_page": false, "page_total": 4842 }, "price_quote": false, "result_total": 29047, "time_ms": 17 }
interface GeocodingResponse { cache_hit: boolean; cost_cents: number; data: Property[]; error: string; pagination: Pagination; price_quote: boolean; result_total: number; time_ms: number; } interface Pagination { current_page: number; has_next_page: boolean; has_previous_page: boolean; page_total: number; } interface Property { city_id?: string | null; community_id?: string | null; country_abbreviation_id?: string | null; list_price_vs_estimate?: number | null; assessment_vs_estimate?: number | null; country_abbreviation_link?: string | null; province_abbreviation_link?: string | null; city_link?: string | null; community_link?: string | null; demographic_age_average_of_the_population?: number | null; demographic_age_median_of_the_population?: number | null; demographic_municipal_population_density_sq_km?: number | null; demographic_employment_pre_tax_income_percent?: number | null; demographic_employment_insurance_benefit_percent?: number | null; demographic_covid_19_government_pre_tax_income_support_and_benefit_percent?: number | null; demographic_language_most_spoken_first?: string | null; demographic_language_most_spoken_second?: string | null; demographic_language_most_spoken_third?: string | null; demographic_language_most_spoken_fourth?: string | null; demographic_language_most_spoken_fifth?: string | null; demographic_language_most_spoken_first_percent?: number | null; demographic_language_most_spoken_second_percent?: number | null; demographic_language_most_spoken_third_percent?: number | null; demographic_language_most_spoken_fourth_percent?: number | null; demographic_language_most_spoken_fifth_percent?: number | null; demographic_municipal_population?: number | null; demographic_municipal_population_male_percent?: number | null; demographic_municipal_population_female_percent?: number | null; demographic_dwellings_occupied_percent?: number | null; demographic_income_median_pre_tax?: number | null; demographic_income_median_after_tax?: number | null; demographic_income_average_pre_tax?: number | null; demographic_income_average_after_tax?: number | null; demographic_median_covid_19_emergency_and_recovery_benefits?: number | null; demographic_age_0_to_4_years_percent?: number | null; demographic_age_5_to_9_years_percent?: number | null; demographic_age_10_to_14_years_percent?: number | null; demographic_age_15_to_19_years_percent?: number | null; demographic_age_20_to_24_years_percent?: number | null; demographic_age_25_to_29_years_percent?: number | null; demographic_age_30_to_34_years_percent?: number | null; demographic_age_35_to_39_years_percent?: number | null; demographic_age_40_to_44_years_percent?: number | null; demographic_age_45_to_49_years_percent?: number | null; demographic_age_50_to_54_years_percent?: number | null; demographic_age_55_to_59_years_percent?: number | null; demographic_age_60_to_64_years_percent?: number | null; demographic_age_65_to_69_years_percent?: number | null; demographic_age_70_to_74_years_percent?: number | null; demographic_age_75_to_79_years_percent?: number | null; demographic_age_80_to_84_years_percent?: number | null; demographic_age_85_to_89_years_percent?: number | null; demographic_age_90_to_94_years_percent?: number | null; demographic_age_95_to_99_years_percent?: number | null; demographic_age_100_years_and_over_percent?: number | null; demographic_household_size_1_person_percent?: number | null; demographic_household_size_2_persons_percent?: number | null; demographic_household_size_3_persons_percent?: number | null; demographic_household_size_4_persons_percent?: number | null; demographic_household_size_5_or_more_persons_percent?: number | null; demographic_household_type_family_with_children_percent?: number | null; demographic_household_type_family_without_children_percent?: number | null; demographic_household_type_single_with_children_percent?: number | null; demographic_household_type_single_without_children_percent?: number | null; demographic_marital_status_married_percent?: number | null; demographic_marital_status_common_law_percent?: number | null; demographic_marital_status_single_percent?: number | null; demographic_income_under_10000_percent?: number | null; demographic_income_10000_to_19999_percent?: number | null; demographic_income_20000_to_29999_percent?: number | null; demographic_income_30000_to_39999_percent?: number | null; demographic_income_40000_to_49999_percent?: number | null; demographic_income_50000_to_59999_percent?: number | null; demographic_income_60000_to_69999_percent?: number | null; demographic_income_70000_to_79999_percent?: number | null; demographic_income_80000_to_89999_percent?: number | null; demographic_income_90000_to_99999_percent?: number | null; demographic_income_100000_to_149999_percent?: number | null; demographic_income_150000_and_over_percent?: number | null; demographic_education_level_no_certificate_diploma_or_degree_percent?: number | null; demographic_education_level_high_school_diploma_or_equivalency_certificate_percent?: number | null; demographic_education_level_apprenticeship_or_trades_certificate_or_diploma_percent?: number | null; demographic_education_level_bachelors_degree_percent?: number | null; demographic_education_level_degree_in_medicine_dentistry_veterinary_medicine_or_optometry_percent?: number | null; demographic_education_level_masters_degree_percent?: number | null; demographic_education_level_earned_doctorate_percent?: number | null; demographic_education_degree_teaching_percent?: number | null; demographic_education_degree_humanities_percent?: number | null; demographic_education_degree_social_and_behavioral_sciences_and_law_percent?: number | null; demographic_education_degree_business_management_and_public_administration_percent?: number | null; demographic_education_degree_physical_and_life_sciences_and_technologies_percent?: number | null; demographic_education_degree_mathematics_computer_and_information_sciences_percent?: number | null; demographic_education_degree_architecture_engineering_and_related_trades_percent?: number | null; demographic_education_degree_agriculture_natural_resources_and_conservation_percent?: number | null; demographic_education_degree_health_and_related_fields_percent?: number | null; demographic_education_degree_personal_protective_and_transportation_services_percent?: number | null; demographic_employment_employed_percent?: number | null; demographic_employment_unemployed_percent?: number | null; demographic_employment_occupations_legislative_and_senior_management_occupations_percent?: number | null; demographic_employment_occupations_business_finance_and_administration_occupations_percent?: number | null; demographic_employment_occupations_natural_and_applied_sciences_and_related_occupations_percent?: number | null; demographic_employment_occupations_health_occupations_percent?: number | null; demographic_employment_occupations_in_education_law_and_social_community_and_government_services_percent?: number | null; demographic_employment_occupations_in_art_culture_recreation_and_sport_percent?: number | null; demographic_employment_occupations_sales_and_service_occupations_percent?: number | null; demographic_employment_occupations_trades_transport_and_equipment_operators_and_related_occupations_percent?: number | null; demographic_employment_occupations_natural_resources_agriculture_and_related_production_occupations_percent?: number | null; demographic_employment_occupations_in_manufacturing_and_utilities_percent?: number | null; demographic_employment_industries_agriculture_forestry_fishing_and_hunting_percent?: number | null; demographic_employment_industries_mining_quarrying_and_oil_and_gas_extraction_percent?: number | null; demographic_employment_industries_utilities_percent?: number | null; demographic_employment_industries_construction_percent?: number | null; demographic_employment_industries_manufacturing_percent?: number | null; demographic_employment_industries_wholesale_trade_percent?: number | null; demographic_employment_industries_retail_trade_percent?: number | null; demographic_employment_industries_transportation_and_warehousing_percent?: number | null; demographic_employment_industries_information_and_cultural_industries_percent?: number | null; demographic_employment_industries_finance_and_insurance_percent?: number | null; demographic_employment_industries_real_estate_and_rental_and_leasing_percent?: number | null; demographic_employment_industries_professional_scientific_and_technical_services_percent?: number | null; demographic_employment_industries_management_of_companies_and_enterprises_percent?: number | null; demographic_employment_industries_administrative_and_support_waste_management_and_remediation_services_percent?: number | null; demographic_employment_industries_educational_services_percent?: number | null; demographic_employment_industries_health_care_and_social_assistance_percent?: number | null; demographic_employment_industries_arts_entertainment_and_recreation_percent?: number | null; demographic_employment_industries_accommodation_and_food_services_percent?: number | null; demographic_employment_industries_other_services_percent?: number | null; demographic_employment_industries_public_administration_percent?: number | null; demographic_transportation_car_truck_or_van_percent?: number | null; demographic_transportation_public_transit_percent?: number | null; demographic_transportation_walk_percent?: number | null; demographic_transportation_bicycle_percent?: number | null; assessments?: Assessment[] | null; listings?: Listing[] | null; permits?: Permit[] | null; address_link?: string | null; address_slug?: string | null; address?: string | null; air_cleaner_brand?: string | null; air_cleaner_install_year?: number | null; air_cleaner_type?: string | null; architecture_style?: string | null; assessment_value?: number | null; assessment_year?: number | null; attic_is_functional?: boolean | null; backs_onto?: string | null; balcony_type_first?: string | null; balcony_type_second?: string | null; balcony_type_third?: string | null; basement_ceiling_height_m?: number | null; basement_finish?: string | null; basement_has_crawlspace?: boolean | null; basement_has_entrance?: boolean | null; basement_is_walkout?: boolean | null; basement_type?: string | null; basement_year_last_renovated?: number | null; bathroom_full?: number | null; bathroom_total?: number | null; bathroom_half?: number | null; bathroom_year_last_renovated?: number | null; bedroom_year_last_renovated?: number | null; bedroom?: number | null; bedroom_total?: number | null; building_name?: string | null; carport_parking_space?: number | null; cat_allowed_by_bylaw_require_approval?: boolean | null; cat_allowed_by_bylaw?: boolean | null; ceiling_height_m?: number | null; ceiling_is_vaulted?: boolean | null; ceiling_style?: string | null; city_slug?: string | null; city?: string | null; commercial_use?: string | null; community_slug?: string | null; community?: string | null; community_source?: string | null; construction_material?: string | null; construction_year?: number | null; converted_to_commercial_use?: boolean | null; converted_to_residential_use?: boolean | null; cooling_brand_first?: string | null; cooling_install_year_first?: number | null; cooling_type_first?: string | null; cooling_type_second?: string | null; country_abbreviation?: string | null; country_slug?: string | null; country?: string | null; den?: number | null; direction_facing?: string | null; dog_allowed_by_bylaw_require_approval?: boolean | null; dog_allowed_by_bylaw?: boolean | null; driveway_parking_space?: number | null; electricity_provider?: string | null; elevator?: number | null; estimate_list_price?: number | null; estimate_sale_price_per_sq_m?: number | null; estimate_monthly_electrical_cost?: number | null; estimate_monthly_heat_cost?: number | null; estimate_monthly_water_cost?: number | null; estimate_political_lean?: number | null; estimate_rent_monthly_room?: number | null; estimate_rent_monthly_suite_basement?: number | null; estimate_rent_monthly_suite_main?: number | null; estimate_rent_monthly?: number | null; estimate_sale_price?: number | null; exterior_finish?: string | null; exterior_year_last_renovated?: number | null; fence_type?: string | null; fire_suppression_type?: string | null; fireplace?: number | null; floor_above_ground?: number | null; floor_below_ground?: number | null; floor_material_type_first?: string | null; floor_material_type_second?: string | null; floor_plan_type?: string | null; for_rent_by?: string | null; for_rent_cat_allowed_by_owner?: boolean | null; for_rent_dog_allowed_by_owner?: boolean | null; for_rent_has_own_laundry?: boolean | null; for_rent_has_seperate_external_entrance?: boolean | null; for_rent_what_is?: string | null; for_rent?: boolean | null; for_sale_by?: string | null; for_sale?: boolean | null; foundation_type?: string | null; fronts_onto?: string | null; garage_240v_first?: boolean | null; garage_240v_second?: boolean | null; garage_floor_above_ground_first?: number | null; garage_floor_above_ground_second?: number | null; garage_floor_below_ground_first?: number | null; garage_floor_below_ground_second?: number | null; garage_heating_type_first?: string | null; garage_heating_type_second?: string | null; garage_parking_space_first?: number | null; garage_parking_space_second?: number | null; garage_tandem_first?: boolean | null; garage_tandem_second?: boolean | null; garage_type_first?: string | null; garage_type_second?: string | null; gas_provider?: string | null; has_assigned_storage_space?: boolean | null; has_backyard?: boolean | null; has_frontyard?: boolean | null; has_private_indoor_gym?: boolean | null; has_private_indoor_hot_tub?: boolean | null; has_private_indoor_sauna?: boolean | null; has_private_indoor_swimming_pool?: boolean | null; has_private_indoor_workshop?: boolean | null; has_private_outdoor_gym?: boolean | null; has_private_outdoor_hot_tub?: boolean | null; has_private_outdoor_sauna?: boolean | null; has_private_outdoor_swimming_pool?: boolean | null; has_rv_parking?: boolean | null; has_shared_indoor_gym?: boolean | null; has_shared_indoor_hot_tub?: boolean | null; has_shared_indoor_sauna?: boolean | null; has_shared_indoor_swimming_pool?: boolean | null; has_shared_indoor_workshop?: boolean | null; has_shared_laundry_room?: boolean | null; has_shared_outdoor_gym?: boolean | null; has_shared_outdoor_hot_tub?: boolean | null; has_shared_outdoor_sauna?: boolean | null; has_shared_outdoor_swimming_pool?: boolean | null; heating_brand_first?: string | null; heating_install_year_first?: number | null; heating_type_first?: string | null; heating_type_second?: string | null; humidifier_brand?: string | null; humidifier_install_year?: number | null; humidifier_type?: string | null; image?: string | null; in_cul_de_sac?: boolean | null; interior_sq_m?: number | null; internet_provider?: string | null; irrigation_system_type?: string | null; is_commercial?: boolean | null; is_condemned?: boolean | null; is_judicial_sale?: boolean | null; is_residential?: boolean | null; kitchen_appliance_brand?: string | null; kitchen_appliance_finish?: string | null; kitchen_countertop_material?: string | null; kitchen_dishwasher_install_year?: number | null; kitchen_dishwasher_type?: string | null; kitchen_fridge_install_year?: number | null; kitchen_fridge_type?: string | null; kitchen_microwave_install_year?: number | null; kitchen_microwave_type?: string | null; kitchen_stove_heat_type?: string | null; kitchen_stove_install_year?: number | null; kitchen_stove_type?: string | null; kitchen_year_last_renovated?: number | null; land_depth_m?: number | null; land_frontage_m?: number | null; latitude?: number | null; laundry_appliance_brand?: string | null; laundry_appliance_finish?: string | null; laundry_dryer_install_year?: number | null; laundry_dryer_type?: string | null; laundry_washer_install_year?: number | null; laundry_washer_type?: string | null; list_price?: number | null; rent_price?: number | null; living_room_year_last_renovated?: number | null; loading_bays?: number | null; longitude?: number | null; maintenance_fee_include_electric?: boolean | null; maintenance_fee_include_heat?: boolean | null; maintenance_fee_include_water?: boolean | null; maintenance_fee?: number | null; need_ceiling_repair?: boolean | null; need_cooling_repair?: boolean | null; need_drywall_repair?: boolean | null; need_electrical_repair?: boolean | null; need_floor_repair?: boolean | null; need_foundation_repair?: boolean | null; need_heating_repair?: boolean | null; need_mold_repair?: boolean | null; need_paint_repair?: boolean | null; need_plumbing_repair?: boolean | null; need_roof_repair?: boolean | null; need_window_repair?: boolean | null; neighborhood_id?: string | null; outbuilding_type_fifth?: string | null; outbuilding_type_first?: string | null; outbuilding_type_fourth?: string | null; outbuilding_type_second?: string | null; outbuilding_type_third?: string | null; ownership_type?: string | null; parent_address?: string | null; parking_lot_parking_space_legal_type?: string | null; parking_lot_parking_space?: number | null; plumbing_pipe_material?: string | null; postal_code?: string | null; property_id?: string | null; property_type?: string | null; province_abbreviation?: string | null; province_slug?: string | null; province?: string | null; rent_includes_electricity?: boolean | null; rent_includes_furniture?: boolean | null; rent_includes_heat?: boolean | null; rent_includes_internet?: boolean | null; rent_includes_water?: boolean | null; roof_is_functional?: boolean | null; roof_material_install_year?: number | null; roof_material?: string | null; score_air_quality?: number | null; score_bicycle?: number | null; score_cell_coverage?: number | null; score_curb_appeal?: number | null; score_earthquake?: number | null; score_education?: number | null; score_entertainment?: number | null; score_family?: number | null; score_fire?: number | null; score_flood?: number | null; score_food_and_drink?: number | null; score_hurricane?: number | null; score_internet?: number | null; score_nature?: number | null; score_parking?: number | null; score_quiet?: number | null; score_retirement?: number | null; score_safety?: number | null; score_shopping?: number | null; score_smell?: number | null; score_tornado?: number | null; score_total?: number | null; score_traffic?: number | null; score_transit?: number | null; score_walkability?: number | null; score_water_quality?: number | null; secondary_suite_has_own_laundry_first?: boolean | null; secondary_suite_has_own_laundry_second?: boolean | null; secondary_suite_has_own_laundry_third?: boolean | null; secondary_suite_seperate_entrance_first?: boolean | null; secondary_suite_seperate_entrance_second?: boolean | null; secondary_suite_seperate_entrance_third?: boolean | null; shared_bicycle_storage_type?: string | null; shared_garage_240v_first?: boolean | null; shared_garage_240v_second?: boolean | null; shared_garage_floor_above_ground_first?: number | null; shared_garage_floor_above_ground_second?: number | null; shared_garage_floor_below_ground_first?: number | null; shared_garage_floor_below_ground_second?: number | null; shared_garage_heating_type_first?: string | null; shared_garage_heating_type_second?: string | null; shared_garage_legal_type_first?: string | null; shared_garage_legal_type_second?: string | null; shared_garage_parking_space_first?: number | null; shared_garage_parking_space_second?: number | null; shared_garage_tandem_first?: boolean | null; shared_garage_tandem_second?: boolean | null; shared_garage_type_first?: string | null; shared_garage_type_second?: string | null; summer_garbage_pickup_day?: string | null; summer_garbage_pickup_schedule?: string | null; summer_organic_waste_pickup_day?: string | null; summer_organic_waste_pickup_schedule?: string | null; summer_recycle_pickup_day?: string | null; summer_recycle_pickup_schedule?: string | null; view_type?: string | null; water_heater_brand?: string | null; water_heater_install_year?: number | null; water_heater_type?: string | null; water_softener_brand?: string | null; water_softener_install_year?: number | null; water_softener_type?: string | null; water_provider?: string | null; winter_garbage_pickup_day?: string | null; winter_garbage_pickup_schedule?: string | null; winter_organic_waste_pickup_day?: string | null; winter_organic_waste_pickup_schedule?: string | null; winter_recycle_pickup_day?: string | null; winter_recycle_pickup_schedule?: string | null; workshop_type?: string | null; zoning?: string | null; cash_on_cash_return?: number | null; cap_rate?: number | null; return_on_investment?: number | null; is_farmland?: boolean | null; land_area_sq_m?: number | null; parent_property_id?: string | null; property_taxes?: number | null; property_taxes_year?: number | null; province_abbreviation_id?: string | null; score_total_percent?: number | null; shared_parking_lot_parking_space_legal_type?: string | null; shared_parking_lot_parking_space?: number | null; furnished?: boolean | null; zoning_source?: string | null; construction_year_source?: string | null; is_commercial_source?: string | null; is_farmland_source?: string | null; is_residential_source?: string | null; land_area_sq_m_source?: string | null; secondary_suite_type_first?: string | null; secondary_suite_type_second?: string | null; secondary_suite_type_third?: string | null; postal_code_source?: string | null; } interface Assessment { property_id: string; expand_assessment_year: number; expand_assessment_value: number; } interface Listing { property_id: string; expand_listing_date: string; expand_listing_event: string; expand_estimate_list_price: number; } interface Permit { property_id: string; expand_permit_id: string; expand_permit_application_date: string; expand_permit_type: string; expand_permit_content: string; }