/api/sd/liquidity/history
GETParcialFRESH

Histórico da profundidade do livro de ofertas

Série temporal da profundidade agregada de compra e de venda dentro de uma faixa para uma moeda, para todas as corretoras cobertas ou para uma só. Cada ponto informa quantos contratos contém.

GET/api/sd/liquidity/history
Cobertura parcial. A coleta começou em 2026-11-11, portanto os intervalos mais longos são preenchidos progressivamente. Buckets faltantes ficam ausentes, não são interpolados; uma mudança em `n_included` entre dois pontos significa que o conjunto de contratos contribuintes mudou.

Requisição

Parâmetros de consulta

NomeTipoObrigatórioPadrãoValores aceitosDescrição
coinstringObrigatório——Símbolo da moeda, sem distinção entre maiúsculas e minúsculas (por exemplo, `BTC`). Valores ausentes ou malformados retornam 400. Exemplo: BTC
marketstringOpcionalperpperp, spotTipo de mercado. Os livros de perpétuos e spot nunca são somados.
bandstringOpcional10.5, 1, 2Distância em relação ao preço médio, em porcentagem.
rangestringOpcional24h24h, 7d, 30dJanela retroativa: 24h (pontos de 30 minutos), 7d (pontos de 2 horas) ou 30d (pontos de 6 horas).
exchangestringOpcional——Um ID de corretora coberta neste mercado (por exemplo, `gate`). Padrão: todas as corretoras. Uma corretora não coberta retorna 400.

Exemplo de requisição

curl -s "https://www.coinboss.com/api/sd/liquidity/history?coin=BTC"

Campos da resposta

A tabela de campos é gerada a partir de respostas reais, portanto lista exatamente o que o endpoint retorna. Os caminhos usam a[] para itens de array e {*} para objetos indexados por um nome dinâmico, como uma moeda ou uma corretora.

CampoTipoUnidadeDescrição
successboolean—true quando a requisição foi bem-sucedida. Em caso de falha, o corpo é `{ success: false, code, error, request_id }`.
schemastring—ID do esquema desta resposta. Só muda quando um campo existente muda de significado ou de tipo.
nownumbermsHorário do servidor em que a resposta foi montada.
coinstring—Símbolo da moeda (em maiúsculas).
marketstring—`perp` ou `spot`.
band_pctnumber%Faixa selecionada: distância em relação ao preço médio.
rangestring—Janela retroativa aplicada.
exchangestring|null—ID da corretora (em minúsculas).
interval_snumbersEspaçamento dos pontos.
pointsarray—Pontos da série, do mais antigo para o mais recente.
points[]object—Pontos da série, do mais antigo para o mais recente.
points[].tnumbermsInício do bucket de tempo.
points[].bid_depth_usdnumberUSDValor nocional das ordens de compra em espera entre o preço médio e a borda inferior da faixa. É um limite inferior quando `complete` é false.
points[].ask_depth_usdnumberUSDValor nocional das ordens de venda em espera entre o preço médio e a borda superior da faixa. É um limite inferior quando `complete` é false.
points[].n_includednumber—Linhas incluídas na soma da profundidade: atualizadas e completas para a faixa. Leia junto com o valor da profundidade.
points[].n_rowsnumber—Linhas encontradas, inclusive as desatualizadas.
points[].midnumberUSD(melhor compra + melhor venda) ÷ 2, preço de uma moeda.
points[].uses_aggregated_bucketsboolean—True quando uma linha incluída usou buckets agregados por preço, o que torna a soma um limite inferior.
points_expectednumber—Número de pontos que a janela contém quando completa.
first_tnumbermsHorário do primeiro ponto retornado.
last_tnumbermsHorário do último ponto retornado.
exchange_pointsobject—Número de pontos em que cada corretora aparece (a chave é o ID da corretora). chaves dinâmicas: deribit,aster,backpack,bitfinex,bitget,bitunix
exchange_points.{*}number—Número de pontos em que cada corretora aparece (a chave é o ID da corretora).
coverageobject—O que está e o que não está incluído nos números. Compare isto antes de comparar totais com outra fonte.
coverage.included_exchangesarray—Fontes cujos dados atualizados estão incluídos.
coverage.included_exchanges[]string—Fontes cujos dados atualizados estão incluídos.
coverage.unavailablearray—Fontes que não puderam ser incluídas, cada uma com um motivo. Nunca são contadas como 0. vazio nas amostras usadas para gerar esta tabela
coverage.stale_excludedarray—Linhas deixadas de fora porque sua última atualização está fora da janela de atualidade. vazio nas amostras usadas para gerar esta tabela
methodobject—Descrição em texto simples das fórmulas usadas nesta resposta, uma entrada por campo.
method.bid_depth_usdstring—Nota sobre a fórmula de `bid_depth_usd`, em texto simples.
method.ask_depth_usdstring—Nota sobre a fórmula de `ask_depth_usd`, em texto simples.
method.completestring—Nota sobre a fórmula de `complete`, em texto simples.
method.historystring—Nota sobre a fórmula de `history`, em texto simples.
method.exchange_pointsstring—Nota sobre a fórmula de `exchange_points`, em texto simples.
metaobject—Linhagem e atualidade desta resposta.
meta.schemastring—ID do esquema desta resposta. Só muda quando um campo existente muda de significado ou de tipo.
meta.sourcearray—Endpoints públicos de origem dos quais os dados foram coletados.
meta.source[]object—Endpoints públicos de origem dos quais os dados foram coletados.
meta.source[].exchangestring—ID da corretora (em minúsculas).
meta.source[].marketstring—`perp` ou `spot`.
meta.source[].endpointstring—Endpoint público da fonte que o coletor lê (exibido para fins de linhagem; os clientes nunca o chamam).
meta.observed_atnull—Timestamp informado pela fonte para os dados.
meta.received_atnumbermsHorário em que o coletor da CoinBoss recebeu os dados.
meta.fetched_atnumbermsHorário em que esta resposta foi montada.
meta.windowstring—Janela de tempo coberta pelos números.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN ou UNAVAILABLE, avaliado a partir dos timestamps dos dados e da cobertura.
meta.is_staleboolean—True quando os dados são mais antigos que sua janela de atualidade.
meta.cache_ttl_snumbersTempo de vida do cache desta resposta.
meta.fallbackstring—O que o endpoint retorna quando o coletor ou uma fonte falha.
meta.collector_heartbeat_age_snumbersSegundos desde que o coletor informou pela última vez que está em execução.

