Download Data with the Sensor Data Download Tool

This method of downloading data is no longer available. We have created a new download tool that uses the PurpleAir API. More information is available here: PurpleAir Data Download Tool.


The “Sensor data download tool” page allows users to download PurpleAir sensor data. You can read about how to access this tool here. Depending on how this page was accessed, there will be a vertical list of at least one sensor that you can download data from. Each sensor has two channels (A and B). Each channel has two data sets referred to as Primary Data and Secondary Data. Each of the four data sets holds unique data that can be downloaded. Lists explaining the data in these sets can be found below.

At the top of the page, enter the start and end date for the data you want to collect. To the right of those fields, set the average in minutes of the data entries you are collecting.

Once a start date, end date, and average have been entered, the sensors and channels you want to collect data from must now be selected. To the left of each channel, there is a checkbox. Check the boxes of every channel you want to collect data from. More information about the data that each channel contains can be found below.

At the top-left corner of the page, you can click “All” to select all available channels or “None” to deselect all available channels.

Now that the wanted channels have been selected, click “Download Selected” in the top-right corner to download all data sets of each selected channel.

Data can be downloaded for individual channels without selecting them by clicking the “Download Primary” or “Download Secondary” buttons.

The following lists contain the data found in each unique data set:

Channel A

  • Primary Data
    • field1: PM1.0 (CF=1) ug/m3
    • field2: PM2.5 (CF=1) ug/m3
    • field3: PM10.0 (CF=1) ug/m3
    • field4: Uptime (Minutes)
    • field5: RSSI (WiFi Signal Strength)
    • field6: Temperature (F)
    • field7: Humidity (%)
    • field8: PM2.5 (CF=ATM) ug/m3
  • Secondary Data
    • field1: 0.3um particles/deciliter
    • field2: 0.5um particles/deciliter
    • field3: 1.0um particles/deciliter
    • field4: 2.5um particles/deciliter
    • field5: 5.0um particles/deciliter
    • field6: 10.0um particles/deciliter
    • field7: PM1.0 (CF=ATM) ug/m3
    • field8: PM10 (CF=ATM) ug/m3

Channel B

  • Primary Data

    • field1: PM1.0 (CF=1) ug/m3
    • field2: PM2.5 (CF=1) ug/m3
    • field3: PM10.0 (CF=1) ug/m3
    • field4: Free HEAP memory
    • field5: ADC0 (analog input) voltage
    • field6: FIRMWARE 2.5 and up: Atmospheric Pressure
    • field7: FIRMWARE 4.10 and up: Bosch BSEC IAQ when BME680 gas sensor is present
    • field8: PM2.5 (CF=ATM) ug/m3
  • Secondary Data

    • field1: 0.3um particles/deciliter
    • field2: 0.5um particles/deciliter
    • field3: 1.0um particles/deciliter
    • field4: 2.5um particles/deciliter
    • field5: 5.0um particles/deciliter
    • field6: 10.0um particles/deciliter
    • field7: PM1.0 (CF=ATM) ug/m3
    • field8: PM10 (CF=ATM) ug/m3

All timestamps are in UTC.

PurpleAir sensors send primary and secondary data to our server every two minutes.