# rendafixa.api.br API

Títulos de renda fixa do Brasil — CDB, LCI, LCA, CRI, CRA, debêntures e Tesouro Direto de vários bancos e corretoras — com **retorno líquido após IR** e **ganho real acima do IPCA** já calculados a partir das projeções do Boletim Focus (BCB). Atualizado diariamente.

- Endpoint: `GET https://rendafixa.api.br/api/`
- OpenAPI 3.1: https://rendafixa.api.br/openapi.json
- Servidor MCP (Claude, ChatGPT, Cursor…): `https://rendafixa.api.br/mcp` (Streamable HTTP)
- Documentação com exemplos: https://rendafixa.api.br/docs/api
- Planos: https://rendafixa.api.br/pricing · Chaves: https://rendafixa.api.br/user/api-keys

## Acesso

| Situação | `response.status` | Títulos |
|---|---|---|
| Sem chave | `preview` | até 5 (prévia) |
| Chave válida + assinatura ativa | `ok` | todos |
| Chave inválida, revogada ou expirada | `unauthorized` | nenhum |
| Chave válida, sem assinatura | `no_subscription` | nenhum |
| Pagamento falhou ou período expirou | `payment_issue` | nenhum |
| Chamadas com menos de 5 s de intervalo | `rate_limited` | nenhum |

A resposta é sempre HTTP 200; o resultado está em `response.status`.

Envie a chave de uma destas formas:

```bash
curl -H "Authorization: Bearer rf_SUA_CHAVE" "https://rendafixa.api.br/api/"
curl "https://rendafixa.api.br/api/?key=rf_SUA_CHAVE"
```

O cabeçalho é o recomendado: a chave em URL fica em logs e no histórico do navegador.

## Filtros

Todos opcionais e combináveis. Os de múltiplos valores aceitam lista separada por vírgula (`product=cdb,lci`) ou repetição (`product[]=cdb&product[]=lci`). Valores fora da lista são ignorados.

| Parâmetro | Valores | Descrição |
|---|---|---|
| `product` | `cdb`, `lci`, `lca`, `cri`, `cra`, `deb`, `tpf`, `td`, `lf`, `misc` | Tipo de produto |
| `index` | `cdi*`, `cdi+`, `ipca*`, `ipca+`, `selic*`, `selic+`, `pre` | Indexador (codifique `+` como `%2B`) |
| `bank` | inteiros | Código do banco/corretora (campo `bank`) |
| `tax_free` | `0`, `1` | Só tributados / só isentos de IR |
| `fgc` | `0`, `1` | Só sem / só com cobertura do FGC |
| `format` | `json`, `csv` | Formato da resposta (padrão `json`) |
| `locale` | `pt-BR` | Só com `format=csv`: vírgula decimal e `VERDADEIRO`/`FALSO` |

Exemplo — LCIs e LCAs isentas com FGC:

```bash
curl -H "Authorization: Bearer rf_SUA_CHAVE" "https://rendafixa.api.br/api/?product=lci,lca&tax_free=1&fgc=1"
```

## Resposta

```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,
      "rating": "AA+",
      "payment_probability": 0.9823,
      "net_annualized_return": 0.1165,
      "real_annualized_return": 0.0676
    }
  ]
}
```

| Campo | Tipo | Descrição |
|---|---|---|
| `name` | string | Nome do título |
| `bank` | integer | Código do banco emissor ou da corretora |
| `bank_name` | string | Nome do banco ou da corretora |
| `product` | string | Tipo de produto |
| `index` | string | Indexador |
| `rate` | number | Fator ou spread do indexador, em decimal (ver abaixo) |
| `fgc_protection` | boolean | Coberto pelo FGC (até R$ 250.000 por CPF por instituição) |
| `tax_free` | boolean | Isento de IR para pessoa física |
| `exclusive` | boolean | Restrito a investidores qualificados |
| `min_investment` | number | Aplicação mínima em reais |
| `maturity_date` | string | Vencimento, `YYYY-MM-DD` |
| `early_withdrawal` | boolean | Permite resgate antes do vencimento |
| `rating` | string \| null | Rating de crédito do emissor |
| `payment_probability` | number \| null | Probabilidade de pagamento no vencimento, pelo rating e prazo |
| `net_annualized_return` | number \| null | Retorno líquido anualizado após IR, até o vencimento |
| `real_annualized_return` | number \| null | Ganho real anualizado acima do IPCA |

Todos os valores percentuais são decimais: `0.1165` = 11,65% a.a.

### Indexadores

| `index` | Fórmula | Exemplo |
|---|---|---|
| `cdi*` | rate × CDI | `1.05` → 105% do CDI |
| `cdi+` | CDI + rate | `0.02` → CDI + 2% a.a. |
| `ipca*` | rate × IPCA | `1.05` → 105% do IPCA |
| `ipca+` | IPCA + rate | `0.06` → IPCA + 6% a.a. |
| `selic*` | rate × SELIC | `1.0` → 100% da SELIC |
| `selic+` | SELIC + rate | `0.02` → SELIC + 2% a.a. |
| `pre` | rate | `0.13` → 13% a.a. prefixado |

### Como os retornos são calculados

O prazo até o vencimento é dividido ano a ano, e cada ano usa a SELIC e o IPCA projetados para ele pelo Boletim Focus (a última projeção se repete além do horizonte). Sobre o rendimento bruto do período aplica-se o IR regressivo — 22,5% até 180 dias, 20% até 360, 17,5% até 720 e 15% acima — exceto para títulos isentos, e o resultado é anualizado (`net_annualized_return`). O ganho real (`real_annualized_return`) aplica a equação de Fisher sobre o período inteiro: `((1 + líquido) / (1 + IPCA)) ^ (365 / dias) − 1`.

## Planilhas (CSV)

`format=csv` devolve os mesmos títulos em CSV (vírgula como separador, ponto decimal, `TRUE`/`FALSE`). Com `locale=pt-BR`, os números saem com vírgula decimal e os booleanos como `VERDADEIRO`/`FALSO` — o que uma planilha configurada em português lê como número e booleano.

Google Sheets em português — a chave vai na URL, porque a planilha não envia cabeçalhos:

```
=IMPORTDATA("https://rendafixa.api.br/api/?format=csv&locale=pt-BR&key=rf_SUA_CHAVE")
```

Planilha em inglês: a mesma fórmula sem `&locale=pt-BR`. Filtros também funcionam: `&product=lci,lca&tax_free=1`.

Excel: **Dados → Da Web**, cole a mesma URL.

Sem chave, a planilha recebe a prévia e uma última linha avisando.

## MCP

Para usar em assistentes de IA, adicione o servidor remoto `https://rendafixa.api.br/mcp`. Ferramentas:

- `search_bonds` — busca e ordena títulos (filtros acima, mais prazo máximo em anos, aplicação mínima máxima, ordenação por retorno líquido, ganho real, vencimento ou aplicação mínima).
- `list_issuers` — bancos e corretoras com seus códigos.

Sem chave, a prévia. Com chave: cabeçalho `Authorization: Bearer rf_SUA_CHAVE` na configuração do cliente, ou `https://rendafixa.api.br/mcp?key=rf_SUA_CHAVE` em clientes que só aceitam uma URL.
