DataBolsa docs
Referência da APIPlataformaObjects

Resolve ticker, CNPJ, ISIN, código ou nome

Retorna candidatos ordenados. `exact_key` identifica por chave; `fuzzy_name` exige confirmação. Prefira identificadores a nomes. Papéis e companhias são objetos distintos: por exemplo, `PETR4` resolve para o papel, ligado à emissora por `issued`.

GET
/v1/objects/resolve
AuthorizationBearer <token>

In: header

Query Parameters

limit?integer

Candidatos por consulta (1–50, default 20). Sem cursor.

Default20
Range1 <= value <= 50
qstring

Ticker, CNPJ, ISIN, código ou nome. Separe até 20 consultas por |; cada resultado traz query e o veredito em meta.queries. limit vale por consulta, sem cursor, até 200 candidatos no total. Chaves exatas têm prioridade; nomes ignoram ordem, acento e caixa, e termos como FIDC, debênture ou gestora restringem o tipo. exact_key e exact_name com um único melhor candidato já resolvem a identidade.

Length1 <= length
kind?string

Restringe o tipo do objeto.

Value in"company" | "equity_security" | "fund" | "service_provider" | "instrument" | "index" | "crypto_asset" | "commodity" | "country" | "indicator" | "data_series" | "offering" | "fund_share_class" | "market_event" | "role" | "sector" | "securitization" | "norm" | "person"
subkind?string

Restringe dentro do tipo: fii, fidc, fip, etf, debenture, bdr, coe, tesouro.

Response Body

curl -X GET "https://api.databolsa.com/v1/objects/resolve?limit=20&q=string&kind=company&subkind=string"
{
  "data": [
    {
      "query": "string",
      "id": "string",
      "kind": "string",
      "subkind": "string",
      "name": "string",
      "anchor_type": "string",
      "anchor_value": "string",
      "match_kind": "exact_key",
      "matched_key_type": "string",
      "matched_key_value": "string",
      "confidence": "high"
    }
  ],
  "meta": {
    "next_cursor": "string",
    "count": 0,
    "total": 0,
    "subject": {
      "property1": "string",
      "property2": "string"
    },
    "queries": [
      {
        "q": "string",
        "best_id": "string",
        "candidates": 0,
        "reason": "no_match"
      }
    ]
  }
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "details": {
    "property1": null,
    "property2": null
  }
}

Filtra e ordena uma coorte por medidas

Ordena uma coorte por uma medida e permite filtrá-la por outras em `where`; cada linha traz os valores usados nos cortes. `expand` inclui o objeto ligado indicado, evitando uma consulta adicional. Para períodos, `at` é o teto da data-base e `since` o piso. Em `delta` e `pct_change`, `since_from` limita a observação inicial. Use `delta` para medidas que podem cruzar zero e confira `unit` antes de comparar medidas. `measure=min|max|avg|sum|count` ordena pela redução de TODAS as observações entre `since` e `at`, e não por uma leitura: é como responder qual título teve a menor fração aceita nos leilões do mês. `since` é obrigatório nesses casos, `observations` diz quantos pontos entraram em cada linha e `exclude_out_of_prior` descarta a observação implausível antes de reduzir. Objetos sem valor nas pontas necessárias ficam fora; `cohort_size` informa o denominador e também o fim da paginação: siga `meta.next_cursor` até null para varrer a coorte, em vez de fatiá-la por faixa de valor no `where`. `as_of` e `as_of_from` mostram as competências efetivamente comparadas. Com `availability=unknown`, o recorte histórico usa somente a data-base; com `filed`, também respeita a data de publicação.

Percorre uma cadeia de relações

Percorre de uma a três relações declaradas como `verbo:direção` e ordena por objetos distintos alcançados. `return_at` escolhe a posição listada; `count_at`, a contada. `end_id` e `end_kind` restringem a ponta. `at` aplica a mesma data a todos os passos. Com `total=true`, leia o total em `meta.total`.