Malaysia Population Estimates by State, Sex, Age and Ethnicity

Annual population estimates for Malaysia at state level, disaggregated by sex, age group, and ethnicity. Each row is a state-sex-age-ethnicity-year cell; `population` is in thousands. Covers all 16 states/territories, sex (both/male/female), 21 age bands (0-4 up to 'overall'), and 9 ethnicity groups (bumi, bumi_malay, bumi_other, chinese, indian, plus others and overall). Spans a long run 1970-2025 (56 years, ~264k rows). Preview shows latest year only; full download covers all years.

dosm-population-state·6 columns·427 KB·Creative Commons Attribution 4.0 International (CC BY 4.0)·updated 13d ago

Schema

stateVARCHAR
dateDATE
sexVARCHAR
ageVARCHAR
ethnicityVARCHAR
populationDOUBLE

Get this dataset on your machine

subsets sync --bundle medium clones the mid-size tiers as queryable local tables — use --bundle large for the widest tier

pip install subsetsio
subsets sync --bundle small # or medium, or large
subsets serve # search + SQL at http://localhost:8080

Free and open — the data syncs straight from the public bucket, and search + SQL run entirely on your machine. See docs →

Query it locally

Full docs →
Bash
subsets serve   # local API on http://localhost:8080
curl -s -X POST "http://localhost:8080/query" \
  -H "Content-Type: application/json" \
  -d '{"sql": "SELECT * FROM \"dosm-population-state\" LIMIT 5"}'

No account, no API key — the data syncs straight from bundles.subsets.io and every query runs on your machine. See the local API reference.