Qualidade do ar

Air Quality

O endpoint /air retorna o indice de qualidade do ar (AQI, escala de 1 a 5) e a concentracao dos principais poluentes atmosfericos. A requisicao exige coordenadas geograficas (latitude e longitude).

The /air endpoint returns the Air Quality Index (AQI, scale 1-5) and the concentration of key atmospheric pollutants. The request requires geographic coordinates (latitude and longitude).

1. Buscar qualidade do ar / Get air quality

O endpoint recebe latitude e longitude como parametros:

const API_KEY = 'YOUR_API_KEY';
const BASE = 'https://weather.api.insyde.one';

async function getAirQuality(lat, lon) {
  const url = `${BASE}/air?lat=${lat}&lon=${lon}&key=${API_KEY}`;
  const res = await fetch(url);
  return res.json();
}

// Sao Paulo coordinates
const air = await getAirQuality(-23.5505, -46.6336);

2. Escala AQI / AQI Scale

AQIQualidade / QualityCor / Color
1Bom / GoodGreen
2Razoavel / FairYellow
3Moderado / ModerateOrange
4Ruim / PoorRed
5Muito Ruim / Very PoorPurple

3. Resposta da API / API Response

Exemplo de resposta para Sao Paulo:

{
  "list": [
    {
      "main": { "aqi": 2 },
      "components": {
        "co": 230.31,
        "no": 0.52,
        "no2": 14.83,
        "o3": 68.42,
        "so2": 3.58,
        "pm2_5": 12.47,
        "pm10": 18.34,
        "nh3": 1.21
      }
    }
  ]
}

4. Componentes / Components

Campo / FieldPoluente / PollutantUnidade / Unit
coMonoxido de carbono / Carbon monoxideµg/m³
noOxido nitrico / Nitric oxideµg/m³
no2Dioxido de nitrogenio / Nitrogen dioxideµg/m³
o3Ozonio / Ozoneµg/m³
so2Dioxido de enxofre / Sulphur dioxideµg/m³
pm2_5Material particulado fino / Fine particulate matterµg/m³
pm10Material particulado grosso / Coarse particulate matterµg/m³
nh3Amonia / Ammoniaµg/m³
Dica: O endpoint /air exige coordenadas. Use /locate primeiro para converter nomes de cidades em latitude e longitude.
Tip: The /air endpoint requires coordinates. Use /locate first to convert city names to latitude and longitude.

5. Exemplo completo / Complete example

const AQI_LABELS = [
  '',
  'Bom / Good',
  'Razoavel / Fair',
  'Moderado / Moderate',
  'Ruim / Poor',
  'Muito Ruim / Very Poor'
];

async function showAirQuality(city) {
  // Step 1: get coordinates from city name
  const locRes = await fetch(
    `${BASE}/locate?q=${city}&key=${API_KEY}`
  );
  const loc = await locRes.json();
  const { lat, lon } = loc[0];

  // Step 2: get air quality
  const data = await getAirQuality(lat, lon);
  const entry = data.list[0];
  const aqi = entry.main.aqi;
  const c = entry.components;

  console.log(`AQI: ${aqi}${AQI_LABELS[aqi]}`);
  console.log(`PM2.5: ${c.pm2_5} | PM10: ${c.pm10} | O3: ${c.o3}`);
  console.log(`NO2: ${c.no2} | CO: ${c.co} | SO2: ${c.so2}`);
}

showAirQuality('São Paulo,BR');

Back to Weather API docs