DataBolsa docs
Referência da APIDados de mercadoObjects

O resumo de um conjunto de relações, sem paginar nada

Responde perguntas sobre o CONJUNTO em uma chamada: quantas relações existem, quantos objetos distintos de cada lado, desde quando, e a maior magnitude observada. `relationship_count` conta relações DISTINTAS e é o número a reportar; `assertion_count` conta as afirmações que as sustentam, uma por (fonte, período contíguo), e é sempre maior ou igual — a diferença é redundância de fonte, não tamanho. `magnitude_max` é MÁXIMO e nunca soma: somar magnitude ao longo de competências produz número sem sentido. Use quando a pergunta for 'quantos/qual o maior/desde quando', em vez de percorrer as arestas uma a uma. CUSTO, medido contra produção em 16/08/2026: com `from_id` ou `to_id` responde em ~12ms, porque o recorte é indexado. SEM recorte, ou só com `rel`, a contagem de objetos distintos varre o conjunto inteiro e leva de 4 a 6 segundos. Prefira sempre recortar por objeto quando a pergunta for sobre um objeto.

GET
/v1/objects/links/stats
AuthorizationBearer <token>

In: header

Query Parameters

rel?string

O verbo da relação. from é sempre quem PRATICA a ação.

measures e forecasts são coisas diferentes e foram separados em 20/08/2026. bcb_sgs:433 --measures--> IPCA é a inflação que OCORREU; bcb_focus:ipca:2027 --forecasts--> IPCA é a que se espera. Enquanto dividiam um verbo só, as 45 arestas do IPCA saíam com source, shape e confidence idênticos — 4 mediam e 41 projetavam — e quem atravessasse 'a inflação medida' recebia 41 previsões junto, sem erro e com tudo plausível.

mentions liga o EVENTO ao objeto citado, e a ponta do objeto vem carimbada pelo detector na escrita — não casada por nome em tempo de consulta. magnitude carrega quantos objetos aquele evento cita: 1 a 3 é uma notícia sobre eles, 65 é um apanhado de mercado, e confidence cai para low a partir de 9.

covers diz de que PAÍS a série falaworld_bank:NY.GDP.MKTP.CD:DE cobre a Alemanha. Só onde a fonte declara o país, e não onde se poderia deduzi-lo de quem publica: o Banco Central publica a PTAX, que é sobre o par BRL/USD e não sobre o Brasil.

produces liga PAÍS a commodity mineral, e é a primeira aresta entre dois tipos que antes não tocavam nada: país e commodity eram objetos que resolviam por nome, apareciam no censo e não tinham uma única relação. magnitude é a PARTICIPAÇÃO NO TOTAL MUNDIAL em pontos percentuais, e não a quantidade — tonelada de nióbio e quilate de diamante não se comparam, participação se compara sempre. Nula onde a própria fonte marca as bases como não somáveis, e nas commodities com mais de um agregado (cobre tem produção de mina e de refino) só o recorte que mais países reportam carrega número. NÃO liga empresa a produto: os produtores que o USGS publica são países, e ligar a Vale ao minério de ferro por semelhança de nome seria vínculo inventado.

rates é a primeira relação vinda de EXTRAÇÃO, não de formulário: a nota sai do relatório da própria agência, lido por LLM, e a aresta carrega o magnitude como o NOTCH da nota com magnitude_unit na escala (national_br ou global). Notch de escalas diferentes não se compara — AAA nacional é relativo ao teto soberano.

manages e administers também são coisas diferentes. O GESTOR decide a carteira; o ADMINISTRADOR FIDUCIÁRIO é o responsável legal — constitui o fundo, registra na CVM, calcula e divulga a cota e contrata os demais prestadores. Quase sempre são casas distintas, e a concentração é oposta: o maior administrador responde por 7.350 fundos.

Value in"issued" | "assigned_to" | "holds" | "manages" | "administers" | "custodies" | "audits" | "same_owner" | "shareholder_of" | "indexed_to" | "rates" | "mentions" | "measures" | "forecasts" | "contains" | "member_of" | "exposed_to_issuer" | "succeeded_by" | "produces" | "covers"
from_kind?string

Restringe o tipo do objeto que PRATICA o verbo.

Value in"company" | "equity_security" | "fund" | "service_provider" | "instrument" | "index" | "crypto_asset" | "commodity" | "country" | "indicator" | "data_series" | "offering" | "fund_share_class" | "market_event"
to_kind?string

Restringe o tipo do objeto que RECEBE.

