Skip to content
SabahKu

Data

Download everything

Versioned, checksummed data releases under CC BY 4.0 (source datasets keep their own licences), an open read API, and the code that rebuilds it all.

Release 2026.09.26

Current data release

Content hash 7186309760569600. A new release is cut whenever DOSM publishes a new vintage; old releases stay available so citations remain reproducible.
Download all (zip)
FileContentsRowsSizeSHA-256
CITATION.cffMachine-readable citation1 KBffcf5419ae13…
README.mdRelease notes1 KBa1951befb9a0…
districts.csvCanonical district registry: ids, divisions, lineage, area, centroids16819 KB4d5db4ec47b3…
districts.geojsonDistrict boundaries (2020, simplified) for all 159 mapped districts572 KB04feaf463899…
errata.yamlSource values excluded, with reasons1 KB959ebdfb334e…
forecasts.csvNowcasts and projections with p10 / p50 / p9054073 KB6a785280bd34…
gdp_sector.csvDistrict GDP by sector, 2015–2020 (RM mil, 2015 prices)4,830177 KBfe65f12170fd…
indicators.csvIndicator catalogue: labels, units, direction, definitions316 KBb2730fb54b33…
model_cards.jsonModel cards: methods, metrics, limitations23 KB384e3f99a233…
observations.csvEvery value: district, indicator, year, value, source, flags, Sabah rank & percentiles25,8882.5 MBff4fe72f2e82…
observations.parquetSame as observations.csv, typed columnar format250 KB0f536618be02…
scorecard.csvScorecard verdicts with peer medians and trends (Sabah)29638 KB5d79fa69f11c…
shift_share.csvShift-share totals by window and benchmark37246 KB4c7c7e225a70…
sources.csvSource datasets with vintages, checksums and licences238 KBb78ca7970d65…
typology.csvCluster, principal components and features for every district15937 KB06e73b07cd74…

API

Open read API

JSON over HTTPS, versioned under /v1, cached with ETags keyed to the data release. No key needed for read endpoints.

  • GET /v1/districts — All districts with headline indicators
  • GET /v1/districts/{id} — Full profile: series, scorecard, peers, forecasts, sources
  • GET /v1/indicators/{code}?period= — One indicator for all districts
  • GET /v1/compare?ids=a,b,c — Aligned series for up to four districts
  • GET /v1/forecast/{id}?indicator= — Fan-chart series with backtest error
  • GET /v1/export/{id}.csv — Tidy CSV for a district
  • GET /v1/model-cards — All model cards
  • GET /v1/data/releases — Current release manifest

Interactive docs: https://atlas-api.ashymoss-d65781bb.southeastasia.azurecontainerapps.io/docs · OpenAPI: openapi.json

import pandas as pd
url = "https://atlas-api.ashymoss-d65781bb.southeastasia.azurecontainerapps.io/v1/indicators/income_median?scope=national"
df = pd.json_normalize(pd.read_json(url, typ="series")["values"])

Cite

How to cite

APA

Kassim, I. (2026). SabahKu: district economic data release 2026.09.26 [Data set]. https://github.com/IlhamKassim/sabah-atlas

BibTeX

@misc{sabahku2026,
  author = {Kassim, Ilham},
  title  = {SabahKu: district economic data release 2026.09.26},
  year   = {2026},
  url    = {https://github.com/IlhamKassim/sabah-atlas},
  note   = {CC BY 4.0}
}

Please also cite the underlying sources, listed in sources.csv: Department of Statistics Malaysia (OpenDOSM), CC BY 4.0; geoBoundaries (Runfola et al., 2020), CC BY 3.0. Each page also has a “Cite this view” button that includes the permalink.

Licences

Licences

  • Data releases: CC BY 4.0, where source licences allow.
  • DOSM / OpenDOSM data: CC BY 4.0.
  • District boundaries: geoBoundaries, CC BY 3.0.
  • Code: MIT.