Sabah district property prices

Choose a district in Sabah to explore its recorded property sales.

Browse all districts in Sabah

Browse all areas in Sabah

View population of Sabah

Districts in Sabah

24 districts with recorded sales
All recorded districts in Sabah, in alphabetical order
DistrictTransactionsMedian priceMedian RM/sqftAreas
Beaufort 141 RM 312,000 RM 185.34 1
Keningau 339 RM 350,000 RM 158.28 1
Kinabatangan 8 RM 880,000 RM 874.44 1
Kota Belud 23 RM 440,000 RM 375.01 1
Kota Kinabalu 2,669 RM 560,000 RM 368.66 1
Kota Marudu 77 RM 350,000 RM 217.59 1
Kuala Penyu 1 RM 500,000 RM 416.68 1
Kudat 109 RM 310,000 RM 137.80 1
Kunak 9 RM 250,000 RM 148.41 1
Labuk Sugut 21 RM 270,000 RM 147.47 1
Lahad Datu 484 RM 400,000 RM 202.14 1
Papar 507 RM 315,000 RM 225.13 1
Penampang 1,328 RM 400,000 RM 402.86 1
Pensiangan 1 RM 280,000 RM 224.02 1
Pitas 4 RM 265,000 RM 126.20 1
Putatan 290 RM 337,500 RM 305.98 1
Ranau 50 RM 260,000 RM 164.28 1
Sandakan 1,758 RM 380,000 RM 242.57 1
Semporna 113 RM 320,000 RM 199.24 1
Sipitang 21 RM 390,000 RM 175.01 1
Tambunan 7 RM 800,000 RM 639.99 1
Tawau 1,106 RM 386,500 RM 204.62 1
Tenom 31 RM 350,000 RM 203.14 1
Tuaran 376 RM 330,000 RM 235.30 1

Only districts with recorded transactions in Sabah are listed. Blank district names remain in state totals but are excluded from this directory.

How to read these figures

Medians use all positive recorded prices in the stated period, without removing outliers. PSF is calculated per transaction using land/parcel area in square feet, falling back to main floor area when land area is unavailable. Records without a usable price or area do not contribute to the respective median.

Capital gain/loss compares the first and latest recorded month's median price. It measures changes in the mix of properties sold, not the return on a specific property. A single priced month is reported as not available. Blank district, area and scheme names are excluded from named counts and rankings. District rankings retain state identity; area rankings retain district identity and combine case-only area-name variants.

State assignments use the existing district/area mapping and may need verification. Areas represent administrative sub-districts. Date ranges use the recorded month and year; undated records remain in overall totals but not dated trends. Analytics are cached for up to five minutes and refreshed when the database file changes.