Skip to content

Data Sources

MyCal sources every record from official Malaysian government publications. Every holiday record carries a gazetteRef field pointing back to the exact Warta Kerajaan entry.

Jabatan Perdana Menteri (JPM)

What: Federal and state public holidays.

Source: JPM BKPP gazette notifications published on kabinet.gov.my/hari-kelepasan-am.

Format: MyCal stores gazetteRef as the JPM Government Notification number (GN-xxxxx). Each annual gazette typically has three documents:

  • GN-33499 (Federal) — federal holidays for the following year
  • GN-33500 (State) — state-specific holidays
  • GN-33501 (Combined) — consolidated federal+state reference, entries marked (P) Persekutuan or (N) Negeri

JPM publications sometimes cite P.U.(A) (Federal Law) or P.U.(B) (Federal Notification) numbers as well — both refer to the same underlying gazette series, but MyCal standardises on the GN number.

JAKIM

What: Islamic (Hijri) calendar dates for all Islamic public holidays.

Source: Takwim Hijri-Miladi at e-solat.gov.my/web/muqaddimah.php.

Important: JAKIM publishes the Takwim year in advance with tentative dates, then confirms each Islamic month’s start based on moon sighting (rukyah) — usually 1–2 days before. This is why Islamic holidays often have status: "tentative" until close to the date.

KPM (Kementerian Pendidikan Malaysia)

What: School calendar — term dates, cuti penggal, cuti perayaan (Lampiran A/B/C).

Source: Annual “Kalendar Akademik” PDF published at moe.gov.my.

Structure: Separate tables for Kumpulan A (Kedah, Kelantan, Terengganu) and Kumpulan B (rest). Each year carries three Lampiran for festive-holiday state adjustments.

MPM (Majlis Peperiksaan Malaysia)

What: STPM and MUET exam schedules.

Source: mpm.edu.my.

PT3 and SPM schedules come from KPM directly.

State Government Portals

What: State-specific public holidays, especially Sultan/YDPB birthdays and state-level Islamic holidays.

Sources: 16 separate .gov.my portals. MyCal cross-references these against the consolidated JPM state gazette to catch any state-level adjustments.

What’s NOT a source

  • Third-party holiday sites (timeanddate.com, office-holidays.com, etc.) — these often have errors for state-specific holidays and weekend configs.
  • Social media announcements — tracked as signals but not authoritative.
  • Wikipedia — good for historical context, not for published dates.

Auditing a record

Pick any Holiday from the API. The gazetteRef field gives you the exact document to look up:

{
"id": "2026-hari-kebangsaan",
"date": "2026-08-31",
"name": { "en": "National Day", "ms": "Hari Kebangsaan" },
"gazetteLevel": "P",
"gazetteRef": "GN-33499",
"source": "jpm"
}

Search GN-33499 on the JPM gazette portal and you’ll find the corresponding PDF.