IQAir Air Quality

v1.0.2

Get real-time air quality data from IQAir API for any location worldwide. Returns AQI (Air Quality Index) with visual indicators and quality levels. Use when...

2· 672·1 current·1 all-time
byAntons Tesluks@atesluks

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for atesluks/iqair.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "IQAir Air Quality" (atesluks/iqair) from ClawHub.
Skill page: https://clawhub.ai/atesluks/iqair
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: IQAIR_API_KEY
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install atesluks/iqair

ClawHub CLI

Package manager switcher

npx clawhub@latest install iqair
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description ask for IQAir API access and the skill only requests IQAIR_API_KEY; the code calls IQAir/AirVisual endpoints (api.airvisual.com) to fetch AQI and formats results—this is coherent with the stated purpose.
Instruction Scope
SKILL.md instructs the agent to run the bundled Python script with city/coordinate arguments. The script only reads IQAIR_API_KEY, constructs queries to the IQAir API, handles common HTTP errors, and prints formatted output. It does not access unrelated files/paths or other environment variables.
Install Mechanism
No install spec; the skill is instruction-only with one simple included script. Nothing is downloaded or written at install time and no third-party install URLs are used.
Credentials
Only IQAIR_API_KEY is required, which is appropriate for this API-based skill. The script uses that single env var and does not attempt to read other secrets or config paths.
Persistence & Privilege
always:false and no modifications to other skills or system settings. The skill does outbound API calls when invoked; autonomous invocation is allowed by default but not excessive here.
Assessment
This skill is internally consistent: it needs only your IQAir API key and the included Python script queries the official AirVisual endpoints and prints AQI results. Before installing, verify you trust the skill source (SKILL.md lists a GitHub homepage—review that repo if you can), keep your IQAIR_API_KEY private (do not paste into public places), and be mindful of IQAir rate limits (the skill will make outbound HTTP requests to api.airvisual.com and will include your API key in those requests). If you want extra assurance, review the small scripts/get_aqi.py file (it is short and readable) and only provide the IQAIR_API_KEY environment variable rather than broader credentials.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

EnvIQAIR_API_KEY
latestvk970k12v24h9xvqt65d4902v5581bgaf
672downloads
2stars
3versions
Updated 1mo ago
v1.0.2
MIT-0

IQAir Air Quality Checker

Get real-time air quality data from the IQAir API with formatted output including AQI score, emoji indicator, and quality level.

Prerequisites

API Key Required: User must have a free IQAir API key stored in the IQAIR_API_KEY environment variable.

If the key is not set, guide the user:

  1. Visit https://dashboard.iqair.com/personal/api-keys
  2. Sign up/sign in and subscribe to the free Community plan
  3. Copy the API key
  4. Set it: export IQAIR_API_KEY="your_key_here"

Quick Usage

By city name:

python scripts/get_aqi.py Riga Latvia
python scripts/get_aqi.py London "United Kingdom"
python scripts/get_aqi.py Budapest Hungary

By coordinates (most reliable):

python scripts/get_aqi.py --lat 56.9496 --lon 24.1052

Nearest city (based on IP):

python scripts/get_aqi.py --nearest

How to Respond to User Queries

When a user asks about air quality:

  1. Determine the location - Extract city/country from their query
  2. Run the script - Use scripts/get_aqi.py with appropriate arguments
  3. Return formatted output - The script provides emoji, AQI value, level, and location

Example interaction:

User: "How good is air in Riga?"

Response process:

  • Location: Riga, Latvia
  • Run: python scripts/get_aqi.py Riga Latvia
  • Output: 🟢 19 - Good\nRiga, Latvia
  • Reply: "Air quality in Riga is currently excellent! 🟢 19 (Good)"

Handling Location Names

City/country names:

  • Use exact names as they appear in IQAir's database
  • Capital cities: Often the state/province matches the city name
  • If city lookup fails, try coordinates instead

Common location patterns:

  • Riga, Latvia → Riga Latvia (state defaults to city)
  • London, UK → London "United Kingdom" (quote if spaces)
  • New York, USA → "New York" "United States" "New York" (city, country, state)

When in doubt: Use coordinate-based lookup with --lat and --lon (more reliable).

Output Format

The script returns a concise, formatted string:

🟢 45 - Good
Riga, Latvia

Customize your response based on the AQI level:

  • 0-50 (🟢 Good): "Excellent", "Perfect for outdoor activities"
  • 51-100 (🟡 Moderate): "Acceptable", "Sensitive people should limit prolonged outdoor exertion"
  • 101-150 (🟠 USG): "Unhealthy for sensitive groups", "Children and people with respiratory issues should reduce outdoor exertion"
  • 151-200 (🔴 Unhealthy): "Everyone may experience health effects", "Reduce outdoor activities"
  • 201-300 (🟣 Very Unhealthy): "Health alert", "Avoid outdoor activities"
  • 301+ (🟤 Hazardous): "Emergency conditions", "Stay indoors"

Technical Details

For API specifications, endpoints, and error handling, see references/api.md.

Rate Limits

Free Community plan limits:

  • 5 calls/minute
  • 500 calls/day
  • 10,000 calls/month

Avoid making repeated calls for the same location within short time periods.

Comments

Loading comments...