cUrl Reference
v1.0O climabr.app detecta automaticamente requisições de terminal e retorna dados formatados. Suporta múltiplos formatos de saída.
URL Base
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
/{estado}/{cidade} 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
/{estado}/{cidade}?format=1 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) %# '
/{estado}/{cidade}?format=2 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
/api/{estado}/{cidade}.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" }
/{estado}/{cidade}?format=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] /{estado}/{cidade}.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)  # Também funciona com ?format=svg $ curl climabr.app/sp/cotia?format=svg
/ 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 '' >> README.md # Alertas do estado curl -s climabr.app/api/sp/alertas.json | jq '.alertas'