06 / Receitas práticas

Dados econômicos do Brasil, do endpoint à resposta.

Exemplos completos e copiáveis para buscar IPCA e Selic em minutos. Sem cadastro, chave ou SDK.

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=csv
Baixar 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

Precisa de outra série?Pesquise o catálogo por conceito, fonte ou código oficial e substitua o ID estável no exemplo.
Pesquisar indicadores