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
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.
| Universe | Assets |
|---|---|
ai_infrastructure | 32 |
bitcoin_equities | 19 |
crypto | 85 |
quantum | 10 |
us_stock_market | 15 |
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
- 1,000 requests / month
- 5 / minute
- Top 10 crypto by market cap
- 90 rows per page
- No bulk endpoint
Pro
- 50,000 requests / month
- 20 / minute
- All assets, every universe
- 1,000 rows per page
- Bulk endpoint, 25 symbols per call
Ultra
- 500,000 requests / month
- 60 / minute
- All assets, every universe
- 1,000 rows per page
- Bulk endpoint, 25 symbols per call
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.