Catálogo de COE registrado no balcão: emissor, tamanho, prazo e secundário observado
COE (Certificado de Operações Estruturadas) do registro público de balcão da B3, um código por linha, com o cadastro as-filed mais recente e o agregado de negociação secundária **sobre os pregões de balcão que observamos** — a janela efetiva vem em `meta.secondary_window` (`from`, `to`, `sessions`). **Esta superfície é separada de `/v1/credit` de propósito.** O corte de `/credit` é quem deve — debênture, CDB, LCI/LCA, CRI/CRA são risco de emissor com retorno contratado. O COE não é isso: é um payoff de derivativo embrulhado no risco de crédito do banco emissor, e o investidor carrega os dois. Tratá-lo como renda fixa é o erro que a opacidade do produto explora. **O que este endpoint NÃO responde:** se um COE é bom, quanto ele rende, se tem capital protegido, qual o ativo subjacente ou quais os cenários de retorno. Isso vive no DIE (Documento de Informações Essenciais), que não é dado estruturado público. `indexer`/`indexer_pct`/`additional_rate_pct` são campos do REGISTRO e não descrevem o retorno do investidor — lê-los como taxa é o erro clássico aqui. **O que ele responde:** quanto cada emissor colocou no mercado, com que prazo, e o que girou em secundário nos pregões cobertos. **Como ler o secundário null.** Os campos `trade_days`/`trade_count_total`/`volume_brl_total`/`last_trade_date` vêm null para a maioria esmagadora dos papéis, e o único significado exato disso é: nenhum negócio registrado nos pregões de `meta.secondary_window`. **Leia sempre contra `sessions`** — enquanto a janela é curta, o null é dominado por ela e não mede a liquidez do papel. Que o COE seja feito para ser carregado até o vencimento, sem mercado de saída organizado, é propriedade do DESENHO do produto e está no DIE, não uma conclusão que este agregado sustente hoje. `tradedOnly=true` isola quem teve negócio na janela; não é um filtro de "já girou alguma vez na vida". Negócios instrumento a instrumento, por pregão, ficam em `/v1/credit/otc` com `family=COE`: lá é o fluxo, aqui é o catálogo.
In: header
Query Parameters
1001 <= value <= 1000Busca pelo nome do emissor (parcial).
Vencimento a partir de (YYYY-MM-DD).
^\d{4}-\d{2}-\d{2}$Vencimento até (YYYY-MM-DD).
^\d{4}-\d{2}-\d{2}$Tamanho mínimo da emissão, em BRL.
Somente os que tiveram negócio em secundário dentro da janela de pregões coberta (meta.secondary_window). Não é "já girou alguma vez".
Response Body
curl -X GET "https://api.databolsa.com/v1/structured/coe?cursor=string&limit=100&issuer=string&maturityFrom=string&maturityTo=string&minIssueSize=0&tradedOnly=true"{
"data": [
{
"instrument_code": "string",
"isin": "string",
"issuer_name": "string",
"is_incentivada": true,
"indexer": "string",
"indexer_pct": 0,
"additional_rate_pct": 0,
"maturity_date": "string",
"qty_issued": 0,
"issue_price": 0,
"issue_size_brl": 0,
"issue_type": "string",
"registered_ref_date": "string",
"trade_days": 0,
"trade_count_total": 0,
"volume_brl_total": 0,
"last_trade_date": "string"
}
],
"meta": {
"next_cursor": "string",
"count": 0,
"total": 0,
"subject": {
"property1": "string",
"property2": "string"
},
"secondary_window": {
"from": "string",
"to": "string",
"sessions": 0
}
}
}{
"type": "string",
"title": "string",
"status": 0,
"detail": "string",
"instance": "string"
}Detalhe de um COE
A chave é o código do instrumento no balcão B3 — não o ISIN nem o nome comercial da campanha de venda, que não existem no registro. Os agregados de secundário cobrem só os pregões de balcão observados, os mesmos de `meta.secondary_window` no listing (`listCoes`) — este detalhe não repete a janela, então secundário null aqui significa "sem negócio na janela", não "nunca girou".
Engrenagens macro (sinais por seção)
Next Page