DATA_API · V1 · BETA

Raw signals for
builders & quant traders

Integrate LiquidityAlert's real-time OCM score, on-chain signals and historical data directly into your platform, bot or TradingView strategy.

5
Endpoints
JSON
Response format
Requests / month
99%
Uptime SLA
Free tier
EXPLORER
$0/month

Test the API before committing. Limited to 10 requests per day, current OCM score only.

REQUEST FREE KEY →
Annual · Best value · BETA
API ACCESS
$190/year

Same full access as monthly, billed annually. Save $38 vs monthly — equivalent to 2 months free.

GET API KEY — $190/YR →

> AUTHENTICATION

Header (recommended)

Pass your API key in the X-API-Key request header. Works with all HTTP clients.

X-API-Key: la_YOUR_KEY_HERE
Query parameter

Alternatively, pass the key as a URL parameter. Useful for quick tests and TradingView Pine Script integrations.

?key=la_YOUR_KEY_HERE

> ENDPOINTS

GET liquidityalert.net/api/v1/ping FREE API health check
curl https://liquidityalert.net/api/v1/ping
> EXAMPLE RESPONSE
{
  "status": "ok",
  "version": "1.0",
  "timestamp": "2026-05-23T10:00:00"
}
GET liquidityalert.net/api/v1/ocm FREE / API Real-time OCM score & indicators
PARAMETERTYPEDESCRIPTION
keystringAPI key — optional, use X-API-Key header or ?key=. Free tier: 10 req/day without key.
# Free tier (10 req/day, no key needed)
curl https://liquidityalert.net/api/v1/ocm

# Paid tier (unlimited)
curl -H "X-API-Key: la_YOUR_KEY" \
  https://liquidityalert.net/api/v1/ocm
import requests

headers = {"X-API-Key": "la_YOUR_KEY"}
res = requests.get("https://liquidityalert.net/api/v1/ocm", headers=headers)
data = res.json()

print(data["ocm_score"])   # e.g. 62
print(data["zone"])        # "BOTTOM SIGNAL"
print(data["action"])      # "Accumulate — high conviction zone"
// Pine Script v5 — fetch OCM score via HTTP
// Use a server-side relay that returns the score as a plain number.
// Point request.security() at your relay endpoint.

// Or use /api/v1/tv/score (see below) which returns
// TradingView-compatible OHLC-style JSON directly.

score = request.security("LIQUIDITYALERT:OCM", "W", close)
plot(score, title="OCM Score", color=color.new(color.red, 0))
> EXAMPLE RESPONSE
{
  "timestamp": "2026-05-23T10:00:00",
  "date": "2026-05-23",
  "ocm_score": 62,
  "zone": "BOTTOM SIGNAL",
  "signal": "Strong accumulation signal",
  "action": "Accumulate — high conviction zone",
  "indicators": {
    "btc_price": "104820",
    "m2_yoy": "3.8",
    "igv_rsi": "52.4",
    "net_liquidity": "6200B",
    "dxy": "98.4",
    "gaussian": "bullish",
    "cvd": "+1200M",
    "tvl_24h": "+0.8%",
    "tvl_7d": "+2.1%"
  },
  "plan": "api",
  "client": "YOUR_CLIENT_NAME"
}
GET liquidityalert.net/api/v1/ocm/history API Full OCM score history
PARAMETERTYPEDESCRIPTION
keystringAPI key (requires paid plan)
limitintegerNumber of records to return (default: 90, max: 9999)
curl -H "X-API-Key: la_YOUR_KEY" \
  "https://liquidityalert.net/api/v1/ocm/history?limit=30"
import requests, pandas as pd

headers = {"X-API-Key": "la_YOUR_KEY"}
res = requests.get(
    "https://liquidityalert.net/api/v1/ocm/history",
    params={"limit": 90},
    headers=headers
)
data = res.json()
df = pd.DataFrame(data["signals"])
print(df[["period", "score", "signal", "btc"]])
> EXAMPLE RESPONSE
{
  "generated_at": "2026-05-23T10:00:00",
  "count": 3,
  "signals": [
    { "period": "2026-05-23", "score": 62, "btc": 104820, "signal": "BOTTOM SIGNAL" },
    { "period": "2026-05-16", "score": 58, "btc": 101200, "signal": "NEUTRAL"       },
    { "period": "2026-05-09", "score": 71, "btc": 96500,  "signal": "NEUTRAL"       }
  ]
}
GET liquidityalert.net/api/v1/article API Latest weekly signal report
PARAMETERTYPEDESCRIPTION
keystringAPI key (requires paid plan)
curl -H "X-API-Key: la_YOUR_KEY" \
  https://liquidityalert.net/api/v1/article
import requests

headers = {"X-API-Key": "la_YOUR_KEY"}
res = requests.get("https://liquidityalert.net/api/v1/article", headers=headers)
article = res.json()

print(article["title"])
print(article["summary"])
> EXAMPLE RESPONSE
{
  "title": "BTC Weekly Signal Report — W21 2026",
  "date": "2026-05-23",
  "score": 62,
  "zone": "BOTTOM SIGNAL",
  "summary": "On-chain metrics remain healthy. IGV RSI at 52 signals neutral tech momentum...",
  "url": "https://liquidityalert.net/report/2026-W21"
}
GET liquidityalert.net/api/v1/tv/score API BETA TradingView-compatible time series
PARAMETERTYPEDESCRIPTION
keystringAPI key (requires paid plan)
curl "https://liquidityalert.net/api/v1/tv/score?key=la_YOUR_KEY"
// Pine Script v5 — request OCM score series
// The /tv/score endpoint returns standard UDF format.
// Use with a TradingView custom data feed.

indicator("OCM Score", overlay=false)

// fetch via server-side relay forwarding /tv/score
ocm = request.security("MYSYMBOL", timeframe.period, close)
plot(ocm, "OCM", color.red, linewidth=2)
hline(70, "Top Zone", color.orange, linestyle=hline.style_dashed)
hline(30, "Bottom Zone", color.green, linestyle=hline.style_dashed)
> EXAMPLE RESPONSE (UDF format)
{
  "s": "ok",
  "t": [1748044800, 1747440000, 1746835200],
  "c": [62, 58, 71]
}
₿ API ACCESS — $19/month
₿ API ACCESS — $190/year