DataBolsa docs
Referência da APIDados de mercadoObjects

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.

GET
/v1/objects/{id}/history
AuthorizationBearer <token>

In: header

Path Parameters

idstring

Query Parameters

factstring

O name da medida, como veio de getObjectFacts.

series?string

A classe de ação, quando a medida é de papel.

from?string
Match^\d{4}-\d{2}-\d{2}$
to?string
Match^\d{4}-\d{2}-\d{2}$
limit?integer

Pontos mais RECENTES. Default 500.

Default500
Range1 <= value <= 2000
resolve?string

Como interpretar o id recebido.

  • auto (default) — como REFERÊNCIA publicada: id fundido resolve sozinho para o sucessor (com redirected_from preenchido) e id cindido responde 409 com a lista.
  • exact — como o id do objeto que existe HOJE: nenhum histórico é consultado, e o id ou responde ou é 404.

Quando você precisa de exact: numa cisão, um dos sucessores é o PRÓPRIO id pedido — o ramo que ficou com a chave de nascimento herda o identificador. O 409 manda consultar cada sucessor, e consultar esse cairia no mesmo 409. exact é o endereço dele. Serve também para desligar o redirect automático de fusão quando você quer saber se o id que guardou ainda é o id de alguma coisa.

Default"auto"
Value in"auto" | "exact"

Response Body

curl -X GET "https://api.databolsa.com/v1/objects/string/history?fact=string&series=string&from=string&to=string&limit=500&resolve=auto"
{
  "data": [
    {
      "date": "string",
      "value": 0
    }
  ],
  "meta": {
    "subject": {
      "property1": "string",
      "property2": "string"
    },
    "fact": "string",
    "series": "string",
    "unit": "brl",
    "cadence": "daily",
    "grain": "object",
    "source": "string",
    "lineage": "string",
    "availability": "filed",
    "description": "string",
    "count": 0,
    "first_date": "string",
    "last_date": "string",
    "truncated": true
  }
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string"
}

As MEDIDAS do objeto, no último valor publicado

O mapa de `aspects` diz onde olhar; isto diz quanto é. Uma chamada devolve todo número que a base tem sobre o objeto — múltiplos e margens de uma companhia, cota e patrimônio de um fundo, inadimplência e cotistas de um FIDC — cada um com a data-base em que foi apurado. **Leia `unit` antes de comparar qualquer coisa.** `ratio` é fração (0,08 é 8%) e `pct` é percentual (8,0 é 8%); as duas escalas convivem no mesmo produto porque as fontes publicam assim. `dy_12m` de ação é fração, `fii_dy_12m` de FII é percentual. **`as_of` é por medida, não da resposta.** Preço é diário, indicador é trimestral e informe de FIDC é mensal: alinhar as datas na leitura inventa simultaneidade que não existe. E `series` diz a qual classe de ação a medida pertence quando `grain` é `paper` — PETR3 e PETR4 têm P/L diferente, e somar classes é a pergunta errada. Para a série de qualquer uma delas, passe o `name` em `getObjectHistory`. **`at` corta em POINT-IN-TIME**: devolve o último valor que já ERA PÚBLICO naquele dia, em vez do mais recente de hoje. É o que separa reconstituir uma decisão de junho de olhar o balanço de agosto. **Leia `availability` antes de usar `at` para backtest.** Onde ela é `filed` a fonte publica data de entrega, `available_at` vem preenchido e o corte exige as duas coisas — já entregue E com data-base até o dia. Isso importa: 21.591 das 21.949 linhas de indicador são entregues DEPOIS da data-base, com atraso mediano de 43 dias. Onde ela é `unknown` (informe mensal de FII, p. ex., que não traz data de entrega na fonte) o corte é só pela data-base e o atraso de divulgação continua de fora — não chame isso de point-in-time. Prova documental com data de protocolo é `getObjectEvidence`.

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.