Skip to content

State Codes Reference

Every state and federal territory. The API accepts any alias (case-insensitive) in the state query parameter.

CanonicalTypeAliasesGroupWeekend
johorstatejhr, jb, johor-bahruBSat-Sun (was Fri-Sat 2014-2024)
kedahstatekd, kdh, alor-setarAFri-Sat
kelantanstatekel, kb, kota-bharuAFri-Sat
terengganustatetrg, kt, kuala-terengganuAFri-Sat
perakstateprk, ipohBSat-Sun
pulau-pinangstatepenang, pg, ppBSat-Sun
selangorstatesel, sgr, shah-alamBSat-Sun
negeri-sembilanstatens, n9, serembanBSat-Sun
melakastatemlk, malaccaBSat-Sun
pahangstatephg, kuantanBSat-Sun
perlisstatepls, kangarBSat-Sun
sabahstatesbh, kk, kota-kinabaluBSat-Sun
sarawakstateswk, kuchingBSat-Sun
kuala-lumpurfederal_territorykl, wilayah-persekutuanBSat-Sun
wp-putrajayafederal_territoryputrajaya, pjyBSat-Sun
wp-labuanfederal_territorylabuan, lbnBSat-Sun

Johor weekend history

Johor is unique — it switched twice:

PeriodWeekendGroup
1900 – 2013Sat–SunB
2014 – 2024Fri–SatA
2025 – presentSat–SunB

When you call a business-day endpoint for Johor with a date in 2020, the API uses the Fri–Sat rule for that era. For 2026 it uses Sat–Sun.

Programmatic lookup

Terminal window
curl "https://mycal-api.huijun00100101.workers.dev/v1/states"
curl "https://mycal-api.huijun00100101.workers.dev/v1/states/resolve?q=kl"

See REST API → States for response shape.