Histórico de Indicadores do Tesouro Direto
Retorna a série diária de taxas e preços por título, agrupada por symbol.
Quando startDate e endDate são omitidos, a API usa os últimos 12 meses.
Use esta rota para gráficos de marcação a mercado, análise de taxa por vencimento e acompanhamento de movimentos da curva de juros.
Cada série inclui rateInfo, com a unidade e a descrição de como interpretar
buyRate e sellRate para o indexador daquele título.
Plano mínimo: Pro. No sandbox sem token, todos os símbolos da requisição precisam estar na lista de sandbox.
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
Data de início no formato YYYY-MM-DD
Data de fim no formato YYYY-MM-DD
Campo para ordenação dentro da série histórica
"baseDate""baseDate" | "buyRate" | "sellRate" | "buyPrice" | "sellPrice" | "basePrice"Direção da ordenação
"desc""asc" | "desc"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/history?symbols=tesouro-selic-01032031%2Ctesouro-ipca-15052035"{
"results": [
{
"symbol": "tesouro-selic-01032031",
"bondType": "Tesouro Selic",
"indexer": "selic",
"couponType": "zero",
"maturityDate": "2031-03-01",
"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."
},
"history": [
{
"baseDate": "2026-05-15",
"buyRate": 0.08,
"sellRate": 0.09,
"buyPrice": 18944.78,
"sellPrice": 18925.53,
"basePrice": 18925.53
}
]
}
],
"requestedAt": "2026-05-15T17: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"
}