python-bcb

python-bcb é uma interface em Python estruturada para obter informações da API de dados abertos do Banco Central do Brasil.

_images/ipca12m-acumulado.png

O projeto de Dados Abertos do Banco Central do Brasil disponibiliza diversas APIs provendo acesso direto a dados de:

  • Moedas

  • Taxas de Juros

  • Índices de preços

  • Informações de Instituições Financeiras

  • Expectativas do Mercado (Expectativas do Boletim FOCUS)

  • E muito outros …

O pacote python-bcb implementa interfaces para algumas APIs disponibilizadas pelo Banco Central de forma que o resultado das consultas, na maioria dos casos, é um DataFrame pandas formatado com os dados.

Instalação

python-bcb está disponível no Python Package Index e pode ser instalado via pip usando.

pip install python-bcb

APIs implementadas

sgs

Utiliza o webservice do SGS (Sistema Gerenciador de Séries Temporais) para obter os dados. Diversas séries estão disponíveis no SGS: taxas de juros, índices de preços, indicadores econômicos, …, e com um simples chamado da função bcb.sgs.get() é possível tê-las em um DataFrame pandas. Veja a documentação em SGS.

Conversor de Moedas

Implementado no módulo currency, um conjunto de funções que realiza webscraping no site do Conversor de Moedas do Banco Central, possível obter séries temporais de frequência diária de diversas moedas. Veja a documentação em Conversor de Moedas.

Moedas OData

O Banco Central disponibiliza diversas informações em APIs que seguem o padrão OData <https://odata.org>. A classe bcb.PTAX implementa uma API OData que entrega os boletins diários de taxas de câmbio do Banco Central. Esta API entrega mais informações do que o que é obtido no Conversor de Moedas. Veja a documentação em Moedas.

Expectativas

A API de Expectativas de Mercado traz todas as estatísticas das variáveis macroeconômicas fornecidos por um conjuto de instituições do mercado financeiro. A classe bcb.Expectativas implementa essa interface no padrão OData. Veja a documentação em Expectativas.

Taxas de Juros

API que retorna as taxas de juros de operações de crédito por instituição financeira (médias dos últimos 5 dias). A classe bcb.TaxaJuros implementa essa interface. Veja a documentação em Taxas de Juros.

ODataAPI

O BCB disponibiliza diversas APIs que seguem a especificação OData. Algumas APIs mais utilizadas como as bcb.PTAX e bcb.Expectativas possuem uma classe específica, para as APIs menos utilizadas, é possível utilizar a classe bcb.ODataAPI para acessar a API. Toda API que segue a especificação OData possui uma URL de acesso, esta URL é passada para a classe bcb.ODataAPI e o objeto criado dá total acesso a API. Veja a documentação em Classe ODataAPI.

Muito mais

Veja todos os endpoints implementados na documentação de nossa API.

Uso

In [1]: from bcb import sgs

In [2]: sgs.get(('IPCA', 433), last=12)
Out[2]: 
            IPCA
Date            
2023-06-01 -0.08
2023-07-01  0.12
2023-08-01  0.23
2023-09-01  0.26
2023-10-01  0.24
2023-11-01  0.28
2023-12-01  0.56
2024-01-01  0.42
2024-02-01  0.83
2024-03-01  0.16
2024-04-01  0.38
2024-05-01  0.46

Índices e tabelas