|

|  How to Fetch Air Quality Data Using AirVisual API in Python

How to Fetch Air Quality Data Using AirVisual API in Python

October 31, 2024

Learn to access air quality data in Python effortlessly with our step-by-step guide on using the AirVisual API. Enhance your projects with real-time environmental insights.

How to Fetch Air Quality Data Using AirVisual API in Python

 

Initialize the Python Environment

 

  • Ensure that you have Python installed on your system. You can verify this by running python --version in your terminal. You should see a Python version number as a response.
  •  

  • Use pip to install necessary packages. For interacting with the AirVisual API, we'll use the popular HTTP client library: requests. You can install it by executing pip install requests in your terminal.

 

pip install requests

 

Import Necessary Libraries

 

  • Once the environment is set up, import the required libraries in your Python script:

 

import requests
import json

 

Set Up API Key and Base URL

 

  • You'll need to have your AirVisual API key available. It's crucial for authentication when making requests to the API. Define this key in your script:
  •  

  • Additionally, specify the base URL for the AirVisual API. This URL will be used for constructing the endpoint URLs you interact with:

 

api_key = 'YOUR_AIRVISUAL_API_KEY'
base_url = 'http://api.airvisual.com/v2'

 

Fetch Air Quality Data for a Specific City

 

  • To obtain air quality data for a given city, create a function that will retrieve this information from the AirVisual API. You need to specify the city, state, and country as query parameters:

 

def get_air_quality(city, state, country):
    endpoint = f"{base_url}/city"
    params = {
        'city': city,
        'state': state,
        'country': country,
        'key': api_key
    }
    response = requests.get(endpoint, params=params)
    if response.status_code == 200:
        data = response.json()
        return data
    else:
        return None

 

Handle the Retrieved Data

 

  • Once the data is fetched, you'll typically want to extract specific information such as the Air Quality Index (AQI) and main pollutants. Parse the JSON response to access these details:

 

def parse_air_quality_data(data):
    if data:
        city = data['data']['city']
        state = data['data']['state']
        country = data['data']['country']
        aqi = data['data']['current']['pollution']['aqius']
        main_pollutant = data['data']['current']['pollution']['mainus']
        print(f"City: {city}, State: {state}, Country: {country}")
        print(f"Air Quality Index: {aqi}")
        print(f"Main Pollutant: {main_pollutant}")
    else:
        print("No data available. Check if the city/state/country names are correct.")

 

Execute and Verify

 

  • Finally, call the functions you defined to pull air quality data for a specific city and print the results. Pass the desired city name, state, and country as arguments:

 

city = "Los Angeles"
state = "California"
country = "USA"

data = get_air_quality(city, state, country)
parse_air_quality_data(data)

 

Additional Considerations

 

  • Ensure you handle exceptions or errors like network issues or invalid API key responses using try-except blocks to maintain robust script execution.
  •  

  • If making frequent API requests, respect AirVisual's rate limits to avoid your requests being blocked. Consider implementing caching strategies when needed.