From API key to first signal in under 5 minutes. Choose your integration method below.
You need an API key. Subscribe at nexusalpha.io โ you'll receive your key via email immediately after checkout.
nx_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (48 chars)
The fastest path for quant workflows. Typed models, DataFrame export, streaming support.
# Core only (REST API)
pip install nexus-alpha
# With DataFrame support (recommended)
pip install nexus-alpha[pandas]
# With WebSocket streaming
pip install nexus-alpha[all]
from nexus_alpha import NexusAlpha
client = NexusAlpha("nx_live_your_key_here")
# Or: export NEXUS_ALPHA_API_KEY=nx_live_... then NexusAlpha()
# Top signals right now
for s in client.signals.top(limit=10):
print(f"{s.ticker:6s} | {s.signal:12s} | conf={s.confidence:.3f} | {s.freshness_status}")
print(f" {s.rationale[:80] if s.rationale else ''}")
NVDA | OVERWEIGHT | conf=0.712 | LIVE
GPU demand accelerating; data center revenue beat by 18%
MSFT | BUY | conf=0.683 | LIVE
Azure growth +29% YoY; AI copilot ARR surpassed $5B
# Tier 1: up to 500 rows | Tier 2+: up to 5,000 rows
df = client.signals.history(
date_from="2024-01-01",
min_confidence=0.65,
).to_dataframe()
print(df[["ticker", "signal_date", "signal", "confidence"]].head())
df.to_csv("nexus_signals.csv", index=False)
# Up to 10,000 signals โ load directly into pandas
df = client.data.export(date_from="2022-01-01")
df.to_csv("nexus_full_history.csv", index=False)
print(f"Downloaded {len(df)} signals")
def on_signal(signal: dict):
print(f"๐ก NEW: {signal['ticker']} โ {signal['signal']} (conf={signal['confidence']:.3f})")
print(f" {signal.get('rationale', '')}")
# Blocking โ runs until Ctrl-C
client.stream(on_signal)
# Non-blocking โ runs in background thread
thread = client.stream_async(on_signal)
curl https://api.nexusalpha.io/usage \
-H "X-API-Key: nx_live_your_key_here"
{"tier": 1, "client_name": "Your Fund", "total_calls": 0, ...}
curl "https://api.nexusalpha.io/signals/top?limit=5" \
-H "X-API-Key: nx_live_your_key_here" | python3 -m json.tool
curl "https://api.nexusalpha.io/signals?ticker=NVDA&min_confidence=0.65" \
-H "X-API-Key: nx_live_your_key_here"
curl "https://api.nexusalpha.io/signals/history?date_from=2024-01-01&min_confidence=0.65" \
-H "X-API-Key: nx_live_your_key_here"
library(httr)
library(jsonlite)
api_key <- "nx_live_your_key_here"
base <- "https://api.nexusalpha.io"
# Top signals
resp <- GET(paste0(base, "/signals/top"),
add_headers("X-API-Key" = api_key),
query = list(limit = 20))
signals <- fromJSON(content(resp, "text"))
df <- as.data.frame(signals)
print(df[, c("ticker", "signal", "confidence")])
| Endpoint | Method | Tier | Description |
|---|---|---|---|
/signals/top | GET | 1+ | Highest-confidence BUY/OVERWEIGHT signals now |
/signals | GET | 1+ | Filterable signals (ticker, signal type, confidence) |
/signals/history | GET | 1+ | Full history up to 500 (T1) or 5,000 (T2+) rows |
/data/export | GET | 2+ | CSV bulk download, up to 10,000 rows |
/analytics/performance | GET | 1+ | Backtest stats + equity curve JSON |
/usage | GET | 1+ | Your API usage and remaining quota |
/ws/signals | WS | 1+ | Real-time signal stream (auth via ?api_key=) |
/status | GET | public | Pipeline health, last signal time, SLA metrics |
/paper-track | GET | 1+ | Live paper track record (since 2026-05-21) |
Full interactive API reference (Swagger UI): /docs ยท ReDoc: /redoc
| Parameter | Type | Default | Description |
|---|---|---|---|
ticker | string | โ | Filter by symbol (e.g. NVDA, MSFT) |
signal | string | โ | BUY | OVERWEIGHT | NEUTRAL |
min_confidence | float | 0.60 | Minimum confidence score |
date_from | YYYY-MM-DD | โ | Signal date start |
date_to | YYYY-MM-DD | โ | Signal date end |
limit | int | 50 | Max rows returned |
| Tier | Requests/hour | Signal history | Bulk export |
|---|---|---|---|
| Insight ($5k/mo) | 100 | 500 rows | โ |
| Intelligence ($15k/mo) | 500 | 5,000 rows | โ 10k rows |
| Institutional ($50k/mo) | 5,000 | 5,000 rows | โ 10k rows |
Email: ksaaus1@gmail.com ยท API status: /status ยท Full docs: /docs ยท Methodology: /methodology