GETAvailable
Altcoin season index (CoinBoss method)
Altcoin-season index
GET
/api/indices/altseasonShare of the tracked large-cap coins that outperformed BTC over the window, computed from our own price history. The coin set and window are CoinBoss choices; values differ from other publishers by construction.
Request
This endpoint takes no parameters.
Example request
curl -s "https://www.coinboss.com/api/indices/altseason"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 }`. |
| now | number | ms | Server time when the response was built. |
| window_days | number | days | Look-back window of the price comparison (90). |
| current | object | — | Current value. |
| current.value | number | — | Value. |
| current.season | string | — | `altcoin` when the index is 75 or more, `bitcoin` when 25 or less, otherwise `neutral`. |
| current.date | string | — | Calendar date (UTC). |
| current.outperform_count | number | count | Number of sample coins whose 90-day price change is higher than BTC's. |
| current.sample_count | number | count | Coins in the sample: up to 50 top coins by USDT-perpetual 24h volume, excluding stablecoins, pegged and wrapped assets, with 90 days of history. |
| btc_change_90d_pct | number | % | BTC price change over the 90-day window, daily close to daily close. |
| series | array | — | Time series. |
| series[] | object | — | Time series. |
| series[].date | string | — | Calendar date (UTC). |
| series[].value | number | — | Value. |
| series[].sample | number | count | Number of sample coins with price data on that day; days with fewer than 30 are omitted. |
| samples | array | — | Number of samples. |
| samples[] | object | — | Number of samples. |
| samples[].coin | string | — | Coin symbol, upper case (for example BTC). |
| samples[].volume_usd | number | USD | Volume in USD notional. |
| samples[].change_90d_pct | number | % | The coin's price change over the 90-day window, daily close to daily close. |
| samples[].outperform | boolean | — | true when the coin's 90-day change is higher than `btc_change_90d_pct`. |
Generated 2026-11-11 23:01 UTC from 1 real responses.
Example response
/api/indices/altseason · Real response captured 2026-11-13 04:03:34 UTC. Long arrays and maps are shortened for display: series had 30 items; samples had 50 items.
- "success"true
- "now"1794542587925
- "window_days"90
- "current"
- "value"44
- "season""neutral"
- "date""2026-11-13"
- "outperform_count"22
- "sample_count"50
- "btc_change_90d_pct"9.25
- "series"
- "samples"
Details
- Authentication
- None. Public endpoint.
- Rate limit
- 1200 requests per minute per IP
- Server cache
- 10m
- Edge micro-cache
- 10s
- Update frequency
- recomputed on request (10 min cache) from daily klines
- Window
- current value plus a 30-day daily series; each value uses a 90-day return lookback
- Data sources
- Computed in-house from exchange perpetual daily klines; not a third-party altseason index.
- Exchange coverage
- Sample = top 50 perpetual bases by summed 24h volume with at least 90 daily bars; days with fewer than 30 valid samples are skipped.
- Sorting
- date ascending
- Units
- percent 0-100 (share of sampled altcoins outperforming BTC)
- Method
- Share of the 50 highest-volume USDT-perpetual altcoins (stablecoins, wrapped, FX and metal tokens excluded) whose 90-day return beats BTC's; >=75 = altcoin season, <=25 = bitcoin season.
- Timestamps
- Unix epoch milliseconds (UTC) unless the field description says otherwise
- Response format
- json
- Stability
- Stable
Live status
AvailableChecked 2026-11-13 04:03:34 UTCHTTP 2001 msSchema matchesNewest data point 4.1h old
Availability, last 30 days
99.76% of 409 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/altseasonAvailableParameters
No parameters.
Request URL
https://www.coinboss.com/api/indices/altseasonChoose 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