Você ainda atualiza sua planilha de investimentos manualmente? Ou usa o GOOGLEFINANCE() que tem atraso de 20 minutos e falha com FIIs e BDRs constantemente?
Neste tutorial, vamos criar uma função personalizada =BRAPI("PETR4") no Google Sheets que busca o preço em tempo real (sem delay), além de indicadores fundamentalistas, usando a API da brapi.dev.
O Segredo: Google Apps Script
O Google Sheets tem uma linguagem de programação embutida chamada Apps Script (baseada em JavaScript). Vamos usá-la para conectar na API.
Passo 1: Abrindo o Editor
- Abra sua planilha no Google Sheets.
- No menu, vá em Extensões > Apps Script.
Passo 2: O Código Mágico
Apague o código que estiver lá e cole este:
/**
* Busca dados de uma ação na API da brapi.dev
*
* @param {string} ticker O código da ação (ex: "PETR4").
* @param {string} atributo O dado desejado: "price", "change", "pl", "dy", "sector".
* @return O valor do dado solicitado.
* @customfunction
*/
function BRAPI(ticker, atributo) {
if (!ticker) return "Ticker vazio";
// SEU TOKEN AQUI (Pegue em https://brapi.dev)
var token = "SEU_TOKEN_AQUI";
// Cache para evitar chamar a API repetidamente para o mesmo ticker na mesma execução
var cache = CacheService.getScriptCache();
var cacheKey = ticker + "_" + atributo;
var cached = cache.get(cacheKey);
if (cached != null) {
return isNaN(cached) ? cached : parseFloat(cached);
}
var url = "https://brapi.dev/api/quote/" + ticker + "?token=" + token + "&fundamental=true";
try {
var response = UrlFetchApp.fetch(url);
var json = JSON.parse(response.getContentText());
var stock = json.results[0];
var valor = "";
// Mapeamento de atributos
switch(atributo.toLowerCase()) {
case "price":
valor = stock.regularMarketPrice;
break;
case "change":
valor = stock.regularMarketChangePercent;
break;
case "pl":
valor = stock.fundamentals.priceToEarnings;
break;
case "dy":
valor = stock.fundamentals.dividendYield;
break;
case "pvp":
valor = stock.fundamentals.priceToBook;
break;
case "sector":
valor = stock.sector;
break;
default:
return "Atributo inválido. Use: price, change, pl, dy, pvp, sector";
}
// Salva no cache por 10 minutos (600 segundos) para economizar requisições
cache.put(cacheKey, String(valor), 600);
return valor;
} catch (e) {
return "Erro: " + e.message;
}
}Passo 3: Salvando
- Clique no ícone de disquete (Salvar).
- Dê um nome ao projeto (ex: "BrapiAPI").
Passo 4: Usando na Planilha
Volte para a planilha e digite em qualquer célula:
- Para ver o preço:
=BRAPI("WEGE3"; "price") - Para ver o P/L:
=BRAPI("WEGE3"; "pl") - Para ver o Dividend Yield:
=BRAPI("TAEE11"; "dy")
Pronto! Agora você tem dados profissionais direto no seu Excel online.
Vantagens sobre o GOOGLEFINANCE
- FIIs e BDRs: A brapi funciona perfeitamente para todos os ativos da B3, onde o Google Finance costuma falhar.
- Fundamentos: O Google não entrega P/L, P/VP ou Dividend Yield. Com esse script, você tem tudo isso.
- Tempo Real: Dados atualizados, essenciais para Day Trade ou Swing Trade.
Dica Pro: Atualização em Massa
Se você tem uma lista longa de ativos (A2:A20), evite chamar a API linha por linha, pois pode ficar lento. O ideal é adaptar o script para receber um intervalo (=BRAPI(A2:A20)) e fazer uma única chamada à API pedindo múltiplos tickers separados por vírgula. A API da brapi suporta isso!
Mas, para começar, a função simples acima já vai revolucionar sua organização financeira.
