API · Documentação
Documentação · Renda Fixa API

Bonds GET

Retorna títulos de renda fixa ativos com retorno líquido e ganho real calculados usando projeções anuais de SELIC e IPCA do Boletim Focus. Com uma chave de API válida, você recebe todos os títulos; sem chave, recebe 5 títulos de baixo risco como prévia.

Autenticação

A API usa chaves de acesso no cabeçalho Authorization. Sem uma chave válida, a resposta retorna apenas 5 títulos de prévia com status: "preview".

1. Gere uma chave

Acesse Conta → Chaves de API e clique em Gerar nova chave. Copie o valor imediatamente — ele não será exibido novamente.

2. Passe a chave na requisição

Há dois métodos aceitos:

Opção A — cabeçalho HTTP recomendado

Use o cabeçalho Authorization: Bearer. A chave não fica exposta em logs de servidor, histórico do navegador ou URLs compartilhadas.

bash
curl -H "Authorization: Bearer rf_SUA_CHAVE_AQUI" \
     "https://rendafixa.api.br/api/"

Opção B — parâmetro de URL

Passe a chave como ?key=. Útil para testes rápidos no navegador ou ferramentas que não permitem cabeçalhos customizados. Evite em produção — a chave fica visível em logs e histórico.

bash
curl "https://rendafixa.api.br/api/?key=rf_SUA_CHAVE_AQUI"

Quando ambos estão presentes, o cabeçalho tem prioridade. As chaves expiram em 1 ano. Caso a chave enviada seja inválida, revogada ou expirada, a resposta retornará response.status: "unauthorized" com um array bonds vazio.

Endpoint

GET https://rendafixa.api.br/api/ Abrir →

Parâmetros

ParâmetroOndeObrigatórioDescrição
Authorization Header Não Chave de API no formato Bearer rf_SUA_CHAVE. Tem prioridade sobre key.
key Query string Não Chave de API passada como ?key=rf_SUA_CHAVE. Útil para testes no navegador.

cURL

bash
curl -H "Authorization: Bearer rf_SUA_CHAVE_AQUI" "https://rendafixa.api.br/api/"

Valores de status

response.statusresponse.description
okChave válida. Todos os títulos ativos são retornados.
previewNenhuma chave foi enviada. Retorna até 5 títulos de baixo risco como prévia.
unauthorizedChave enviada, mas inválida, revogada ou expirada. Nenhum título é retornado.
payment_issueChave válida, mas pagamento falhou ou assinatura expirou. Atualize o método de pagamento para restaurar o acesso. Nenhum título é retornado.
rate_limitedRequisições muito frequentes. Aguarde pelo menos 5 segundos entre chamadas.

Resposta

Content-Type: application/json

json
{
  "response": {
    "status":      "ok",
    "description": "Authenticated. All active bonds returned."
  },
  "bonds": [
    {
      "name":                   "CDB 360 DIAS",
      "bank":                   77,
      "bank_name":              "Banco Inter",
      "product":                "cdb",
      "index":                  "cdi*",
      "rate":                   1.05,
      "fgc_protection":         true,
      "tax_free":               false,
      "exclusive":              false,
      "min_investment":         100,
      "maturity_date":          "2027-05-08",
      "early_withdrawal":       true,
      "risk":                   1,
      "net_annualized_return":  0.1165,
      "real_annualized_return": 0.0676
    },
    // … demais títulos
  ]
}

Campos

Campo Tipo Descrição
namestringNome do título.
bankintegerCódigo numérico interno do banco emissor.
bank_namestringNome do banco emissor.
productstringTipo de produto. Ver tabela de produtos.
indexstringIndexador do rendimento. Ver tabela de indexadores.
ratenumberFator ou spread do indexador. Valor decimal, não percentual — ex: 1.05 significa 105% do CDI, 0.1054 significa spread de 10,54% a.a. Ver tabela de indexadores.
fgc_protectionbooleanCoberto pelo FGC até R$ 250.000 por CPF por instituição.
tax_freebooleanIsento de Imposto de Renda para pessoa física (LCI, LCA, CRI, CRA e debêntures incentivadas).
exclusivebooleanRestrito a investidores qualificados (patrimônio > R$ 1 milhão).
min_investmentnumberValor mínimo de aplicação em reais.
maturity_datestringData de vencimento no formato YYYY-MM-DD.
early_withdrawalbooleanPermite resgate antes do vencimento.
riskintegerNível de risco de 1 (mais baixo) a 5 (mais alto).
net_annualized_returnnumberRetorno líquido anualizado após IR, calculado até o vencimento. Decimal — ex: 0.1479 = 14,79% a.a. Ver como é calculado.
real_annualized_returnnumberGanho real anualizado acima do IPCA pela equação de Fisher. Decimal — ex: 0.0676 = 6,76% a.a. Ver como é calculado.

Valores de product

ValorProduto
cdbCDB — Certificado de Depósito Bancário
lciLCI — Letra de Crédito Imobiliário
lcaLCA — Letra de Crédito do Agronegócio
criCRI — Certificado de Recebíveis Imobiliários
craCRA — Certificado de Recebíveis do Agronegócio
debDebênture
tpfTítulo Público Federal
miscOutros

Valores de index

O campo rate é um decimal. Exemplos com rate = 1.05 ou rate = 0.02:

ValorFórmulaExemplo
cdi*rate × CDIrate=1.05 → 105% do CDI
cdi+CDI + raterate=0.02 → CDI + 2% a.a.
ipca*rate × IPCArate=1.05 → 105% do IPCA
ipca+IPCA + raterate=0.1054 → IPCA + 10,54% a.a.
selic*rate × SELICrate=1.0 → 100% da SELIC
selic+SELIC + raterate=0.02 → SELIC + 2% a.a.
prerate (bruto fixo)rate=0.179 → 17,9% a.a. prefixado

Como os retornos são calculados

Os retornos não usam uma taxa única de mercado. O período de holding é segmentado ano a ano, e cada segmento aplica as taxas de SELIC e IPCA previstas para aquele ano, obtidas do Boletim Focus (BCB). Se o título vencer além do horizonte das projeções, a última taxa disponível é replicada.

net_annualized_return — o retorno bruto é calculado por composição ano a ano. Sobre o total do período, aplica-se a alíquota de IR conforme a tabela regressiva (22,5% até 180 dias, 20% até 360, 17,5% até 720, 15% acima). O resultado líquido do período é então anualizado. Títulos isentos (tax_free: true) pulam a dedução de IR.

real_annualized_return — o IPCA também é composto ano a ano sobre o mesmo período. O ganho real é calculado pela equação de Fisher aplicada ao período completo e depois anualizado: (1 + net_period) / (1 + ipca_period) ^ (365/dias) − 1. Retorna null se o vencimento já passou ou o indexador não é reconhecido.