Gerada 2026-11-11 23:00 UTC a partir de 3 respostas reais.

Exemplo de resposta

/api/sd/liquidity/history?coin=BTC · Resposta real capturada 2026-11-13 04:02:45 UTC. Arrays e mapas longos são encurtados para exibição: points tinha 48 itens; meta.source tinha 19 itens; exchange_points tinha 19 itens; coverage.included_exchanges tinha 19 itens.

  • {
    • "success": true,
    • "schema": "coinboss.sd.liquidity/1",
    • "now": 1794542565889,
    • "coin": "BTC",
    • "market": "perp",
    • "band_pct": 1,
    • "range": "24h",
    • "exchange": null,
    • "interval_s": 1800,
    • "points": [
      • { … 7 },
      • { … 7 }
      ],
    • "points_expected": 48,
    • "first_t": 1794457800000,
    • "last_t": 1794542400000,
    • "exchange_points": {
      • "deribit": 96,
      • "aster": 48
      },
    • "coverage": {
      • "included_exchanges": [ … 8 ],
      • "unavailable": [],
      • "stale_excluded": []
      },
    • "method": {
      • "bid_depth_usd": "sum of resting bid notional with price >= mid * (1 - band%), in USD; notional = price * size * contract_value (inverse contracts: size * contract_value); USDT /…",
      • "ask_depth_usd": "sum of resting ask notional with price <= mid * (1 + band%), in USD; same notional rule as bid_depth_usd",
      • "complete": "true when BOTH sides of the snapshot reach the band edge (reach_pct >= band) or the whole side of the book was returned; when false the depth values are lower b…",
      • "history": "sd_book_hist keeps the first snapshot of every 15-minute bucket per contract; each returned point takes, per contract, the first stored snapshot inside the poin…",
      • "exchange_points": "number of returned points in which each exchange had a row that was complete for the band; a changing venue set moves the aggregate, so compare n_included acros…"
      },
    • "meta": {
      • "schema": "coinboss.sd.liquidity/1",
      • "source": [ … 2 ],
      • "observed_at": null,
      • "received_at": 1794542400000,
      • "fetched_at": 1794542565889,
      • "window": "24h",
      • "quality": "FRESH",
      • "is_stale": false,
      • "cache_ttl_s": 120,
      • "fallback": "history is append-only (first snapshot of each 15-minute bucket per contract, 30-day retention); buckets the collector missed are simply absent, never interpola…",
      • "collector_heartbeat_age_s": 3
      }
    }

Amostras verificadas

Além do exemplo acima, a sonda chama este endpoint com estes parâmetros e verifica o esquema a cada vez.

ParâmetrosHTTPLatênciaResultado
band=2&coin=ETH&market=spot2006 msAprovado FRESH
coin=SOL&exchange=gate2002 msAprovado FRESH
band=3&coin=BTC4001 msAprovado retorna o erro esperado

Verificado 2026-11-13 03:58:06 UTC

Detalhes

