Exemplos
Microsoft Excel
Carregando conteúdo...
Nesta página
Importe cotações no Excel com Power Query ou VBA.
O modo simples do Power Query não envia headers. Passe o token na URL.
https://brapi.dev/api/quote/PETR4,VALE3,ITUB4?token=SEU_TOKENSepare os tickers por vírgula para buscar todos em uma requisição. O número de tickers por requisição depende do plano.
Crie uma consulta em Dados > Obter Dados > De Outras Fontes > Consulta Nula. Abra o Editor Avançado e cole:
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
ExpandedAssim o token não aparece na URL.
Clique com o botão direito na tabela e selecione Atualizar. Para atualizar de tempos em tempos, use Propriedades da Consulta.
O código lê o token da variável de ambiente BRAPI_API_KEY do Windows. Ele
precisa da biblioteca VBA-JSON.
Sub GetBrapiQuote()
Dim http As Object
Dim token As String
Dim tickers As String
Dim url As String
token = Environ("BRAPI_API_KEY")
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 Sub| Método | Quando usar | Risco |
|---|---|---|
Authorization: Bearer | VBA e Power Query com Editor Avançado | O token não aparece na URL. |
?token=SEU_TOKEN | Power Query no modo simples | O token aparece na URL e nos logs. |
Acompanhe o uso no painel.