Local data vs. API


I’m trying to use my sensor (ID: a4:cf:12:fd:ff:1) as an outside thermometer. My problem is that its temperature reading accessible through the /json?live=true endpoint is significantly higher than the reading reported through the API.

For example, right now the Purpleair API reports 60F (which is about right), while the local api is stuck at 68F.

Is this some kind of calibrating correction to account for the higher internal temperature of the sensor? Is there a way to get the calibration curve, so I can do the conversion locally?

1 Like

Hi @Aleksei_Besogonov,

I have just tried this myself and found that the temperature data from the API matches the temperature data on the local “/json” page. Since you are using “/json?live=true”, the readings are not averaged every two minutes, so there could have been an event that increased the temperature on your device that the API would not show yet.

Is it possible that you are already applying a correction to the data through the API?

We apply an eight degree correction to temperature readings, but that is only on the PurpleAir map. A bit more information is found here: PurpleAir Sensors Functional Overview.

Thank you for confirming the 8F correction!

I was looking at the map, not the API when I was checking the data. I’m sorry for the confusion.

Out of curiosity, what would be the proper correction for the dewpoint?