# Microsoft Excel
URL: /docs/examples/excel.mdx

Aprenda a importar cotações da bolsa brasileira no Excel usando Power Query e VBA com a API brapi.dev. Inclui exemplos com autenticação por header e query param.

***

title: 'Microsoft Excel'
description: >-
Aprenda a importar cotações da bolsa brasileira no Excel usando Power Query e VBA
com a API brapi.dev. Inclui exemplos com autenticação por header e query param.
full: false
keywords: brapi, api, excel, power query, vba, planilha, cotações, batch
openGraph:
title: Integração com Excel - brapi.dev
description: Importe cotações da bolsa brasileira no Excel usando Power Query e VBA
type: website
locale: pt\_BR
lastUpdated: '2026-05-22T00:00:00.000Z'
lang: pt-BR
howToSteps:

* name: 'Abra o Excel e acesse Dados'
  text: 'Abra o Microsoft Excel e vá para a guia Dados na barra de ferramentas.'
* name: 'Conecte-se à API brapi.dev via Web'
  text: 'Clique em Obter Dados > De Outras Fontes > Da Web e insira a URL: [https://brapi.dev/api/quote/PETR4?token=SEU\_TOKEN](https://brapi.dev/api/quote/PETR4?token=SEU_TOKEN)'
* name: 'Converta os dados JSON para tabela'
  text: 'O Power Query abrirá mostrando os dados JSON. Clique em Converter > Para Tabela e expanda as colunas conforme necessário.'
* name: 'Carregue e atualize os dados'
  text: 'Clique em Fechar e Carregar. Para atualizar, clique com botão direito na tabela e selecione Atualizar.'
  howToTools:
* 'Microsoft Excel'
* 'Power Query'
  howToSupplies:
* 'Conta brapi.dev'
* 'Token de API brapi.dev'

***

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)

1. Abra o Excel e vá para a guia **Dados**
2. Clique em **Obter Dados** > **De Outras Fontes** > **Da Web**
3. 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
   ```
4. Clique em **OK**
5. O Power Query abrirá uma janela mostrando os dados JSON
6. Clique em **Converter** > **Para Tabela**
7. Expanda as colunas conforme necessário
8. 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
    Expanded
```

Este método é mais seguro pois o token não fica visível na URL.

### Atualização Automática

Para atualizar os dados automaticamente:

1. Clique com botão direito na tabela
2. Selecione **Atualizar**
3. 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:

```vb
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 Sub
```

> **Nota**: Requer biblioteca [VBA-JSON](https://github.com/VBA-tools/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

1. **Busque em lote**: Passe múltiplos tickers separados por vírgula (`PETR4,VALE3,ITUB4`) em uma única requisição
2. **Monitore seu uso**: Acompanhe o consumo no [dashboard](https://brapi.dev/dashboard)
3. **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](/docs/examples/google-sheets)
* Explore [outros exemplos](/docs/examples)
* Consulte a [documentação da API](/docs)


