/api/sd/etf/history
GETSebagianPARTIAL

Riwayat ETF spot

Deret harian kepemilikan, aset bersih, atau arus bersih untuk satu aset (penjumlahan dana yang tercakup) atau untuk satu dana. Setiap titik menyatakan jumlah dana yang dimuatnya.

GET/api/sd/etf/history
Cakupan sebagian. Cakupan sebagian: beberapa penerbit besar tidak menyediakan pengungkapan publik yang dapat dibaca mesin dan dapat dikumpulkan dari server. Dana mereka dicantumkan sebagai tidak tersedia, dan total hanya mencakup dana selebihnya. Bandingkan `funds_covered` / `funds_total` sebelum membandingkan total dengan sumber lain.

Permintaan

Parameter kueri

NamaTipeWajibDefaultNilai yang diizinkanDeskripsi
assetstringWajib—BTC, ETH, SOL, HYPEAset dasar, tidak peka huruf besar/kecil. `coin` diterima sebagai alias. Contoh: BTC
metricstringWajib—holdings, aum, flowDeret yang dikembalikan: kepemilikan (koin), aset bersih (USD), atau arus bersih (USD). Contoh: flow
rangestringOpsional30d30d, 90d, allRentang waktu ke belakang.
tickerstringOpsional——Ticker dana yang terdaftar untuk aset tersebut (misalnya `ARKB`). Default: jumlah semua dana yang dicakup. Ticker yang tidak terdaftar mengembalikan 404; dana terdaftar yang tidak dapat dikumpulkan mengembalikan 200 dengan `series: null`.

Contoh permintaan

curl -s "https://www.coinboss.com/api/sd/etf/history?asset=BTC&metric=flow"

Kolom respons

Tabel kolom dihasilkan dari respons nyata, sehingga memuat persis apa yang dikembalikan endpoint. Path memakai a[] untuk item array dan {*} untuk objek yang kuncinya berupa nama dinamis seperti koin atau bursa.

KolomTipeSatuanDeskripsi
successboolean—true jika permintaan berhasil. Jika gagal, body-nya adalah `{ success: false, code, error, request_id }`.
schemastring—ID skema respons ini. ID hanya berubah jika kolom yang sudah ada berubah makna atau tipe.
nownumbermsWaktu server saat respons disusun.
assetstring—Aset dasar.
metricstring—Deret yang dipilih oleh parameter `metric`.
rangestring—Rentang waktu ke belakang yang diterapkan.
tickerstring|null—Ticker dana.
unitstring—Satuan nilai deret: `coin` atau `USD`.
funds_totalnumber—Dana yang terdaftar untuk aset tersebut.
funds_in_seriesarray—Dana yang berkontribusi pada deret.
funds_in_series[]string—Dana yang berkontribusi pada deret.
first_date_by_fundobject—Tanggal pertama yang tersedia per dana (kuncinya adalah ticker). kunci dinamis: ARKB,EZBC
first_date_by_fund.{*}string—Tanggal pertama yang tersedia per dana (kuncinya adalah ticker).
pointsnumber—Titik deret, yang terlama lebih dulu.
seriesarray—Titik harian, yang terlama lebih dulu; `null` jika dana tidak dapat dikumpulkan.
series[]object—Titik harian, yang terlama lebih dulu; `null` jika dana tidak dapat dikumpulkan.
series[].datestring—Tanggal as-of penerbit untuk titik tersebut.
series[].valuenumber—Nilai metrik yang dipilih, dijumlahkan atas dana yang ada pada tanggal tersebut.
series[].fundsnumber—Satu baris per dana terdaftar, termasuk dana yang tidak dapat dikumpulkan. bisa tidak ada
coverageobject—Apa yang termasuk dan tidak termasuk dalam angka-angka ini. Bandingkan ini terlebih dahulu sebelum membandingkan total dengan sumber lain.
coverage.included_exchangesarray—Sumber yang data segarnya disertakan.
coverage.included_exchanges[]string—Sumber yang data segarnya disertakan.
coverage.unavailablearray—Sumber yang tidak dapat disertakan, masing-masing dengan alasannya. Sumber tersebut tidak pernah dihitung sebagai 0.
coverage.unavailable[]object—Sumber yang tidak dapat disertakan, masing-masing dengan alasannya. Sumber tersebut tidak pernah dihitung sebagai 0.
coverage.unavailable[].exchangestring—ID bursa (huruf kecil).
coverage.unavailable[].issuerstring—ID penerbit dana.
coverage.unavailable[].reasonstring—Kode alasan yang dapat dibaca mesin.
coverage.unavailable[].detailstring—Penjelasan alasan yang dapat dibaca manusia.
coverage.stale_excludedarray—Baris yang tidak dimasukkan karena pembaruan terakhirnya berada di luar jendela kesegaran. kosong pada sampel yang dipakai untuk menghasilkan tabel ini
methodobject—Pernyataan teks biasa tentang rumus yang dipakai untuk respons ini, satu entri per kolom.
method.valuestring—Catatan rumus untuk `value`, teks biasa.
method.fundsstring—Catatan rumus untuk `funds`, teks biasa.
method.multi_daystring—Catatan rumus untuk `multi_day`, teks biasa.
method.history_startstring—Catatan rumus untuk `history_start`, teks biasa.
metaobject—Silsilah data dan kesegaran respons ini.
meta.schemastring—ID skema respons ini. ID hanya berubah jika kolom yang sudah ada berubah makna atau tipe.
meta.sourcearray—Endpoint publik hulu tempat data dikumpulkan.
meta.source[]object—Endpoint publik hulu tempat data dikumpulkan.
meta.source[].exchangestring—ID bursa (huruf kecil).
meta.source[].endpointstring—Endpoint publik sumber yang dibaca kolektor (ditampilkan sebagai silsilah data; klien tidak pernah memanggilnya).
meta.observed_atnumbermsStempel waktu yang diberikan sumber untuk data tersebut.
meta.received_atnumbermsWaktu kolektor CoinBoss menerima data.
meta.fetched_atnumbermsWaktu respons ini disusun.
meta.windowstring—Jendela waktu yang dicakup angka-angka ini.
meta.qualitystring—FRESH, PARTIAL, STALE, BROKEN, atau UNAVAILABLE, dinilai dari stempel waktu data dan cakupan.
meta.is_staleboolean—True jika data lebih lama dari jendela kesegarannya.
meta.cache_ttl_snumbersMasa hidup cache respons ini.
meta.fallbackstring—Apa yang dikembalikan endpoint ketika kolektor atau sumber gagal.