Autenticação
Nenhuma. Endpoint público.
Limite de requisições
1200 requisições por minuto por IP
Cache do servidor
2m
Microcache de borda
10s
Frequência de atualização
Um snapshot é armazenado a cada 15 minutos por contrato; cada ponto usa o snapshot mais antigo do seu bucket (um valor pontual, não uma média).
Janela
24h / 7d / 30d.
Fontes de dados
Snapshots públicos REST do livro de ofertas de 24 corretoras (mercados perpétuos e spot), coletados e armazenados pela CoinBoss (sd_book_latest, sd_book_hist). A profundidade e o slippage são calculados pela CoinBoss a partir dos níveis de preço brutos.
Cobertura de corretoras
24 corretoras, 38 combinações corretora × mercado. Quando um snapshot público não alcança ±0.5 / 1 / 2 % do preço médio (limite de níveis da corretora), essa faixa é marcada com `complete: false`, seu valor é um limite inferior e ela fica fora do agregado; `n_included` / `n_fresh` dão o denominador e `excluded_incomplete` lista o que ficou de fora.
Paginação
Sem paginação; `range` limita o número de pontos (48 / 84 / 120).
Ordenação
Horário em ordem crescente.
Unidades
Depth in USD notional, bid and ask side reported separately and never added. Spread and slippage in basis points (1 bp = 0.01 %). USDT / USDC / USD quotes are counted 1:1 as USD.
Timestamps
Milissegundos da época Unix (UTC), salvo se a descrição do campo indicar o contrário
Formato da resposta
json
Estabilidade
Estável
Disponível desde
2026-11-11

Status ao vivo

ParcialVerificado 2026-11-13 04:02:45 UTCHTTP 20012 msEsquema confereDado mais recente: há 3m

A coleta começou em 2026-11-11, portanto os intervalos mais longos são preenchidos progressivamente. Buckets faltantes ficam ausentes, não são interpolados; uma mudança em `n_included` entre dois pontos significa que o conjunto de contratos contribuintes mudou.

Disponibilidade, últimos 30 dias

100% de 408 verificações aprovadas

Erros

As chamadas com falha têm o mesmo formato em todos os endpoints. A lista completa está na página de erros. Erros e limites de requisições →

CódigoHTTPSignificadoO que fazer
INVALID_PARAM400Falta um parâmetro obrigatório ou um valor não é aceito. `param` indica o nome do parâmetro quando ele é conhecido.Não repita a requisição sem alterações; corrija-a.
UNAUTHORIZED401O cabeçalho `CB-API-KEY` foi enviado, mas a chave é desconhecida ou foi revogada. Dados públicos não exigem chave — remova o cabeçalho ou use uma chave válida.Não repita a requisição sem alterações.
FORBIDDEN403A rota não faz parte da API pública (é interna ou exclusiva de conta).Não tente novamente.
NOT_FOUND404Rota desconhecida, ou a moeda / corretora / fundo solicitado não existe.Não tente novamente; confira o caminho e os identificadores no catálogo.
RATE_LIMITED429Mais requisições do que o limite por minuto. `Retry-After` informa os segundos a aguardar.Aguarde `Retry-After` e então tente novamente com backoff.
INTERNAL500Erro inesperado do servidor. A mensagem é genérica de propósito; cite `request_id` ao reportá-lo.Tente novamente uma vez após alguns segundos; se persistir, reporte-o com o ID da requisição.
UPSTREAM_FAILED503A fonte de dados por trás deste endpoint não respondeu a tempo. Nenhum número desatualizado ou substituto é retornado em seu lugar.Tente novamente com backoff; consulte a página de status.
UNAVAILABLE501 / 503O conjunto de dados ainda não está pronto temporariamente (aquecimento do cache) ou o endpoint ainda não tem uma fonte pública lícita.Tente novamente mais tarde; o catálogo marca os endpoints que são indisponíveis por design.
REQUEST_FAILED200Alguns endpoints mais antigos respondem HTTP 200 com `success: false`. Verifique sempre `success`, não apenas o status HTTP.Depende da mensagem; trate como uma requisição com falha.

Experimente

GET/api/sd/liquidity/historyParcial
Parâmetros

string — Coin symbol, case-insensitive (for example `BTC`). Missing or malformed values return 400.

string · padrão perp — Market type. Perpetual and spot books are never added together.

string · padrão 1 — Distance from mid price in percent.

string · padrão 24h — Look-back range: 24h (30-minute points), 7d (2-hour points) or 30d (6-hour points).

string — One exchange id covered for this market (for example `gate`). Default: all exchanges. An exchange that is not covered returns 400.

URL da requisiçãohttps://www.coinboss.com/api/sd/liquidity/history?coin=BTC
Escolha um endpoint e clique em “Enviar requisição”. A resposta, os cabeçalhos e o tempo de resposta aparecerão aqui.