Malaysia · Official data

Malaysia Haze & Air Quality

Malaysia API / IPU air-quality readings by monitoring station, with source times and official DOE APIMS categories.

Air-quality readings

Batu Pahat, JOHOR

45.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Kluang, JOHOR

75.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Kota Tinggi, JOHOR

50.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Larkin, JOHOR

68.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Pasir Gudang, JOHOR

62.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Pengerang, JOHOR

56.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Segamat, JOHOR

48.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Tangkak, JOHOR

56.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Alor Setar, KEDAH

33.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Kulim Hi-Tech, KEDAH

37.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Langkawi, KEDAH

24.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Sungai Petani, KEDAH

53.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Kota Bharu, KELANTAN

54.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Tanah Merah, KELANTAN

44.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Alor Gajah, MELAKA

55.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Bandaraya Melaka, MELAKA

55.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Bukit Rambai, MELAKA

56.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Nilai, NEGERI SEMBILAN

59.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Port Dickson, NEGERI SEMBILAN

48.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Seremban, NEGERI SEMBILAN

57.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Balok Baru Kuantan, PAHANG

60.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Indera Mahkota Kuantan, PAHANG

44.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Jerantut, PAHANG

26.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Rompin, PAHANG

45.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Temerloh, PAHANG

31.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Pegoh Ipoh, PERAK

58.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Seri Manjung, PERAK

53.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Taiping, PERAK

32.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Tanjung Malim, PERAK

27.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Tasek Ipoh, PERAK

61.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Kangar, PERLIS

29.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Balik Pulau, PULAU PINANG

25.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Minden, PULAU PINANG

43.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Seberang Jaya, PULAU PINANG

50.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Seberang Perai, PULAU PINANG

64.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Keningau, SABAH

71.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Kimanis, SABAH

57.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Kota Kinabalu, SABAH

36.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Politeknik Kota Kinabalu

52.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Sandakan, SABAH

55.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Tawau, SABAH

59.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Bintulu, SARAWAK

54.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

ILP Miri, SARAWAK

36.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

IPD Serian

72.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Kapit, SARAWAK

58.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Kuching, SARAWAK

61.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Limbang, SARAWAK

40.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Miri, SARAWAK

39.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Mukah, SARAWAK

57.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Samalaju, SARAWAK

62.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Samarahan, SARAWAK

63.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Sarikei, SARAWAK

61.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Sibu, SARAWAK

58.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Sri Aman, SARAWAK

70.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Banting, SELANGOR

55.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

JOHAN SETIA

60.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Klang, SELANGOR

60.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Kuala Selangor, SELANGOR

39.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Petaling Jaya, SELANGOR

51.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Shah Alam, SELANGOR

53.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Besut, TERENGGANU

39.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Kemaman, TERENGGANU

34.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Kuala Terengganu, TERENGGANU

52.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Paka, TERENGGANU

34.0 API / IPU

Good

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Batu Muda, W.P. KUALA LUMPUR

85.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Cheras, W.P. KUALA LUMPUR

68.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Labuan, W.P. LABUAN

55.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Putrajaya, W.P. PUTRAJAYA

56.0 API / IPU

Moderate

Dominant pollutant: PM2.5

Reported: 31 Oct 2026, 12:00 AM UTC+08

Latest cached official data

Saved readings update on the 15-minute schedule.

Source: Department of Environment Malaysia / APIMS. Scheduled refresh every 15 minutes; upstream publication and GitHub scheduling can be delayed.

Understanding malaysia haze & air quality

Malaysia reports the Air Pollutant Index (API), also called Indeks Pencemaran Udara (IPU), by monitoring station. Select a state to find nearby stations. The displayed category comes from DOE. API / IPU and Singapore PSI are different national indices; compare their labels and reporting periods rather than treating the values as interchangeable. These are reported readings, not a haze forecast.

How current is this information?

Always check the forecast validity or reporting time. Older cached readings remain visible with a warning when a source is delayed or unavailable. Times use Singapore / Malaysia time (UTC+08).

Where can I check official updates?

Visit Department of Environment Malaysia / APIMS for the latest official information and advisories.