Ler Qualquer API com VBA – Passo a Passo Completo
Quer aprender como ler qualquer API com VBA? Hoje eu vou te mostrar o passo a passo para fazer isso de forma eficiente!
O que você vai aprender?
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail :
O que é uma API e como ela funciona no VBA?
Fala, Impressionadores! Na aula de hoje eu vou te mostrar como ler informações de API com VBA!
Uma API nada mais é do que um programa/sistema em que você pode fazer requisições de informações com base em um parâmetro.
No nosso exemplo vamos ter uma API que traz as informações calorias de alimentos, então você vai passar para a API o nome do alimento e ela vai retornar essas informações calóricas.
Acontece que essas APIs geralmente fornecem os resultados no formato json, então podemos entrar no git hub para baixar o Json converter (conversor de json).
Isso vai facilitar muito a sua vida, pois ele vai transformar esse resultado em uma forma que você consiga entender e já fica pronto para usar!
Além disso vamos precisar da biblioteca Microsoft Scriping Runtime e da biblioteca WinHTTP Services no seu VBA para consultar API!
E aí, vamos aprender como fazer a requisição para API? Vem comigo que eu te ensino!
Pré-requisitos para ler uma API com VBA – Ativando referências no VBA
Precisaremos utilizar uma biblioteca específica do Excel/VBA para nos auxiliar na aula de hoje. Portanto, precisaremos ativá-la para fazer esses procedimentos a seguir.
Precisamos primeiramente abrir o ambiente de VBA, a partir do atalho do teclado Alt(+Fn)+F11.
Logo após você terá, com o VBA aberto, que:
- Ir na guia Ferramentas
- Referências…
- Marcar a caixinha correspondente ao “Microsoft WinHTTP Services” (como na foto abaixo) e referente também ao “Microsoft Scripting Runtime”
- OK

Criando o código VBA para ler uma API
Inserindo um Módulo no VBA
Para criar um código dentro de um módulo, precisamos primeiramente abrir o ambiente de VBA, a partir do atalho do teclado Alt(+Fn)+F11.
Como não temos nenhum módulo destinado ao tema da aula de hoje, e por questão de organização, vamos criar um módulo à parte.
Vamos na guia Inserir > Módulo, e uma caixa branca se abrirá.

