Why does one app say 150 and APIMS say 80?
Same haze, different scales. Malaysia's API and the US AQI turn the same smoke into different numbers.
The short answer. Malaysia's official Air Pollutant Index (API, or IPU in Malay) is worked out by the Department of Environment (DOE) from a 24-hour average. Many weather apps and sites such as IQAir show the US Air Quality Index (AQI) instead, which gives the same haze a higher number, and often from the last few hours rather than the whole day. Neither is wrong. They are different rulers.
Three different things
PM2.5
The haze itself: tiny particles, 2.5 micrometres or smaller, measured in micrograms per cubic metre (µg/m³). Not a score, a concentration. It changes hour by hour.
API (IPU)
Malaysia's official index, from 0 to 500. DOE turns six pollutants into scores and reports the highest. In haze that is almost always PM2.5, averaged over the last 24 hours.
US AQI
The US Environmental Protection Agency's index, also 0 to 500, with its own cut-offs (updated in 2024). Apps often feed it the last few hours, weighted to the most recent.
Same air, two numbers
Each row is one level of PM2.5, averaged over 24 hours, put through DOE's formula and through the EPA's. The highlighted row is the kind of day that fills social media with screenshots.
| PM2.5 (24-hour average) | Malaysia API (DOE) | US AQI (EPA) |
|---|---|---|
| 8 µg/m³ | 33Good | 44Good |
| 20 µg/m³ | 57Moderate | 71Moderate |
| 35 µg/m³ | 69Moderate | 99Moderate |
| 50 µg/m³ | 80Moderate | 137Unhealthy for sensitive groups |
| 75 µg/m³ | 100Moderate | 165Unhealthy |
| 100 µg/m³ | 133Unhealthy | 182Unhealthy |
| 150 µg/m³ | 199Unhealthy | 225Very unhealthy |
| 200 µg/m³ | 250Very unhealthy | 275Very unhealthy |
Worked out from DOE's PM2.5 sub-index formula and the EPA's 2024 PM2.5 breakpoints (sources below). Both use the same 24-hour average here; an app that uses the last few hours can differ more, in either direction.
Why the API is slow to change
Because it is a 24-hour average. When smoke rolls in at lunchtime, the API climbs through the afternoon and evening as the smoky hours fill up the average. When the air clears, the API stays high into the next day while the smoky hours drop out. An app showing the last few hours reacts faster, so the two can point opposite ways for a while.
Malaysia's API bands
| API | Status |
|---|---|
| 0 to 50 | Good (Baik) |
| 51 to 100 | Moderate (Sederhana) |
| 101 to 200 | Unhealthy (Tidak sihat) |
| 201 to 300 | Very unhealthy (Sangat tidak sihat) |
| Above 300 | Hazardous (Merbahaya) |
For what each band means for your health and what to do, follow DOE's and the Ministry of Health's guidance. Live readings for every station are on APIMS, DOE's air quality portal.
What Jemur shows
Jemur is a laundry app, so it reads haze for one question: will your clothes come in smelling of smoke.
- Where community sensors are within about 15 km (AirGradient's public network), Jemur goes by their PM2.5. Low-cost sensors are not official monitors and can read high in humid air.
- Where none are, Google's air quality data (a blend of official stations, sensors, models and satellites) and sensors further away can warn of haze, but never on their own call it low. Includes air quality data from Google.
- Near an airport, it also reads the airport's own report of haze and visibility.
- Where nothing measures haze, it says "not measured here" rather than calling haze low from a forecast. It never calls any of these "API": check the official reading for your area on APIMS too.
Sources
- Department of Environment Malaysia, Air Pollutant Index (API) Calculation (PM2.5 sub-index formula and status bands).
- US EPA, Final Updates to the Air Quality Index for Particulate Matter, February 2024 (PM2.5 breakpoints, effective 6 May 2024).
- IQAir, 2024 update to the US AQI (IQAir reports the US AQI).
Jemur is not affiliated with DOE, the US EPA or IQAir. This page explains how the scales are built; it is not health advice.