---
title: "Btc Cycle Indicators"
method: GET
path: "/api/v1/market-intelligence/btc/cycle-indicators"
tags: ["Market Intelligence"]
---

# Btc Cycle Indicators

`GET /api/v1/market-intelligence/btc/cycle-indicators`

## Request

- Base URL: `https://cryptodataapi.com`
- URL: `https://cryptodataapi.com/api/v1/market-intelligence/btc/cycle-indicators`
- Auth: API key in header `X-API-Key`

BTC cycle indicators: Puell Multiple, Pi Cycle Top, Golden Ratio, 2-Year MA, 200-Week MA, AHR999, Profitable Days, Stock-to-Flow, MVRV Z-Score and NUPL. `days=0` returns every day back to 2010-2014 (about 8 MB; send `Accept-Encoding: gzip`).

Ten indicators, each a list of daily entries, oldest first. Every entry carries
`price` (BTC/USD, Coin Metrics daily reference), `date` (UTC day), `time` (unix
seconds) and `timestamp` (unix ms, as CoinGlass served it), plus:

- `puell_multiple` — `puell_multiple`: daily issuance USD / its 365-day mean. >4 has marked tops, <0.5 bottoms.
- `pi_cycle_top` — `ma_111`, `ma_350_mu_2` (2x the 350-day MA), `ma_110` (CoinGlass's key). A top prints when ma_111 crosses above ma_350_mu_2.
- `golden_ratio` — `ma_350` and its multiples: `accumulation_high_1_6`, `low_bull_high_2`, `ma_350_x3`, `_x5`, `_x8`, `_x13`, `_x21`.
- `two_year_ma` — `moving_average_730`, `moving_average_730_multiplier_5`.
- `two_hundred_week_ma` — `ma_200w` (1,400-day mean); `moving_average_1440` is the same value under CoinGlass's key.
- `ahr999` — `ahr999_value` = (price / `average_price`, the 200-day geometric mean) x (price / `growth_valuation`, 10^(5.84 log10(days since genesis) - 17.01)). <0.45 accumulate, 0.45-1.2 DCA, >1.2 late cycle.
- `bitcoin_profitable_days` — `profitable_percentage`: share of all days up to that one that closed below it. `side`: 1 if that day closed below the LATEST price, -1 above, 0 latest (it changes as the price moves).
- `stock_to_flow` — `stock_to_flow`: supply / trailing-365-day issuance; `next_halving`: days to the next halving (the upcoming one is projected from supply at the trailing 30-day issuance rate).
- `mvrv_zscore` — `mvrv` (market cap / realized cap) and `mvrv_zscore` = (market cap - realized cap) / the standard deviation of market cap up to that day (expanding, so no lookahead).
- `nupl` — `nupl` = 1 - 1/MVRV (net unrealized profit/loss share of market cap).

Daily from 2010-2014 (each starts once its window fills) to the latest day Coin
Metrics has published, usually yesterday. Every value is as-of its own day.
`rainbow_chart`, `bitcoin_bubble` and `bull_market_peak` were CoinGlass-only and
are no longer served (410); their CoinGlass series up to 2026-07-22 are in
/api/v1/backtesting/snapshots?data_type=coinglass_cycle_indicators.

## Query parameters

- `days` integer: Number of daily entries to return per indicator (0 = all, default 30)

## Response `200`

Successful Response

- CycleIndicatorsResponse: All BTC cycle indicators.
  - `indicators` object, required
  - `available` string[], required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/cryptodataapi/apis/crypto-data-api.md) · [All operations](https://skmtc.dev/cryptodataapi/apis/crypto-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cryptodataapi/apis/crypto-data-api/revisions/8628b754ca81?raw)
