Back to explorer

How Pivott N3C Data Explorer works

A plain walkthrough of the tool, the CIDB N3C connection behind it, and everything you need on hand before you start.

What it is

A quick way to see the CIDB N3C pricing data with your own eyes.

Pivott N3C Data Explorer is a browser-only prototype for exploring the CIDB N3C building material prices and labour wage rates. You sign in with your N3C account, choose what you want to see, and the results appear as tables and charts. Nothing is stored on a server: it exists to prove the data is reachable and usable, and it is not intended for production use.

What it proves

The prototype is a success when all of these hold true.

  • ✓
    We can sign in to N3C from the browser
  • ✓
    Material and labour data comes back
  • ✓
    Raw replies can be inspected line by line
  • ✓
    Results display clearly enough to judge
  • ✓
    Repeat visits reuse what was already fetched
  • ✓
    The team can decide on the next stage with evidence

How it works

One pass through the tool, start to finish.

  1. 1Sign in — Enter your N3C email and password in Settings and test the connection.
  2. 2Keep the pass — The access pass N3C returns is held in your browser for the session.
  3. 3Load the lists — Refresh the reference tabs once to pull the material and labour catalogues.
  4. 4Choose — Pick the states, the items you care about, and the time period.
  5. 5Fetch — Large selections are split into smaller requests automatically and merged back together.
  6. 6Review — Results are cached in your browser; the Debug tab keeps every raw reply.
Sign in  ->  access pass held in browser
              |
              v
     reference lists (groups + specifications)
              |
              v
   choose states + items + time period
              |
              v
        fetch  ->  results cached in browser
              |
              v
    tables / trend chart      raw replies in Debug

The tabs explained

What each part of the explorer is for.

Settings
First stop — start here.
Your N3C sign-in details, connection test and the editable state list.
Material reference
Refresh once, then reuse.
Downloads and caches the material groups and specifications lists.
Materials
Main price lookup.
Building material prices: every specification for a state and year, or a hand-picked set.
Labour reference
Refresh before labour lookups.
Downloads and caches labour groups, categories and specifications.
Labour
Wage lookups.
Labour wage rates in the same two modes as Materials.
Machinery reference
Refresh before machinery lookups.
Downloads and caches machinery/equipment groups, categories and specifications.
Machinery
Hire rate and price lookups.
Machinery hire rates and equipment purchase prices in the same two modes.
Trend
After fetching data.
Plots a chosen item over time so you can see movement at a glance.
Debug
When something looks wrong.
The raw request and reply for every call, with timings and errors.

What you need from N3C

Use this as a checklist before connecting. Every item below comes from the official CIDB N3C developer documentation.

1. Access
Requested from CIDB through the N3C portal.
ItemDetail
N3C accountAn approved email address and password. These are what you type into Settings.
Service addresshttps://n3c-api.cidb.gov.my
Access passIssued when you sign in, sent with every later request, released when you sign out.
2. Reference lists
Fetched once and reused; they name the items you can ask about.
ListWhat it returnsWhy it is needed
StatesState id, name, code and region.Populates every state picker; loaded from N3C in Settings.
Material groupsGroup id, name and code (for example Bricks, Cement).Groups the specification list and labels price results.
Material specificationsSpecification text, its group, unit and payment terms.The exact items you pick when querying prices.
Labour groupsGroup id and name.Top level of the labour tree.
Labour categoriesCategory, its group, code and trade.Required on every hand-picked wage request.
Labour specificationsSpecification text, its category and code.The exact roles you pick when querying wages.
Machinery & equipment groupsGroup id, name and type (Machinery Hire Rate / Equipment Purchase Price).Top level of the machinery tree.
Machinery & equipment categoriesCategory, its group and description (for example Excavator).Required on every hand-picked machinery request.
Machinery & equipment specificationsSpecification, category, brand, model, machine type and capacity.The exact machines you pick when querying hire rates and prices.
3. Data queries
The two questions you can ask N3C, and how they can be narrowed.
QueryWays to choose itemsTime periods
Building material priceEither every specification for one state and year, or a hand-picked set of specifications across several states.Single month, two months, a continuous range of months, or a whole year.
Labour wage rateSame two modes as materials, but organised by labour group and category.Single month, two months, a continuous range of months, or a whole year.
Machinery hire rate & equipment purchase priceSame two modes, organised by machinery group and category; specs include brand and model.Single month, two months, a continuous range of months, or a whole year.

Material results give an average price per item; labour results give a lowest, highest and most common wage; machinery and equipment results give the recorded hire rate or purchase price per month.

4. States
The official list, loaded straight from N3C.

N3C publishes the state list at GET /internal/states, including each state's region (Peninsular Malaysia, Sabah, Sarawak). Use Settings → Load states from N3C to pull it; the explorer caches it and falls back to a built-in list when offline.

A per-state lookup is also available at GET /internal/states/:code (for example /internal/states/KL).

Known limitations

Honest caveats to keep in mind while testing.

  • Your N3C email and password are kept in the browser for convenience. Fine for a prototype, not for real use.
  • N3C's security certificate is misconfigured, so some requests have to be made straight from the browser rather than through a server.
  • Very large selections are broken into several smaller requests, so they take longer to finish.
  • Upstream data is patchy: several labour combinations come back empty, and WP Labuan currently has no labour data at all.
  • Checked live in September 2026: the whole-catalogue mode returns no rows at all for labour or machinery — only the hand-picked "Selected specs" mode returns rates for those two areas. Materials work in both modes.
  • Rates are published twice a year (January and July), so a recent year may show only one entry.

Next steps for production

What would change if this moves beyond a prototype.

  • Keep credentials on a serverSign-in details never touch the browser.
  • A proper server connectionOne reliable route to N3C, with retries and logging.
  • Scheduled cachingData pulled on a timetable so pages load instantly.