Dihasilkan 2026-11-11 23:00 UTC dari 3 respons nyata.

Contoh respons

/api/sd/etf/history?asset=BTC&metric=flow · Respons nyata yang direkam 2026-11-13 04:02:51 UTC. Array dan map yang panjang dipersingkat untuk tampilan: series berisi 21 item; meta.source berisi 5 item; first_date_by_fund berisi 5 item; coverage.unavailable berisi 7 item.

  • {
    • "success": true,
    • "schema": "coinboss.sd.etf/1",
    • "now": 1794542297946,
    • "asset": "BTC",
    • "metric": "flow",
    • "range": "30d",
    • "ticker": null,
    • "unit": "USD",
    • "funds_total": 12,
    • "funds_in_series": [
      • "ARKB",
      • "BITB",
      • "BTCO",
      • "EZBC",
      • "HODL"
      ],
    • "first_date_by_fund": {
      • "ARKB": "2026-10-14",
      • "BITB": "2026-11-11"
      },
    • "points": 21,
    • "series": [
      • { … 3 },
      • { … 3 }
      ],
    • "coverage": {
      • "included_exchanges": [ … 5 ],
      • "unavailable": [ … 2 ],
      • "stale_excluded": []
      },
    • "method": {
      • "value": "own method, per fund between two consecutive issuer as-of rows: shares_x_nav = (shares_out[t] - shares_out[t-1]) x NAV[t], dated t; aum_nav_ratio_t1 (issuer pub…",
      • "funds": "number of funds contributing to that date; the aggregate is only comparable across dates with the same contributing funds (history starts on different dates per…",
      • "multi_day": "true when a contributing flow spans more than one trading day because the issuer history has no row for the day(s) in between",
      • "history_start": "issuer-provided official history is back-filled where it exists (21Shares valuation history, Franklin price history); other issuers start on the first collectio…"
      },
    • "meta": {
      • "schema": "coinboss.sd.etf/1",
      • "source": [ … 2 ],
      • "observed_at": 1794441600000,
      • "received_at": 1794537318126,
      • "fetched_at": 1794542297946,
      • "window": "30d",
      • "quality": "PARTIAL",
      • "is_stale": false,
      • "cache_ttl_s": 300,
      • "fallback": "collector failure keeps the last issuer row with its real as_of_date; a fund whose as_of_date is more than 1 trading day behind the expected as-of is flagged is…"
      }
    }

Sampel terverifikasi

Selain contoh di atas, probe memanggil endpoint ini dengan parameter berikut dan memeriksa skemanya setiap kali.

ParameterHTTPLatensiHasil
asset=ETH&range=90d&metric=aum2005 msLolos PARTIAL
asset=BTC&metric=holdings&ticker=ARKB2004 msLolos FRESH
asset=BTC4001 msLolos mengembalikan error yang diharapkan

Diperiksa 2026-11-13 03:58:17 UTC

Detail

