NEW AI Studio is now available Try it now
Weather & Environment

IQAir Scraper

Extract worldwide air quality rankings, city pollution comparisons, PM2.5 measurements, and health recommendations from IQAir. Powered by spider-browser .

Get Started Documentation
iqair.com target
99.5% success rate
~4ms latency
Quick Start

Extract data in minutes

iqair-scraper.ts
import { SpiderBrowser } from "spider-browser";

const spider = new SpiderBrowser({
  apiKey: process.env.SPIDER_API_KEY!,
});

await spider.connect();
const page = spider.page!;
await page.goto("https://www.iqair.com/world-most-polluted-cities");
await page.content();

const data = await page.evaluate(`(() => {
  const cities = [];
  document.querySelectorAll("table tbody tr, .city-row").forEach(el => {
    const rank = el.querySelector("td:nth-child(1), .rank")?.textContent?.trim();
    const city = el.querySelector("td:nth-child(2) a, .city-name")?.textContent?.trim();
    const aqi = el.querySelector("td:nth-child(3), .aqi-value")?.textContent?.trim();
    const country = el.querySelector("td:nth-child(4), .country-name")?.textContent?.trim();
    if (city) cities.push({ rank, city, aqi, country });
  });
  return JSON.stringify({ total: cities.length, cities: cities.slice(0, 20) });
})()`);

console.log(JSON.parse(data));
await spider.close();
✓ ready to run | spider-browser | TypeScript
Fetch API

Structured data endpoint

Extract structured JSON from iqair.com with a single POST request. AI-configured selectors, cached for fast repeat calls.

POST /fetch/iqair.com/
City nameAQI valuePM2.5TemperatureHumidityWind
curl
curl -X POST https://api.spider.cloud/fetch/iqair.com/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"return_format": "json"}'
Python
import requests

resp = requests.post(
    "https://api.spider.cloud/fetch/iqair.com/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={"return_format": "json"},
)
print(resp.json())
Node.js
const resp = await fetch("https://api.spider.cloud/fetch/iqair.com/", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ return_format: "json" }),
});
const data = await resp.json();
console.log(data);
Extraction

Data you can extract

City nameAQI valuePM2.5TemperatureHumidityWindHealth adviceRank
Data

Weather data capture

Extract forecasts, conditions, and historical weather from iqair.com.

Rendering

Map & chart handling

Full rendering for interactive weather maps and data visualizations.

Freshness

Real-time updates

Capture frequently updated weather data and environmental readings.

Related

More Weather & Environment scrapers

Start scraping iqair.com

Get your API key and start extracting data in minutes.