Developers
Free public API, no authentication required. Returns JSON with Cache-Control headers. Suitable for personal projects, research, and content creation.
Get the current liquidity score status including composite score, momentum, confidence, and key drivers.
curl https://dollarliquidity.com/api/regime{
"status": "neutral",
"momentum": "stable",
"confidence": "high",
"compositeScore": 0.29,
"previousScore": 0.29,
"percentile5y": 42,
"coverage": { "groups": 4, "totalGroups": 4, "indicators": 9, "totalIndicators": 10 },
"dataAsOf": "2026-05-20",
"drivers": [
{
"indicatorId": "tga",
"weight": 0.325,
"zScore": 1.1,
"contribution": 0.239,
"direction": "tightening"
}
],
"updatedAt": "2026-05-22T15:33:33.647Z"
}percentile5y is the 0-100 headline (≥80 tight, ≤20 loose); compositeScore is the legacy [-1,+1] form. coverage reports how many groups/indicators actually fed the score. dataAsOf is the latest data date the score reflects — updatedAt is only the recompute timestamp, not a data-freshness signal.
Cache-Control: public, s-maxage=3600, stale-while-revalidate=21600
Get time series data for a specific indicator, including z-scores, percentiles, and metadata.
tga, fed-balance-sheet, onrrp, vix, hy-spread, real-yield-10y, dollar-index, sofr-iorb, srf, bank-cash-buffer, net-liquidity, m2
| Parameter | Type | Description |
|---|---|---|
days | number | Number of days (default: 365, max: 4000) |
curl "https://dollarliquidity.com/api/series/tga?days=90"{
"data": [
{ "date": "2026-04-20", "value": 1038.0, "zScore": 1.71 },
{ "date": "2026-05-20", "value": 782.0, "zScore": 0.98 }
],
"meta": {
"lastAvailableDate": "2026-05-20",
"zScoreMean": 441.14,
"zScoreStd": 349.53,
"percentile": 73,
"source": "fresh"
}
}data is sorted ascending by date — data[0] is the oldest point; the latest value is data[data.length − 1].
Get rolling correlations, lead-lag analysis, and score backtest data between the liquidity score and risk assets (BTC, SPX, QQQ, GOLD).
curl https://dollarliquidity.com/api/correlationCache-Control: public, s-maxage=900, stale-while-revalidate=1800
import requests
regime = requests.get("https://dollarliquidity.com/api/regime").json()
print(f"Status: {regime['status']}, Score: P{regime['percentile5y']}/100")
tga = requests.get("https://dollarliquidity.com/api/series/tga?days=30").json()
latest = tga["data"][-1] # data is ascending — the last element is newest
print(f"TGA: {latest['value']}B (z-score: {latest['zScore']})")const regime = await fetch("https://dollarliquidity.com/api/regime")
.then(r => r.json());
console.log(`Status: ${regime.status}, Score: P${regime.percentile5y}/100`);
const tga = await fetch("https://dollarliquidity.com/api/series/tga?days=30")
.then(r => r.json());
const latest = tga.data[tga.data.length - 1]; // ascending — last is newest
console.log(`TGA: ${latest.value}B`);