Autentikasi
Tidak ada. Endpoint publik.
Batas permintaan
1200 permintaan per menit per IP
Cache server
5m
Mikro-cache edge
10s
Frekuensi pembaruan
Tiga putaran kolektor per hari (02:35, 10:35, 16:35 UTC). Penerbit memublikasikan sekali per hari perdagangan AS, biasanya pada malam tanggal perdagangan.
Jendela
30d / 90d / all, satu titik per tanggal as-of penerbit.
Sumber data
Pengungkapan harian yang dipublikasikan sendiri oleh penerbit dana (kepemilikan, aset bersih, saham beredar, NAV), dikumpulkan dan disimpan oleh CoinBoss (sd_etf_fund_daily). Arus bersih dihitung oleh CoinBoss dari pengungkapan tersebut.
Cakupan bursa
Hanya dana yang penerbitnya memublikasikan data harian yang dapat dibaca mesin yang dicakup. `funds_total` dan `funds_covered` menyatakan jumlahnya; setiap dana yang tidak dicakup tercantum di `coverage.unavailable` beserta alasannya. Total adalah jumlah atas dana yang dicakup saja (`totals_scope = "covered_funds_only"`), bukan seluruh pasar.
Paginasi
Tanpa paginasi; `range` membatasi jumlah titik.
Pengurutan
Tanggal, menaik.
Satuan
Amounts in USD; holdings in units of the underlying coin; NAV and market price in USD per share; `premium_pct` and `fee_pct` in percent.
Metode
A point sums the funds that have a row on that date; `funds` is that count. Points with different `funds` are not directly comparable. Flow is bucketed by its booking date.
Stempel waktu
Milidetik epoch Unix (UTC) kecuali deskripsi kolom menyatakan lain
Format respons
json
Stabilitas
Stabil
Tersedia sejak
2026-11-11

Status langsung

SebagianDiperiksa 2026-11-13 04:02:51 UTCHTTP 2001 msSkema sesuaiTitik data terbaru berusia 88m

Endpoint melaporkan kualitas data PARTIAL — Cakupan sebagian: beberapa penerbit besar tidak menyediakan pengungkapan publik yang dapat dibaca mesin dan dapat dikumpulkan dari server. Dana mereka dicantumkan sebagai tidak tersedia, dan total hanya mencakup dana selebihnya. Bandingkan `funds_covered` / `funds_total` sebelum membandingkan total dengan sumber lain.

Ketersediaan, 30 hari terakhir

100% dari 408 pemeriksaan lolos

Error

Panggilan yang gagal memiliki satu bentuk yang sama di semua endpoint. Daftar lengkapnya ada di halaman error. Error dan batas permintaan →

KodeHTTPArtiTindakan
INVALID_PARAM400Parameter wajib tidak ada atau suatu nilai tidak diterima. `param` menyebutkan nama parameternya jika diketahui.Jangan mengulang tanpa perubahan; perbaiki permintaannya.
UNAUTHORIZED401Header `CB-API-KEY` dikirim tetapi kuncinya tidak dikenal atau sudah dicabut. Data publik tidak memerlukan kunci — hapus header tersebut atau gunakan kunci yang valid.Jangan mengulang tanpa perubahan.
FORBIDDEN403Rute ini bukan bagian dari API publik (internal atau khusus akun).Jangan mengulang.
NOT_FOUND404Rute tidak dikenal, atau koin / bursa / dana yang diminta tidak ada.Jangan mengulang; periksa path dan pengenal terhadap katalog.
RATE_LIMITED429Jumlah permintaan melebihi batas per menit. `Retry-After` memberikan jumlah detik untuk menunggu.Tunggu selama `Retry-After`, lalu ulangi dengan backoff.
INTERNAL500Error server yang tidak terduga. Pesannya sengaja dibuat generik; sertakan `request_id` saat melaporkannya.Ulangi sekali setelah beberapa detik; laporkan beserta ID permintaan jika masih terjadi.
UPSTREAM_FAILED503Sumber data di balik endpoint ini tidak menjawab tepat waktu. Tidak ada angka usang atau angka pengganti yang dikembalikan sebagai gantinya.Ulangi dengan backoff; periksa halaman status.
UNAVAILABLE501 / 503Dataset untuk sementara belum siap (cache sedang diisi) atau endpoint belum memiliki sumber publik yang sah.Ulangi nanti; katalog menandai endpoint yang memang tidak tersedia secara desain.
REQUEST_FAILED200Beberapa endpoint lama menjawab HTTP 200 dengan `success: false`. Selalu periksa `success`, bukan hanya status HTTP.Bergantung pada pesannya; perlakukan sebagai permintaan yang gagal.

Coba

GET/api/sd/etf/historySebagian
Parameter

string — Underlying asset, case-insensitive. `coin` is accepted as an alias.

string — Series to return: holdings (coin), net assets (USD) or net flow (USD).

string · default 30d — Look-back range.

string — Fund ticker registered for the asset (for example `ARKB`). Default: all covered funds summed. An unregistered ticker returns 404; a registered fund that cannot be collected returns 200 with `series: null`.

URL permintaanhttps://www.coinboss.com/api/sd/etf/history?asset=BTC&metric=flow
Pilih endpoint lalu tekan “Kirim permintaan”. Respons, header, dan waktu tempuhnya akan muncul di sini.