Indicadores do Tesouro Direto
Retorna o snapshot mais recente de cada título solicitado via symbols.
Você pode enviar até 20 símbolos por requisição, separados por vírgula.
Símbolos desconhecidos são omitidos de results, sem erro por símbolo.
Plano mínimo: Pro. No sandbox sem token, todos os símbolos da requisição precisam estar na lista de sandbox.
As taxas vêm em % a.a.. Para Tesouro Selic, buyRate e sellRate são
spreads sobre a Selic; para Prefixado são taxas nominais; para IPCA+ são
taxas reais acima do IPCA. A resposta inclui rateInfo para tornar essa
interpretação explícita por título.
Authorization
Bearer Token de API obtido no dashboard em brapi.dev/dashboard
In: header
Query Parameters
Símbolos do Tesouro Direto separados por vírgula (máximo 20). Exemplo: tesouro-selic-01032031,tesouro-ipca-15052035
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://brapi.dev/api/v2/treasury/indicators?symbols=tesouro-selic-01032031%2Ctesouro-ipca-15052035"{
"results": [
{
"symbol": "tesouro-selic-01032031",
"bondType": "Tesouro Selic",
"indexer": "selic",
"couponType": "zero",
"maturityDate": "2031-03-01",
"durationDays": 1751,
"baseDate": "2026-05-15",
"buyRate": 0.08,
"sellRate": 0.09,
"buyPrice": 18944.78,
"sellPrice": 18925.53,
"basePrice": 18925.53,
"rateInfo": {
"rateType": "spreadOverSelic",
"rateUnit": "% a.a.",
"description": "Para Tesouro Selic, buyRate e sellRate representam o spread em pontos percentuais ao ano sobre a taxa Selic, não a rentabilidade total do título."
}
}
],
"requestedAt": "2025-01-24T17:32:38.000Z",
"took": 45
}{
"error": true,
"message": "Parâmetros inválidos",
"code": "BAD_REQUEST"
}{
"error": true,
"message": "Token de autenticação inválido ou ausente",
"code": "UNAUTHORIZED"
}{
"error": true,
"message": "Você não tem permissão para acessar este recurso",
"code": "FORBIDDEN"
}{
"error": true,
"message": "Recurso não encontrado",
"code": "NOT_FOUND"
}{
"error": true,
"message": "Limite de requisições excedido. Tente novamente mais tarde.",
"code": "RATE_LIMIT_EXCEEDED"
}{
"error": true,
"message": "Erro interno do servidor",
"code": "INTERNAL_SERVER_ERROR"
}{
"error": true,
"message": "Serviço externo temporariamente indisponível. Tente novamente em alguns minutos.",
"code": "EXTERNAL_API_ERROR"
}