GETAvailable
BTC multi-factor signal dashboard
BTC multi-factor signal dashboard
GET
/api/indices/btc-signalRequest
This endpoint takes no parameters.
Example request
curl -s "https://www.coinboss.com/api/indices/btc-signal"Response fields
The field table is generated from real responses, so it lists exactly what the endpoint returns. Paths use a[] for array items and {*} for objects keyed by a dynamic name such as a coin or an exchange.
| Field | Type | Unit | Description |
|---|---|---|---|
| success | boolean | — | true when the request succeeded. On failure the body is `{ success: false, code, error, request_id }`. |
| totalScore | number | — | Weighted sum of the six dimension scores, −100 to 100; positive is bullish. |
| label | object | — | Label. |
| label.key | string | — | Key. |
| label.zh | string | — | Text in Chinese. |
| dims | array | — | The six dimensions of the signal: `liq`, `funding`, `oi`, `ls`, `options`, `basis`. |
| dims[] | object | — | One dimension: `key`, `zh` (Chinese name), `weight`, `score`, `detail` (Chinese text) and `raw` (the inputs). |
| dims[].key | string | — | Key. |
| dims[].zh | string | — | Text in Chinese. |
| dims[].weight | number | fraction | Weight of the dimension in `totalScore`: 0.25 for `liq`, 0.15 for each of the others. |
| dims[].score | number | — | Score. |
| dims[].detail | string | — | Detail. |
| dims[].raw | object | — | Value as received from the source. |
| dims[].raw.longLiq | number | USD | BTC long liquidations in the last 4 hours. may be absent |
| dims[].raw.shortLiq | number | USD | BTC short liquidations in the last 4 hours. may be absent |
| dims[].raw.imbalance | number | ratio | (`shortLiq` − `longLiq`) ÷ (`shortLiq` + `longLiq`), −1 to 1; reported as 0 when there were no liquidations. may be absent |
| dims[].raw.rate | number | — | Rate. may be absent |
| dims[].raw.oiChg | number | % | Change of summed BTC USDT-contract open interest against the hourly snapshot at least 24 hours old; reported as 0 when no snapshot exists. may be absent |
| dims[].raw.priceChg | number | % | Open-to-close change of the latest daily BTC candle (the current UTC day), not a rolling 24 hours. may be absent |
| dims[].raw.oiCur | number | USD | Current open interest summed over BTC USDT-margined contracts. may be absent |
| dims[].raw.longPct | number | % | Average long percentage across the BTC long/short ratio rows; the code substitutes 55 when no row exists. may be absent |
| dims[].raw.pc | number | ratio | BTC option put open interest ÷ call open interest, both in USD; the code substitutes 1 when there is no call open interest. may be absent |
| dims[].raw.callOi | number | USD | Open interest of BTC call options. may be absent |
| dims[].raw.putOi | number | USD | Open interest of BTC put options. may be absent |
| dims[].raw.basisPct | number | % | Average perpetual basis (perpetual vs spot price) across BTC contracts; reported as 0 when no row exists. may be absent |
| ts | number | ms | Timestamp. |
Generated 2026-11-11 23:01 UTC from 1 real responses.
Example response
/api/indices/btc-signal · Real response captured 2026-11-13 01:38:36 UTC. Long arrays and maps are shortened for display: dims had 6 items.
- "success"true
- "totalScore"-29.8
- "label"
- "key""bear"
- "zh""偏空"
- "dims"
- "ts"1794533916317
Details
- Authentication
- None. Public endpoint.
- Rate limit
- 1200 requests per minute per IP
- Server cache
- 2m
- Edge micro-cache
- 10s
- Update frequency
- recomputed on request (2 min cache); inputs refresh every 1-10 min
- Window
- latest snapshot (liquidations: last 4 hours; open interest: 24h change)
- Data sources
- In-house composite score built from exchange liquidation, funding, open-interest, long/short, options and basis data collected directly from exchanges.
- Exchange coverage
- BTC only.
- Units
- score -100..+100 per dimension and overall, with a label
- Method
- Weighted sum of six dimension scores: liquidation imbalance (0.25) and funding rate, OI/price change, retail long share (contrarian), put/call OI ratio, basis (0.15 each); labels strong_bull >=40, bull >=15, bear <=-15, strong_bear <=-40.
- Timestamps
- Unix epoch milliseconds (UTC) unless the field description says otherwise
- Response format
- json
- Stability
- Stable
Live status
AvailableChecked 2026-11-13 01:38:36 UTCHTTP 200297 msSchema matchesNewest data point 0s old
Availability, last 30 days
100% of 380 checks passed
Errors
Failed calls share one shape on every endpoint. The full list is on the errors page. Errors and rate limits →
| Code | HTTP | Meaning | What to do |
|---|---|---|---|
| INVALID_PARAM | 400 | A required parameter is missing or a value is not accepted. `param` names the parameter when it is known. | Do not retry unchanged; fix the request. |
| UNAUTHORIZED | 401 | The `CB-API-KEY` header was sent but the key is unknown or revoked. Public data needs no key — drop the header or use a valid key. | Do not retry unchanged. |
| FORBIDDEN | 403 | The route is not part of the public API (internal or account-only). | Do not retry. |
| NOT_FOUND | 404 | Unknown route, or the requested coin / exchange / fund does not exist. | Do not retry; check the path and identifiers against the catalog. |
| RATE_LIMITED | 429 | More requests than the per-minute limit. `Retry-After` gives the seconds to wait. | Wait for `Retry-After`, then retry with backoff. |
| INTERNAL | 500 | Unexpected server error. The message is generic by design; quote `request_id` when reporting it. | Retry once after a few seconds; report it with the request id if it persists. |
| UPSTREAM_FAILED | 503 | The data source behind this endpoint did not answer in time. No stale or substitute numbers are returned in its place. | Retry with backoff; check the status page. |
| UNAVAILABLE | 501 / 503 | The dataset is temporarily not ready (cache warming) or the endpoint has no lawful public source yet. | Retry later; the catalog marks endpoints that are unavailable by design. |
| REQUEST_FAILED | 200 | Some older endpoints answer HTTP 200 with `success: false`. Always check `success`, not only the HTTP status. | Depends on the message; treat as a failed request. |
Try it
GET
/api/indices/btc-signalAvailableParameters
No parameters.
Request URL
https://www.coinboss.com/api/indices/btc-signalChoose an endpoint and press “Send request”. The response, headers and timing will appear here.
More in this category
- AHR999 accumulation indicator series /api/indicators/ahr999
- Bitcoin bubble index /api/indicators/bitcoin-bubble
- Full BTC daily close history /api/indicators/btc-history
- Bull-market peak signal checklist /api/indicators/bull-peak-signals
- CBBI bull-run composite index /api/indicators/cbbi
- Derivatives risk index (CoinBoss method) /api/indicators/cdri
- Derivatives composite index (CoinBoss method) /api/indicators/cgdi
- BTC correlation with gold / S&P 500 /api/indicators/correlation
- Correlation matrix of major assets /api/indicators/correlation-matrix
- Crypto legal status by country /api/indicators/crypto-legality
- Cycle-top valuation bands /api/indicators/cycle-caps
- BTC price doubling-time series /api/indicators/doubling-time
- Google search-interest trend /api/indicators/google-trends
- Macro series /api/indicators/macro-series
- Price-forecast model output /api/indicators/price-forecast
- Drawdown-from-ATH series /api/indicators/price-no-turning-back
- Reddit Bitcoin subreddit subscriber count /api/indicators/reddit-subs
- Wikipedia page views /api/indicators/wikipedia-pageviews
- Altcoin season index (CoinBoss method) /api/indices/altseason
- Bottom radar /api/indices/bottom-radar
- Bottom-radar historical case study /api/indices/bottom-radar/case-0819
- BTC multi-factor signal dashboard /api/indices/btc-signal
- Backtest of the BTC signal /api/indices/btc-signal/backtest
- Fear & Greed index /api/indices/fear-greed
- Fear & Greed index (current and history) /api/market/fear-greed
- Signal backtest results /api/signal/backtest/:coin
- Signal monitor dashboard /api/signal/monitor/:coin