Contribute
The directory is only as good as what people put in it. If you know a Malaysian data resource that isn't listed — or spot one that is wrong — there is a way to fix it whether or not you write code.
What belongs here
A listing should point at something real that helps someone obtain, query, buy, request or otherwise reach data about Malaysia. Public, private, commercial, academic and controlled-access sources are all in scope. Before you submit, search for the resource by title, publisher and URL — duplicates are the most common problem.
One logical resource gets one listing with several endpoints, rather than one listing per format. A CSV export and an API for the same dataset are the same resource; they are not two results.
If you don't write code
Use the issue form. It asks for exactly what a maintainer needs to review a listing.
A maintainer reviews every submission. Nothing goes live automatically — a person checks it first, then turns it into a catalogue change.
If you do write code
- Fork the repository.
-
Add or edit the YAML file for the publisher under
data/<publisher-type>/. One file per publisher, not one per resource. - Run
npm installthennpm run validateto check your work. - Open a pull request. CI runs the same validation plus reproducibility checks.
Here is a complete, valid record — this is genuinely all it takes:
publisher:
id: metmalaysia
name: Malaysian Meteorological Department
abbreviation: METMalaysia
type: government
url: https://www.met.gov.my/
resources:
- id: metmalaysia-rainfall-stations
name: Daily rainfall by station
description: >-
Daily rainfall observations from monitoring stations across Malaysia,
with station identifiers and coordinates.
publisher: metmalaysia
categories: [weather-climate]
tags: [rainfall, stations, hydrology]
access:
type: public
geography:
coverage: [malaysia]
granularity: [station]
endpoints:
- type: landing-page
url: https://www.met.gov.my/
last_verified: 2026-10-04 Rules that matter
- Don't guess. If you can't confirm the licence, the access conditions, the update frequency or the time coverage, leave the field out. "Not recorded" is a better answer than a wrong one.
- Public does not mean open. A registry you can search freely may still
forbid bulk reuse. Access and licence are separate fields — use
access.type: publicand leave the licence alone unless you have found the actual terms. - Prefer the original publisher. If a government agency publishes the data and a third party mirrors it, list the agency. A mirror can be a second endpoint if it is genuinely useful and clearly labelled.
- Verify before you claim.
last_verifiedmeans you actually opened the resource and confirmed it exists and the access path works. Don't set it because you are editing the file — we check. - Write plainly. Describe what the data is. Don't paste the publisher's marketing copy.
What happens after you submit
A maintainer reviews it, may tidy the title or tags, ask for evidence, merge duplicates, or decline something that is unlawful, unsafe, purely promotional, or not meaningfully about data. If it is accepted, it is merged, the catalogue rebuilds, and the listing appears with your verification date attached.
Something else entirely?
Bugs, schema changes, accessibility problems, disagreements with the editorial policy — all belong in the repository's issue tracker rather than in a resource submission. Read CONTRIBUTING.md and GOVERNANCE.md first.
Canonical site: https://data.stratum.my. Licensing of the directory's own metadata is covered in Data & API.