CryptoWeeklies · API

The models, as JSON

Every risk reading on cryptoweeklies.com, for 161 crypto and equity assets, over a read-only HTTP API. Nothing is computed when you ask for it: each number is read from the same published model output the site shows, so the API and the website cannot disagree.

Bitcoin, right now

Gravity Risk22.6
Risk level3 / 10
Premium to lifetime TWAP+171.17%
20-week SMA risk51.0

Bitcoin, from the last published refresh. This box reads the same public document the API serves.

That is a real reading, not a mock. The whole response looks like this:

GET /v1/assets/BTC/risk
{
  "as_of": "2026-09-05T15:57:00Z",
  "model_version": {
    "twap_gravity_crypto": "1",
    "dca_regression": "1",
    "sma_20w_crypto": "1"
  },
  "disclaimer": "Descriptive statistics on past price, for educational use only. Not financial, investment, legal or professional advice. Past performance does not guarantee future results. Every value here is published free at cryptoweeklies.com.",
  "data": {
    "symbol": "BTC",
    "name": "Bitcoin",
    "asset_class": "CRYPTO",
    "universes": [
      "crypto"
    ],
    "free_tier": true,
    "market_cap_rank": 1,
    "as_of": "2026-09-05T15:57:00Z",
    "price": {
      "value": 79798.52,
      "currency": "USD",
      "source_page": "BTC_Price_TWAP_Gravity_Analysis.html"
    },
    "gravity": {
      "score": 22.6,
      "risk_level": 3,
      "verdict": "historically an accumulation zone, well below past tops",
      "model": "twap_gravity_crypto@1",
      "as_of": "2026-09-05T15:57:00Z",
      "as_of_basis": "page_stamp",
      "source_page": "BTC_Price_TWAP_Gravity_Analysis.html"
    },
    "twap": {
      "baseline": 29427.42,
      "premium_pct": 171.17,
      "risk_level": 7,
      "risk_level_model": "twap_risk_level_crypto@1",
      "model": "twap_gravity_crypto@1",
      "as_of": "2026-09-05T15:57:00Z",
      "as_of_basis": "page_stamp",
      "source_page": "BTC_Price_TWAP_Gravity_Analysis.html"
    },
    "sma_composite": {
      "score": 51.0,
      "page_value": 0.51,
      "band": "0.5-0.6",
      "model": "sma_20w_crypto@1",
      "as_of": "2026-09-05T15:54:00Z",
      "as_of_basis": "page_stamp",
      "source_page": "btc-usd_price_with_risk.html"
    },
    "phase": {
      "label": "Bull Phase Expansion",
      "completion_pct": 51.9,
      "fair_value": null,
      "max_euphoria_target": 172747.36,
      "model": "polynomial_phase_crypto@1",
      "as_of": "2026-09-07",
      "as_of_basis": "trace_end",
      "source_page": "BTC_Polynomial_Phase_Detector.html"
    },
    "dca": {
      "band": "0.3-0.4",
      "risk": 0.35,
      "price": 79798.52,
      "fair_value": 76564.3,
      "floor": 43056.64,
      "ceiling": 188256.47,
      "premium_pct": 4.22,
      "premium_source": "printed",
      "reading_date": "2026-09-05",
      "model": "dca_regression@1",
      "as_of": "2026-09-05",
      "as_of_basis": "trace_end",
      "source_page": "BTC_lin_reg_price_with_risk.html"
    },
    "market_context": {
      "universe": "crypto",
      "peak_valley": {
        "score": 40.1,
        "zone": "Moderate Zone",
        "series": "leading_btc_eth",
        "scope": "market",
        "model": "peak_valley_crypto@1",
        "as_of": "2026-09-05T15:53:00Z",
        "as_of_basis": "page_stamp"
      },
      "fear_greed": {
        "value": 73,
        "label": "greed",
        "label_source": "site_band_table",
        "sma_30": 53,
        "provider": "alternative.me",
        "scope": "market",
        "model": "fear_greed_crypto@1",
        "as_of": "2026-09-05",
        "as_of_basis": "trace_end"
      }
    },
    "stale_models": []
  }
}

What it covers

Five model families: Gravity Risk against a time-weighted baseline, the lifetime premium to that baseline, moving-average composite risk, polynomial cycle phase, and dollar-cost averaging regression state. Plus a barometer for each universe.

UniverseAssets
ai_infrastructure32
bitcoin_equities19
crypto85
quantum10
us_stock_market15

Refreshed three times a day, the same run that regenerates the website. Every response states what it is as_of and which model_version produced it.

Pricing

Basic

$0 / month
  • 1,000 requests / month
  • 5 / minute
  • Top 10 crypto by market cap
  • 90 rows per page
  • No bulk endpoint

Ultra

$99 / month
  • 500,000 requests / month
  • 60 / minute
  • All assets, every universe
  • 1,000 rows per page
  • Bulk endpoint, 25 symbols per call
Ask to be told when it opens

The API is built and the documents below are live. The marketplace listing that hands out keys is not open yet, so there is nothing to subscribe to today.

The website stays free

Every number this API returns is published free at cryptoweeklies.com and in the Android app, and always will be. The API sells the convenience: one stable schema instead of scraping 1,554 report pages, dated history, bulk requests, and a contract that will not change under you.

Read next

What it will not do

No order execution, no portfolio management, no personalised advice, and no position sizing. The DCA endpoint returns "multiplier": null deliberately: the model publishes a risk band, and turning that into a position size would be advice rather than description.

Get it on Google Play — free, no ads