Realtime Air Quality Index (AQI) Fetch API

2 min read

Full Source Code for Fetching Realtime Air Quality Index (AQI) based on location.

<style>
.wrapper{
      display: flex;
    flex-wrap: wrap;
}
  .green{
    background-color: green;
  }
  .orange{
background-color: orange;
  }
  .gray{
    background-color: #615f5f;
  }
  .yellow{
background-color: yellow;
color:#000 !important;
  }
  .red{
background-color: red;
  }
  .redder{
background-color: red;
  }
  .reddest{
background-color: red;
  }
  .wrapper .single{
    display: inline-block;
    width:180px;
    color:#fff;
    padding:10px;
    margin-right:10px;
    text-align:center;
    margin-bottom:10px;
  }
  .aqi-value{
    font-family : "Noto Serif","Palatino Linotype","Book Antiqua","URW Palladio L";
    font-size:40px;
    font-weight:bold;
  }
  h1{
    text-align: center;
    font-size:3em;
  }
</style>

<h1>Air Quality API</h1>


<div class="wrapper">
  <?php 
    if(isset($_GET['station']) && $_GET['station']!=''){
      $station = $_GET['station'];
    }else{
      $station = 'Texas';
    }

    $token = "*************************"; //here is my token, you can get your own
    $api_url = 'http://api.waqi.info/search/?token='.$token.'&keyword='.$station;
    $response = json_decode(file_get_contents($api_url));

    if(isset($response->status) && $response->status=="ok"){
      $stations = $response->data;
      foreach($stations as $station){
      $air_quality = ($station->aqi=='-')?'N/A':$station->aqi;

      if($air_quality=='N/A'){
        $class = 'gray';
      }else if($air_quality<51){
        $class="green";
      }else if($air_quality>50 && $air_quality<100){
        $class = "yellow";
      }
      else if($air_quality>101 && $air_quality<150){
        $class = "orange";
      }else if($air_quality>150 && $air_quality<200){
        $class = "red";
      }else if($air_quality>200 && $air_quality<300){
        $class = "redder";
      }else if($air_quality>300){
        $class = "reddest";
      }

      $updated_at = $station->time->stime;
      $station_name = $station->station->name;
      ?>

        <div class="single <?php echo $class;?>">
          <p class="aqi-value"><?php echo $air_quality;?></p>
          <p><?php echo $station_name;?></p>
        </div>

    <?php }}

  ?>
</div>



Recommended For You

About the Author: Admin