Value in"company" | "equity_security" | "fund" | "service_provider" | "instrument" | "index" | "crypto_asset" | "commodity" | "country" | "indicator" | "data_series" | "offering" | "fund_share_class" | "market_event"
from_subkind?string

O mesmo recorte um nível abaixo: arestas de FIDC para cedente, e não de fundo.

to_subkind?string
from_id?string
to_id?string
at?string

Corte temporal (AAAA-MM-DD). Default DIFERENTE de listObjectLinks: SEM at, o verbo de forma snapshot é resumido na ÚLTIMA competência (o retrato VIGENTE), não no histórico acumulado — a listagem sem corte devolve 'quem JÁ se relacionou', e os dois números divergem MUITO (medido: 1 aresta aqui contra 100+ lá para o mesmo objeto). É deliberado: somar retratos de competências diferentes contaria a mesma posição várias vezes. meta.as_of diz a competência aplicada. COM at, valem as mesmas regras de forma do verbo da listagem.

Match^\d{4}-\d{2}-\d{2}$

Response Body

curl -X GET "https://api.databolsa.com/v1/objects/links/stats?rel=issued&from_kind=company&to_kind=company&from_subkind=string&to_subkind=string&from_id=string&to_id=string&at=string"
{
  "shape": "event",
  "as_of": "string",
  "relationship_count": 0,
  "assertion_count": 0,
  "edges": 0,
  "from_count": 0,
  "to_count": 0,
  "source_count": 0,
  "magnitude_max": 0,
  "magnitude_unit": "string",
  "evidence_max": 0,
  "evidence_unit": "string",
  "valid_from_min": "string",
  "valid_to_max": "string"
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string"
}

A SÉRIE de uma medida do objeto

A mesma chamada para histórico de indicador fundamentalista, de cota de fundo e de cotistas de FIDC — o que muda é `fact`. Antes disso eram três contratos com três convenções, e quem perguntasse precisava conhecer os três. EXEMPLOS COMPLETOS, com os parâmetros exatos: - P/L da PETR4 nos últimos anos → `fact=pl&series=PETR4` - cotistas de um FIDC ao longo do tempo → `fact=fidc_investors` - cota ajustada de um fundo em 2025 → `fact=quota&from=2025-01-01&to=2025-12-31` - inadimplência mensal de um FIDC → `fact=fidc_impaired_ratio` `series` escolhe a classe de ação quando a medida é de papel; sem ele responde a âncora e `meta.series` diz qual foi — classes nunca são somadas. `limit` corta pelos pontos MAIS RECENTES e os dados voltam em ordem cronológica: receber os mais antigos sem aviso se lê como 'a série acaba aí'. Medida que não se aplica a este objeto responde **404 com a lista do que existe**, não lista vazia — vazio afirmaria que não houve observação, que é outra coisa.

As PROPRIEDADES do objeto — o que ele é, em palavras

A terceira forma de dizer algo sobre uma coisa. `getObjectFacts` serve NÚMERO (tem unidade, escala, data-base, anda no tempo); `listObjectLinks` serve LIGAÇÃO (aponta para outro objeto); esta rota serve PALAVRA de vocabulário fechado — situação, forma de condomínio, público-alvo, segmento de listagem, rito da oferta. **Leia `vocabulary` antes de concluir qualquer coisa de um valor.** Ele traz os valores POSSÍVEIS quando a fonte tem lista fechada, e é o que separa 'existem cinco situações' de 'existem vinte'. Um exemplo que morde: a situação de fundo tem cinco valores e NENHUM deles é 'Encerrado' — referência de mercado que exibe isso está derivando de outro lugar. Onde a lista é grande e viva (70 setores, 66 classificações ANBIMA), `vocabulary` é nulo de propósito: vocabulário declarado e desatualizado é pior que vocabulário ausente. **O valor sai como a tabela o tem**, sempre texto — booleano vem `"true"`/`"false"`, e onde a CVM publica `S`/`N` é `S`/`N` que sai. Esta rota não traduz, porque traduzir aqui faria ela discordar da rota de domínio sobre a mesma coluna. **Propriedade nula não vira linha.** Publicá-la diria 'esta coisa não tem público-alvo' quando o que houve foi a fonte não declarar — 475 das 9.119 subclasses não declaram previdência, e isso não as torna não-previdenciárias. **O que NÃO está aqui, e por quê:** administrador, gestor, auditor e custodiante de um fundo, e o coordenador líder de uma oferta, parecem propriedade e são ARESTA — apontam para outro objeto. Hoje ainda são texto na tabela de origem; publicá-los como propriedade normalizaria o erro em vez de resolvê-lo.