Por padrão ele terá o nome de “Módulo 1”. Vamos mudar sua propriedade Name para “modModeloLerAPI”.
Colocaremos a seguinte sub dentro dele:
Sub testeLerAPI()
'https://rapidapi.com/calorieninjas/api/calorieninjas/
Dim requisicao As New WinHttpRequest
Dim resposta As Object
Dim url As String, parametros As String
Range("B2:B7").ClearContents
' Definir a URL e os parâmetros
url = "https://calorieninjas.p.rapidapi.com/v1/nutrition"
parametros = "?query=" & Cells(1, 2).Value
' Enviar a requisição
requisicao.Open "Get", url & parametros
requisicao.SetRequestHeader "X-RapidAPI-Key", "5da6f65d38mshe9c3f30892c766ap1f913bjsnfc5107da89eb"
requisicao.SetRequestHeader "X-RapidAPI-Host", "calorieninjas.p.rapidapi.com"
requisicao.Send
' Tratamento de erros
If requisicao.Status <> 200 Then
MsgBox "Erro: " & requisicao.ResponseText
Exit Sub
End If
' Converter o JSON
Set resposta = JsonConverter.ParseJson(requisicao.ResponseText)
' Tratar as informações
Dim itens As Collection
Set itens = resposta("items")
Dim alimento As Dictionary
Set alimento = itens(1)
Cells(2, 2).Value = alimento("serving_size_g")
Cells(4, 2).Value = alimento("calories")
Cells(5, 2).Value = alimento("carbohydrates_total_g")
Cells(6, 2).Value = alimento("protein_g")
Cells(7, 2).Value = alimento("fat_total_g")
End SubExplicando o código passo a passo
O código que criamos no VBA segue uma lógica simples:
Essa sequência permite que você adapte o mesmo código para qualquer API, alterando apenas a URL, os parâmetros e o tratamento dos dados recebidos.
- Declaração das variáveis
requisicao: um objeto do tipo WinHttpRequest, proveniente da biblioteca Microsoft WinHTTP Services (ativada anteriormente).resposta: um objeto que armazenará o retorno da API.urleparametros: variáveis do tipo String que armazenam, respectivamente, o endereço da API e os parâmetros da consulta.
- Limpeza de células
Antes de buscar os dados, o código apaga o conteúdo do intervalo B2:B7 para garantir que os novos resultados não se misturem com informações anteriores. - Definição da URL e parâmetros
url: recebe o endereço da API que será acessada — neste caso,https://calorieninjas.p.rapidapi.com/v1/nutrition.parametros: recebe"?query=" & Cells(1, 2).Value, que concatena a consulta digitada pelo usuário na célula B1 com o parâmetro de busca exigido pela API.
- Abertura e configuração da requisição HTTP
- O objeto
requisicaoé aberto no modo GET, combinandourleparametros. - São definidos no cabeçalho os parâmetros exigidos pela API (mostrados no vídeo), como a API Key.
- O objeto
- Envio da requisição
O comando.Sendenvia a solicitação para a API. - Tratamento de erros
Uma estruturaIfverifica serequisicao.Statusé diferente de 200 (o código de resposta esperado para sucesso).- Se for diferente, o VBA exibe a mensagem “Erro” e encerra a execução com
Exit Sub.
- Se for diferente, o VBA exibe a mensagem “Erro” e encerra a execução com
- Leitura da resposta JSON
resposta: armazena o retorno da API, que chega em formato JSON.itens: declarado comoCollectionpara armazenar a lista retornada pelo campo"items".alimento: declarado comoDictionarypara armazenar as propriedades do primeiro elemento da coleção.
- Preenchimento da planilha com os dados recebidos
- B2 →
serving_size_g - B4 →
calories - B5 →
carbohydrates_total_g - B6 →
protein_g - B7 →
fat_total_g
- B2 →
- Fim do código
A rotina é concluída e os dados ficam visíveis na planilha.
Exemplo prático: Lendo calorias de alimentos pela API CalorieNinjas
Para testar, execute o código usando termos como “Banana” ou “Tomato” (tomate, em inglês) e veja o resultado preenchendo automaticamente as células.


Conclusão – Ler Qualquer API com VBA
O objetivo dessa aula foi te mostrar como você pode ler qualquer API com VBA, ou seja, como você vai pegar uma API que está precisando e vai fazê-la funcionar no VBA.
Isso é muito importante, pois sabendo esse passo inicial tudo vai ficar mais fácil na hora de usar suas APIs e ainda vai fazer com que você queira usá-las para facilitar seus trabalhos!
Até o próximo post! Fique ligado no nosso canal do Youtube para mais conteúdo de VBA! Um abraço!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!
Hashtag Treinamentos
Para acessar outras publicações de VBA, clique aqui!
Posts mais recentes de VBA
- Como usar o Selenium no VBA para Automatizar Buscas na WebComo usar o Selenium no VBA para automação web no Excel. Aprenda passo a passo a instalar, configurar e capturar dados online com Selenium VBA + ChromeDriver.
- Preencher um Documento em Word com VBA: Guia CompletoAprenda a preencher um documento em Word com VBA usando dados do Excel. Tutorial prático para automatizar documentos como contratos e procurações.
- Planilha para Controle de Ações e IR 2.0 – Download Grátis e Guia CompletoBaixe grátis a Planilha para Controle de Ações e IR. Organize seus investimentos, calcule Imposto de Renda e acompanhe tudo com gráficos no Excel.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.







