Skip to content

Instantly share code, notes, and snippets.

@danperrout
Last active January 24, 2026 19:37
Show Gist options
  • Select an option

  • Save danperrout/b27197056fa38d0d669332647ab89d7a to your computer and use it in GitHub Desktop.

Select an option

Save danperrout/b27197056fa38d0d669332647ab89d7a to your computer and use it in GitHub Desktop.
API Função TESOURODIRETO Google Sheets
/*
* @return Acessa radaropcoes.com e retorna informações de um título específico do Tesouro Direto
* Endpoint: https://api.radaropcoes.com/bonds/{bondName}
*/
function TESOURODIRETO(bondName, argumento = "r") {
let srcURL = "https://api.radaropcoes.com/bonds/" + encodeURIComponent(bondName);
let response = UrlFetchApp.fetch(srcURL, {
muteHttpExceptions: true
});
console.log(srcURL)
if (response.getResponseCode() !== 200) {
throw new Error("Erro ao acessar a API ou título não encontrado.");
}
let bond = JSON.parse(response.getContentText());
// argumento:
// "r" → valor de resgate
// qualquer outro → valor unitário de investimento
if (argumento === "r") {
return bond.unitaryRedemptionValue;
} else {
return bond.unitaryInvestmentValue;
}
}
@tuliopascoal
Copy link

@gwstavo , talvez seja porque desde hoje o código mais atual que estava funcionando está retornando 403.
O TD deve ter bloqueado os acessos novamente...

Alguém tem alguma novidade?

@thiagochaim
Copy link

Não funcionou para mim. Copiei o código e a fórmula mas não consegui. Será que estou fazendo algo errado? @thiagochaim @WadjoResende

Realmente parou de funcionar novamente.
Que tristeza.

@andretc-cit
Copy link

Vish, tá retornando 403 da url "https://www.tesourodireto.com.br/documents/d/guest/rendimento-resgatar-csv?download=true";, talvez tenham limitado

@tuliopascoal
Copy link

Sim, está fora desde meados da quarta/quinta-feira.
Alguém já descobriu uma forma diferente?

@gabrielgasp
Copy link

gabrielgasp commented Sep 6, 2025

Pra quem quer tentar uma implementação própria pra puxar os dados, a dica que eu posso dar é tentar achar uma forma de fazer a requisição que simule um browser. Pelos meus testes, quando você tenta fazer um fetch direto ou até mesmo um wget, eles conseguem detectar e bloquear (403), mas quando eles acham que o acesso está vindo de um browser tipo chrome eles deixa passar na maioria das vezes.

Essa api ai de cima eu implementei com Golang usando uma lib que consegue fazer o request impersonando o Chrome. Por enquanto tá dando certo.

@hdillax
Copy link

hdillax commented Sep 8, 2025

Pra quem quer tentar uma implementação própria pra puxar os dados, a dica que eu posso dar é tentar achar uma forma de fazer a requisição que simule um browser. Pelos meus testes, quando você tenta fazer um fetch direto ou até mesmo um wget, eles conseguem detectar e bloquear (403), mas quando eles acham que o acesso está vindo de um browser tipo chrome eles deixa passar na maioria das vezes.

Essa api ai de cima eu implementei com Golang usando uma lib que consegue fazer o request impersonando o Chrome. Por enquanto tá dando certo.

Excelente, meu caro! Muito obrigado

@thiagochaim
Copy link

Pra quem quer tentar uma implementação própria pra puxar os dados, a dica que eu posso dar é tentar achar uma forma de fazer a requisição que simule um browser. Pelos meus testes, quando você tenta fazer um fetch direto ou até mesmo um wget, eles conseguem detectar e bloquear (403), mas quando eles acham que o acesso está vindo de um browser tipo chrome eles deixa passar na maioria das vezes.

Essa api ai de cima eu implementei com Golang usando uma lib que consegue fazer o request impersonando o Chrome. Por enquanto tá dando certo.

Quão difícil é isso para alguém que não tem esse conhecimento técnico todo?
Eu estou frustrado com toda esse mudança do site do Tesouro Direto pois o script que eu usava funcionou muito bem por muitos anos.

Ficarei muito grato se puder me dar orientações ou referências para que eu consiga implementar isso na minha planilha.

Sei que estou pedindo muito e entenderei caso não consiga.

Muito obrigado por toda informação compartilhada até agora.

@kleitonramires
Copy link

@andreluistosato agradeço por ter compartilhado seu conhecimento. Resolveu aqui. Vida longa a você.

@danperrout
Copy link
Author

Tem algum lugar com mais instruções de como utilizar? O código, instruções de como puxar para o Google planilhas, etc? Obrigado! Sucesso!

https://www.youtube.com/watch?v=a7JCfMpRhD0&t=1s

@robsonrb77
Copy link

Funcionou perfeitamente para mim, parabéns Daniel.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment