/api/etf/funds
GETParcial

Lista de fundos de ETF

Lista de fundos de ETF (ticker, emissor, AUM, taxa, ...)

GET/api/etf/funds
Cobertura parcial. Os fluxos e as participações são atualizados diariamente. `fee_pct`, `volume_usd`, `mkt_share_pct` e `cum_inflow_official` vêm de uma fonte que parou de publicar em 2026-10-08 e mantêm o último valor até que uma substituta entre em operação; não trate esses quatro campos como atuais. `latest_premium_pct` é `null` pelo mesmo motivo. O objeto `frozen_fields` da resposta nomeia esses campos com a data a que cada valor se refere.

Requisição

Parâmetros de consulta

NomeTipoObrigatórioPadrãoValores aceitosDescrição
assetstringOpcionalBTCBTC, ETH, SOL, HYPEAtivo subjacente. Qualquer outro valor retorna 400 `INVALID_PARAM`. Exemplo: BTC

Exemplo de requisição

curl -s "https://www.coinboss.com/api/etf/funds?asset=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 }`.
assetstring—Símbolo do ativo.
unitstring—Unidade dos valores deste objeto.
countnumber—Número de itens.
fundsarray—Todos os fundos de ETF spot do ativo, ordenados por `latest_aum` decrescente.
funds[]object—Um fundo com seu fluxo mais recente, AUM e atributos de snapshot.
funds[].tickerstring—Ticker do fundo.
funds[].issuerstring—Emissor do fundo.
funds[].latest_datestring—Dia de negociação mais recente (YYYY-MM-DD) com dados de fluxo do fundo; null quando o fundo não tem linhas.
funds[].latest_flownumbermillion USDFluxo líquido do fundo em `latest_date`; negativo = saída líquida.
funds[].sum_7dnumber—Soma de 7 dias.
funds[].cum_totalnumber—Total acumulado.
funds[].latest_aumnumbermillion USDAtivos sob gestão do fundo em `latest_date`; null quando não disponíveis para esse dia.
funds[].latest_premium_pctnumber|null%Prêmio (+) ou desconto (−) do preço de mercado do fundo em relação ao seu valor patrimonial líquido em `latest_date`; null quando não disponível para esse dia.
funds[].sourcestring—De onde vem o valor.
funds[].fee_pctnumber%Taxa de administração anual do fundo, em percentual (0.25 = 0.25 % ao ano); último valor conhecido, veja a data em `frozen_fields`.
funds[].volume_usdnumberUSDVolume em valor nocional em USD.
funds[].mkt_share_pctnumber%AUM do fundo como percentual da capitalização de mercado total da moeda subjacente (e não a sua participação entre os ETFs); último valor conhecido, veja `frozen_fields`.
funds[].cum_inflow_officialnumbermillion USDEntrada líquida acumulada desde o lançamento, conforme publicada por uma fonte terceira; último valor conhecido, veja a data em `frozen_fields`.
funds[].etf_share_pctnumber%`latest_aum` do fundo como percentual da soma dos `latest_aum` de todos os fundos do mesmo ativo.
frozen_fieldsobject—Campos cuja fonte parou de ser atualizada; eles trazem o último valor conhecido e não devem ser lidos como atuais. `null` quando nada está congelado.
frozen_fields.fieldsarray—Nomes dos campos congelados.
frozen_fields.fields[]string—Nome do campo.
frozen_fields.as_ofstring—Data da última atualização dos campos congelados (YYYY-MM-DD).
frozen_fields.latest_datestring—Data mais recente dos campos que continuam sendo atualizados (YYYY-MM-DD).
frozen_fields.detailarray—Detalhe.
frozen_fields.detail[]object—Detalhe.
frozen_fields.detail[].fieldstring—Nome do campo congelado.
frozen_fields.detail[].as_ofstring—Data da última atualização deste campo (YYYY-MM-DD).
frozen_fields.detail[].servedstring—O que a API retorna para o campo: `last_known_value` ou `null`.
frozen_fields.by_tickerobject—Por fundo: data da última atualização de cada campo congelado. chaves dinâmicas: IBIT,FBTC,GBTC,BTC,BITB,ARKB
frozen_fields.by_ticker.{*}object—Campos congelados de um fundo, indexados pelo nome do campo.
frozen_fields.by_ticker.{*}.fee_pctstring%Data da última atualização de `fee_pct` (YYYY-MM-DD).
frozen_fields.by_ticker.{*}.volume_usdstringUSDVolume em valor nocional em USD.
frozen_fields.by_ticker.{*}.mkt_share_pctstring%Data da última atualização de `mkt_share_pct` (YYYY-MM-DD).
frozen_fields.by_ticker.{*}.cum_inflow_officialstring—Data da última atualização de `cum_inflow_official` (YYYY-MM-DD).
frozen_fields.by_ticker.{*}.latest_premium_pctstring%Data da última atualização de `latest_premium_pct` (YYYY-MM-DD).
frozen_fields.notestring—Observação.

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

Exemplo de resposta

/api/etf/funds?asset=BTC · Resposta real capturada 2026-11-13 03:58:19 UTC. Arrays e mapas longos são encurtados para exibição: funds tinha 13 itens; frozen_fields.detail tinha 5 itens; frozen_fields.by_ticker tinha 13 itens.

  • {
    • "success": true,
    • "asset": "BTC",
    • "unit": "million_usd",
    • "count": 13,
    • "funds": [
      • { … 14 },
      • { … 14 }
      ],
    • "frozen_fields": {
      • "fields": [ … 5 ],
      • "as_of": "2026-10-08",
      • "latest_date": "2026-11-12",
      • "detail": [ … 2 ],
      • "by_ticker": { … 2 },
      • "note": "fields 所列字段的数据源自 as_of 之后未再更新:served=last_known_value 的字段返回的是 as_of 当日的最后已知值(不是 latest_date 的值);served=null 的字段在 latest_date 无数据、返回 null。其余字段(latest_flow/sum_7d…"
      }
    }

Detalhes

Autenticação
Nenhuma. Endpoint público.
Limite de requisições
1200 requisições por minuto por IP
Cache do servidor
5m
Microcache de borda
10s
Frequência de atualização
a cada hora (minuto 15); a fonte publica uma vez por dia de negociação dos EUA
Janela
snapshot mais recente por fundo (fluxos somados em 7 dias de negociação e desde a listagem)
Fontes de dados
Lista por fundo dos ETFs à vista de cripto dos EUA: fluxos de um rastreador público de fluxos de ETF, AUM de um site público de dados de mercado.
Cobertura de corretoras
Todos os fundos do ativo selecionado (BTC, ETH, SOL, HYPE).
Ordenação
AUM mais recente decrescente
Unidades
million USD (flows, AUM); percent (premium, fee, shares)
Método
cum_total = sum of daily flows; etf_share_pct = fund AUM / sum of AUM of all funds of the same asset x 100.
Timestamps
Milissegundos da época Unix (UTC), salvo se a descrição do campo indicar o contrário
Formato da resposta
json
Estabilidade
Estável

Status ao vivo

ParcialVerificado 2026-11-13 03:58:19 UTCHTTP 2001 msEsquema confereDado mais recente: há 28h

Os fluxos e as participações são atualizados diariamente. `fee_pct`, `volume_usd`, `mkt_share_pct` e `cum_inflow_official` vêm de uma fonte que parou de publicar em 2026-10-08 e mantêm o último valor até que uma substituta entre em operação; não trate esses quatro campos como atuais. `latest_premium_pct` é `null` pelo mesmo motivo. O objeto `frozen_fields` da resposta nomeia esses campos com a data a que cada valor se refere.

Disponibilidade, últimos 30 dias

100% de 410 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/etf/fundsParcial
Parâmetros

string · padrão BTC — Underlying asset. Any other value returns 400 `INVALID_PARAM`.

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