Microsoft Excel
Importe cotações automáticas da bolsa brasileira no Microsoft Excel usando Power Query ou VBA.
Usando Power Query
O Power Query permite importar dados JSON diretamente no Excel sem necessidade de programação.
Passo a Passo (modo simples)
- Abra o Excel e vá para a guia Dados
- Clique em Obter Dados > De Outras Fontes > Da Web
- Insira a URL (o Power Query não suporta headers customizados no modo básico):
https://brapi.dev/api/quote/PETR4,VALE3,ITUB4?token=SEU_TOKEN - Clique em OK
- O Power Query abrirá uma janela mostrando os dados JSON
- Clique em Converter > Para Tabela
- Expanda as colunas conforme necessário
- Clique em Fechar e Carregar
Dica: Passe múltiplos tickers separados por vírgula para buscar todos em uma única requisição. O limite de tickers por requisição varia por plano (Gratuito: 1, Startup: 10, Pro: 20).
Power Query com Header Auth (avançado)
Para usar o header Authorization: Bearer no Power Query, crie uma consulta via o Editor Avançado (Dados > Obter Dados > De Outras Fontes > Consulta Nula, depois Editor Avançado):
let
Token = "SEU_TOKEN",
Tickers = "PETR4,VALE3,ITUB4",
Url = "https://brapi.dev/api/quote/" & Tickers,
Source = Json.Document(
Web.Contents(Url, [
Headers = [
#"Authorization" = "Bearer " & Token
]
])
),
Results = Source[results],
Table = Table.FromList(Results, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
Expanded = Table.ExpandRecordColumn(Table, "Column1", {
"symbol", "shortName", "regularMarketPrice",
"regularMarketChange", "regularMarketChangePercent",
"regularMarketVolume", "marketCap"
})
in
ExpandedEste método é mais seguro pois o token não fica visível na URL.
Atualização Automática
Para atualizar os dados automaticamente:
- Clique com botão direito na tabela
- Selecione Atualizar
- Ou configure atualização automática em Propriedades da Consulta
VBA com Header Auth
Se precisar de mais controle, use VBA com autenticação via header:
Sub GetBrapiQuote()
Dim http As Object
Dim token As String
Dim tickers As String
Dim url As String
token = "SEU_TOKEN"
tickers = "PETR4,VALE3,ITUB4"
url = "https://brapi.dev/api/quote/" & tickers
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", url, False
http.setRequestHeader "Authorization", "Bearer " & token
http.Send
If http.Status = 200 Then
' Requer biblioteca VBA-JSON para parsing
Dim json As Object
Set json = JsonConverter.ParseJson(http.responseText)
Dim i As Long
i = 1
Dim result As Variant
For Each result In json("results")
Range("A" & i).Value = result("symbol")
Range("B" & i).Value = result("regularMarketPrice")
Range("C" & i).Value = result("regularMarketChangePercent")
i = i + 1
Next result
Else
MsgBox "Erro HTTP " & http.Status & ": " & http.responseText
End If
End SubNota: Requer biblioteca VBA-JSON para parsing de JSON.
Autenticação: Header vs Query Param
| Método | Quando usar | Segurança |
|---|---|---|
Authorization: Bearer (header) | VBA, Power Query avançado | Token não aparece na URL |
?token=SEU_TOKEN (query param) | Power Query simples, importação rápida | Token visível na URL e logs |
Para importações simples no Power Query, o ?token= funciona sem configuração extra. Para VBA e scripts automatizados, prefira o header Authorization: Bearer.
Dicas de Uso
- Busque em lote: Passe múltiplos tickers separados por vírgula (
PETR4,VALE3,ITUB4) em uma única requisição - Monitore seu uso: Acompanhe o consumo no dashboard
- Token em célula: No VBA, considere ler o token de uma célula nomeada (
Range("TokenAPI").Value) em vez de hardcodar no código
Próximos Passos
- Veja como usar no Google Sheets
- Explore outros exemplos
- Consulte a documentação da API