DataBolsa docs
Referência da APIDados de mercadoAções

Fundos que mais aumentaram e reduziram posição no papel

Quem se mexeu, fundo a fundo, numa competência do CDA: posição anterior, posição corrente e a variação em QUANTIDADE (`qty_delta`), já na posição econômica — direta + cedida em empréstimo − obrigação por recebida, que é o que a carteira do fundo esconde (428 dos 2.770 pares fundo×ativo cedidos em 2026-05 existem SÓ como empréstimo). Por isso os números aqui divergem de `/fund-holders`, que serve a posição DECLARADA em carteira, sem empréstimo nem obrigação — as duas rotas respondem perguntas diferentes sobre o mesmo papel. Só aparecem fundos do PAINEL BALANCEADO, isto é, que divulgaram carteira nas duas competências. Sem esse corte a queda de divulgação entre um mês de trimestre (6.625 fundos) e o mês seguinte (3.278) seria lida como venda — em PETR4 o sinal chega a inverter. Por isso um papel legítimo pode responder página vazia: significa 'não há competência comparável', não 'papel inexistente'.

GET
/v1/stocks/{ticker}/ownership-flow/movers
AuthorizationBearer <token>

In: header

Path Parameters

tickerstring
Match^[A-Z][A-Z0-9]{3}[0-9]{0,2}$

Query Parameters

cursor?string
limit?integer
Default100
Range1 <= value <= 1000
date?string

Competência do CDA (AAAA-MM-DD); default = mais recente COM movimentação.

Match^\d{4}-\d{2}-\d{2}$
direction?string

in = só quem aumentou/entrou; out = só quem reduziu/saiu; all = tudo, das maiores altas às maiores baixas.

Default"all"
Value in"in" | "out" | "all"

Response Body

curl -X GET "https://api.databolsa.com/v1/stocks/string/ownership-flow/movers?cursor=string&limit=100&date=string&direction=in"
{
  "data": [
    {
      "ticker": "string",
      "comptc_date": "string",
      "cnpj": "string",
      "prev_comptc_date": "string",
      "fund_name": "string",
      "fund_manager": "string",
      "qty_prev": 0,
      "qty_cur": 0,
      "qty_delta": 0,
      "value_prev_brl": 0,
      "value_cur_brl": 0,
      "move_kind": "entrou",
      "delta_reason": "posicao_liquida_negativa",
      "lineage": "string"
    }
  ],
  "meta": {
    "next_cursor": "string",
    "count": 0
  }
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string"
}