Utilizar APIs para coletar dados online pode acelerar e automatizar significativamente o processo de análise de dados. No lugar de baixar planilhas de Excel manualmente, podemos utilizar uma API para importar os dados online através de código!
Diversas bases de dados hoje em dia possuem APIs para livre utilização, como Banco Central, Portal de Dados Abertos, IBGE e outras. Apesar de cada API possuir suas particularidades, todas elas funcionam de maneira semelhante. Dessa forma, entender os fundamentos sobre APIs é importante para conseguir atender as demandas de análises de dados diversas no dia a dia.
Neste artigo, explicamos intuitivamente o que são APIs, como funcionam e mostramos um exemplo em Python de utilização.
Aprenda a coletar, processar e analisar dados na formação de Do Zero à Análise de Dados com Python.
Entendendo APIs com uma analogia
Em termos simples, podemos entender uma API como um garçom em um restaurante atuando como um intermediário entre o cliente e a cozinha.
- Cliente = Cliente (i.e., usuário solicitante, navegador, app);
- Garçom = API (i.e., Application Programming Interface, comunicação entre cliente e servidor);
- Cozinha = Servidor (i.e., processa pedido, entrega uma resposta)
Em termos práticos, APIs são muito utilizadas para transmissão de dados e usamos pacotes e funções de linguagens de programação para:
- Fazer uma requisição para a API (i.e., apontar uma URL base e parâmetros/filtros da requisição de dados);
- Obter uma resposta da API (i.e., resultado bem/mal sucedido, conteúdo/corpo);
- Transformar a resposta em um objeto da linguagem (i.e., de XML/JSON/etc. para uma tabela de dados).
Exemplo prático: API do Banco Central
Sistema Gerenciador de Séries Temporais (SGS) é uma API para coletar dados do BC. Nessa página está a documentação de como usar a API para nosso exemplo.
A URL base é: https://api.bcb.gov.br/dados/serie/bcdata.sgs.{codigo_serie}/dados?formato=json&dataInicial={dataInicial}&dataFinal={dataFinal}
E os parâmetros básicos disponíveis são:
{codigo_serie}
: é o código da série temporal a ser coletada (i.e., coloque “1” para obter a “taxa de câmbio”){dataInicial}
: é a data da primeira observação desejada, no formato “dd/MM/aaaa”{dataFinal}
: é a data da última observação desejada, no formato “dd/MM/aaaa”
Exemplo de como fica a URL sem nenhum parâmetro além do {codigo_serie}
:
https://api.bcb.gov.br/dados/serie/bcdata.sgs.1/dados?formato=json
Os dados nessa URL podem ser acessados pelo navegador, mas como obtê-los através da linguagem de programação?
Para coletar os dados do SGS/BC no Python podemos usar a biblioteca requests em duas etapas:
Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.
- Faça uma requisição, obtendo uma resposta:
<Response [200]>
- Transforme o conteúdo da resposta (neste caso é do tipo JSON) em um
DataFrame
:
data | valor | |
---|---|---|
9855 | 02/04/2024 | 5.0476 |
9856 | 03/04/2024 | 5.0724 |
9857 | 04/04/2024 | 5.0237 |
9858 | 05/04/2024 | 5.0520 |
9859 | 08/04/2024 | 5.0421 |
Informações importantes
- Fontes de dados públicas frequentemente podem apresentar instabilidades ou alterações sem aviso prévio. Se você obteve um erro ao tentar extrair dados públicos, verifique no site da instituição se está tudo ok e tente novamente em outro momento se for o caso.
- APIs de dados públicos geralmente possuem limitações de requisição, portanto, utilize com cautela e responsabilidade, evitando ser bloqueado ou realizar requisições de dados desnecessárias.
- Há formas de tornar o código de requisição de dados mais robusto contra falhas, consulte a documentação do pacote utilizado na aula para se aprofundar.
Conclusão
Utilizar APIs para coletar dados online pode acelerar e automatizar significativamente o processo de análise de dados. Diversas bases de dados hoje em dia possuem APIs para livre utilização, como Banco Central, Portal de Dados Abertos, IBGE e outras. Neste artigo, explicamos intuitivamente o que são APIs, como funcionam e mostramos um exemplo em Python de utilização.
Quer aprender mais?
Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.