01 / Python
Buscar a inflação brasileira mais recente
Este exemplo usa a variação do IPCA acumulada em 12 meses. A resposta mantém período, unidade e links da fonte oficial.
import requests
url = "https://open-economics-data.knbf982hkn.chatgpt.site/api/v1/indicators/br-ipca-12m/latest"
response = requests.get(url, timeout=30)
response.raise_for_status()
payload = response.json()
latest = payload["data"][0]
print(f"IPCA 12 months: {latest['value']}% ({latest['period']})")pip install requests
02 / JavaScript
Consultar a meta Selic atual
Funciona em Node.js moderno e no navegador. CORS está habilitado em todos os endpoints públicos.
const url = "https://open-economics-data.knbf982hkn.chatgpt.site/api/v1/indicators/br-selic-target/latest";
const response = await fetch(url);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const { data, meta } = await response.json();
console.log({
value: data[0].value,
period: data[0].period,
unit: meta.indicator.unit_symbol,
source: meta.provenance.source_url,
});03 / CSV
Baixar IPCA para Excel, Sheets ou R
Adicione format=csv a uma consulta de observações. O arquivo repete IDs e URLs de origem em cada linha, preservando a proveniência fora do JSON.
https://open-economics-data.knbf982hkn.chatgpt.site/api/v1/indicators/br-ipca-monthly/observations?start=2024-01-01&format=csvBaixar CSV de exemplo↓04 / pandas
Comparar Selic e inflação por mês
A Selic é diária e o IPCA em 12 meses é mensal. O exemplo escolhe a última meta Selic de cada mês antes de combinar as séries — uma decisão explícita, não uma transformação escondida.
import requests
import pandas as pd
API = "https://open-economics-data.knbf982hkn.chatgpt.site/api/v1"
def series(indicator):
response = requests.get(
f"{API}/indicators/{indicator}/observations",
params={"start": "2020-01-01", "order": "asc", "limit": 5000},
timeout=30,
)
response.raise_for_status()
return pd.DataFrame(response.json()["data"])
inflation = series("br-ipca-12m").assign(month=lambda x: x["date"].str[:7])
selic = series("br-selic-target").assign(month=lambda x: x["date"].str[:7])
selic_monthly = selic.groupby("month", as_index=False).last()
comparison = inflation[["month", "value"]].merge(
selic_monthly[["month", "value"]], on="month", suffixes=("_ipca", "_selic")
)
print(comparison.tail(12).to_string(index=False))pip install requests pandas