ClimaBR.app
$

cUrl Reference

v1.0

O climabr.app detecta automaticamente requisições de terminal e retorna dados formatados. Suporta múltiplos formatos de saída.

curl wget HTTPie sem autenticação 5.571 municípios

URL Base

GET climabr.app/{estado}/{cidade}

{estado} — sigla em minúsculas: sp, rj, mg, rs

{cidade} — slug sem acentos: sao-paulo, cotia, porto-alegre

Formatos de Saída

GET /{estado}/{cidade}
padrão

Painel completo com cores ANSI, emojis e todos os blocos de dados.

$ curl climabr.app/sp/cotia

  Cotia/SP  18.6°C agora  28/05/2026, 14:00
  ────────────────────────────────────────────────Previsão   Parcialmente Nublado
             ↓14°  ↑20°  sem chuva
             sex ☁️20°  sáb ⛅21°  dom ⛅22°  seg ⛅20°
  💨 Ar         Boa (AQI 49)  PM2.5: 15.6µg/m³
  ☀️  UV         Moderado (5.4)
  🌊 Represa    62.1% [███████████░░░░░░░░░]  Cotia
  🦟 Dengue     Alerta  12 casos/sem
  🔥 Queimadas  5 focos  raio 100km
  🌅 Sol/Lua    ↑06:40  ↓17:29  Outono  🌔Gibosa 65%
  ────────────────────────────────────────────────
  JSON: climabr.app/api/sp/cotia.json
  SVG:  climabr.app/sp/cotia.svg
GET /{estado}/{cidade}?format=1
one-liner

Linha única para status bars: tmux, i3bar, polybar, zsh prompt.

$ curl -s climabr.app/sp/cotia?format=1
Cotia/SP ⛅18°C 💨AQI49 ☀️UV5.4 🌊62.1% 🦟Alerta 🔥5 🌔Gibosa Crescente

Dica — adicionar ao .zshrc:

PROMPT='$(curl -s climabr.app/sp/cotia?format=1) %# '
GET /{estado}/{cidade}?format=2
plain text

Texto sem cores ANSI — para pipes, grep, awk e scripts.

$ curl climabr.app/sp/cotia?format=2 | grep Dengue
  🦟 Dengue     Alerta  12 casos/sem

$ curl climabr.app/sp/cotia?T          # alias: desativa ANSI
GET /api/{estado}/{cidade}.json
JSON

JSON completo com todos os campos. Access-Control-Allow-Origin: *

$ curl -s climabr.app/api/sp/cotia.json | jq '.qualidade_ar'
{
  "indice": 49,
  "categoria": "Boa",
  "principal_poluente": "PM2.5",
  "pm25": 15.6,
  "pm10": 19.3,
  "fonte": "Open-Meteo / Copernicus"
}

$ curl -s climabr.app/api/sp/cotia.json | jq '.reservatorio.nivel_pct'
62.1

$ curl -s climabr.app/api/sp/cotia.json | jq '.previsao[0].max, .uv.indice, .dengue.nivel_label'
{
  "max": 20,
  "indice": 5.4,
  "nivel_label": "Alerta"
}
GET /{estado}/{cidade}?format=prometheus
Prometheus

Métricas no formato Prometheus para Grafana, alertmanager ou qualquer sistema de observabilidade.

$ curl -s climabr.app/sp/cotia?format=prometheus
# HELP climabr_aqi_us AQI US (qualidade do ar)
# TYPE climabr_aqi_us gauge
climabr_aqi_us{cidade="Cotia",estado="SP"} 49
climabr_uv_indice{cidade="Cotia",estado="SP"} 5.4
climabr_reservatorio_pct{cidade="Cotia",estado="SP",nome="Cotia"} 62.1
climabr_dengue_nivel{cidade="Cotia",estado="SP"} 2
climabr_dengue_casos_semana{cidade="Cotia",estado="SP"} 12
climabr_queimadas_focos{cidade="Cotia",estado="SP"} 5
climabr_temperatura_c{cidade="Cotia",estado="SP"} 18.6
climabr_temp_max_c{cidade="Cotia",estado="SP"} 20
climabr_chuva_mm{cidade="Cotia",estado="SP"} 0

Configuração no prometheus.yml:

scrape_configs:
  - job_name: climabr
    metrics_path: /sp/cotia
    params:
      format: [prometheus]
    static_configs:
      - targets: [climabr.app]
GET /{estado}/{cidade}.svg
SVG

Card visual 480px com dark theme — para README do GitHub, Discord, Twitter/X e Open Graph.

# Baixar como arquivo
$ curl -o cotia.svg climabr.app/sp/cotia.svg

# Embed em Markdown (GitHub README)
![Cotia/SP](https://climabr.app/sp/cotia.svg)

# Também funciona com ?format=svg
$ curl climabr.app/sp/cotia?format=svg
GET /
geolocalização

Sem parâmetros: detecta a cidade automaticamente pelo IP via Cloudflare.

$ curl climabr.app
# → retorna painel da sua cidade atual

$ curl climabr.app?format=1
# → one-liner da sua cidade atual

Parâmetros

?format=1 One-liner compacto (tmux/i3/polybar/prompt)
?format=2 Texto sem cores ANSI
?format=prometheus Métricas Prometheus
?format=svg Card SVG (mesmo que .svg)
?format=json JSON completo (mesmo que /api/...)
?T Desativa cores ANSI (alias de format=2)
.svg Extensão SVG na URL (ex: /sp/cotia.svg)
.json Extensão JSON via Worker (ex: /sp/cotia.json)

Campos JSON

previsao[] array Previsão 7 dias — temp, chuva, UV, condição (Open-Meteo)
qualidade_ar object AQI US, PM2.5, PM10, NO₂, O₃ (Open-Meteo/Copernicus)
uv object Índice UV máximo do dia e categoria
sol object Nascer/pôr do sol, duração, estação do ano
lua object Fase lunar, iluminação % e nome
reservatorio object Nível % — SABESP (SP), COPASA (MG), ONS/ANA aprox.
queimadas object Focos de queimada num raio de 100km (NASA FIRMS)
dengue object Nível de alerta 0-4, casos/semana (InfoDengue/Fiocruz)
chikungunya object Nível de alerta e casos (InfoDengue/Fiocruz)
zika object Nível de alerta e casos (InfoDengue/Fiocruz)
temperatura_atual number Temperatura atual em °C
bandeira_tarifaria object Cor e adicional R$/kWh (quando disponível)

Exemplos Rápidos

# Painel completo de qualquer cidade
curl climabr.app/rj/rio-de-janeiro
curl climabr.app/mg/belo-horizonte
curl climabr.app/rs/porto-alegre

# Alertas de dengue em SP
curl -s climabr.app/api/sp/sao-paulo.json | jq '.dengue'

# AQI de todas as capitais via loop
for uf in sp rj mg rs ce pe ba pr; do
  curl -s "climabr.app/$${uf}/$${uf}?format=1" 2>/dev/null
done

# Reservatório da sua cidade no Waybar/i3bar
curl -s climabr.app/sp/cotia?format=1 | grep -oP '🌊\S+'

# Card SVG para README
echo '![Clima](https://climabr.app/sp/sao-paulo.svg)' >> README.md

# Alertas do estado
curl -s climabr.app/api/sp/alertas.json | jq '.alertas'
5.571 municípios · dados de fontes públicas · sem autenticação llms.txt