Monthly average unit prices of civil engineering materials for Sabah & Sarawak, by item and region.
0 views·0 downloads
This data shows the average unit prices of the main materials used in civil engineering works: steel bars, cement, bitumen, diesel, sand, aggregates, premix, fabric reinforcement and guardrail. The list of materials and their specifications is set with the Public Works Department (JKR) and the Construction Industry Development Board (CIDB). Most prices are collected every month at the outlets where contractors buy their materials; prices for some materials are obtained from other agencies.
Prices are transaction prices paid by contractors, including wholesale prices and prices after discounts, at the credit terms usually given to contractors. They include all taxes, such as sales tax and import duty, exclude installation costs, and are converted to the unit shown where an item is sold in a different unit. Diesel prices are retail prices.
Prices are reported for 6 regions: Kota Kinabalu, Sandakan and Tawau in Sabah, and Kuching, Sibu and Miri in Sarawak. Bitumen and diesel are priced for Sabah and Sarawak; bitumen 60/70 penetration prices are ex-Kota Kinabalu for Sabah and ex-Kuching for Sarawak.
These prices are compiled to measure the rate of change in prices, and should not be taken as the actual price of a material at a given place or time. Data for the most recent 12 months may be revised in subsequent releases. Months in which an item was not priced in a region are omitted.
Building Materials Cost Index, Sep 2026, the latest edition of the monthly building materials cost statistics published by DOSM.
Monthly average unit prices of civil engineering materials for Sabah & Sarawak, by item and region.
Name in Dataset | Variable | Definition |
|---|---|---|
date (Date) | Date | The date in YYYY-MM-DD format, with DD set to 01 as the data is at monthly frequency |
item (String) | Item | Material, e.g. 'steel_ms_10mm', 'cement', 'sand_river'; the full list of items is in the table |
unit (String) | Unit | Unit of the price, e.g. 'RM per tonne' or 'RM per 50kg bag' |
region (String) | Region | Region, one of 'Kota Kinabalu', 'Sandakan', 'Tawau', 'Kuching', 'Sibu', 'Miri', 'Sabah', 'Sarawak' |
price (Float) | Price (RM) | Average unit price, in RM per the given unit |
12 Oct 2026, 12:00
10 Nov 2026, 12:00
This data is made open under the Creative Commons Attribution 4.0 International License (CC BY 4.0). A copy of the license is available Here.
Full Dataset (CSV)
Recommended for individuals seeking an Excel-friendly format.
0
Full Dataset (Parquet)
Recommended for data scientists seeking to work with data via code.
0
Connect directly to the data with Python.
# If not already installed, do: pip install pandas fastparquet
import pandas as pd
URL_DATA = 'https://storage.dosm.gov.my/bci/bci_civil_sabah_sarawak.parquet'
df = pd.read_parquet(URL_DATA)
if 'date' in df.columns: df['date'] = pd.to_datetime(df['date'])
print(df)The following code is an example of how to make an API query to retrieve the data catalogue mentioned above. You can use different programming languages by switching the code accordingly. For a complete guide on possible query parameters and syntax, please refer to the official Open API Documentation.
import requests
import pprint
url = "https://api.data.gov.my/data-catalogue?id=bci_civil_sabah_sarawak&limit=3"
response_json = requests.get(url=url).json()
pprint.pprint(response_json)© 2026 Public Sector Open Data