GET /api/v0/ping
Sanity check that your key works.
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/ping"
Perspicium's API unlocks the same options analytics, greeks, and quant dashboards that power the web app so you can embed them in trading tools, research notebooks, and portfolio workflows.
# 1. Grab your API key in https://perspicium.com (Account → API)
# 2. Test connectivity
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/ping"
# 3. First real call: expected move for SPY
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/options/expected-move?ticker=SPY"
Tip: store YOUR_KEY in an environment variable (e.g.,
PERSPI_API_KEY) before scripting.
API keys are 48-character hexadecimal strings tied 1:1 to your Perspicium account. Do not embed them in client apps; keep them server-side or in a secrets manager.
For v0, send the key in a header on every request. Accepted forms:
Authorization: ApiKey <token> (preferred)Authorization: Bearer <token> (legacy clients)X-API-Key: <token>Error handling:
401 with {"error":"missing_api_key"}401 with {"error":"invalid_api_key"}Rotate compromised keys in Account → API.
Limits are enforced per API key. Default: 10 requests per day and 100 requests per month.
| Scope | Limit |
|---|---|
| Blueprint default | 10 / day, 100 / month |
| /api/v0/ping | 60 / minute |
| Options + Greeks | 30 / minute |
Sanity check that your key works.
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/ping"
Get expected move bands derived from straddle prices.
| Param | Required | Description |
|---|---|---|
ticker |
No | Underlying symbol (e.g. SPY) |
range_pct |
No | Strike range % |
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/options/expected-move?ticker=SPY&range_pct=1.0"
Get IV smile and term structure.
| Param | Required | Description |
|---|---|---|
ticker |
No | Underlying symbol |
range_pct |
No | Smile width |
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/options/iv?ticker=SPX&range_pct=0.15"
Get aggregated open interest or volume by strike.
| Param | Required | Description |
|---|---|---|
ticker |
No | Underlying symbol |
range_pct |
No | Strike window to pull |
basis |
No | open_interest or volume |
expiration |
No | Expiration filter (repeat param for multiples) |
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/options/open-interest?ticker=QQQ&range_pct=0.25&basis=volume&expiration=2024-06-21"
Get unusual options activity alerts.
| Param | Required | Description |
|---|---|---|
ticker |
No | Underlying symbol |
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/options/uoa?ticker=TSLA"
Get raw options chain data.
| Param | Required | Description |
|---|---|---|
ticker |
No | Underlying symbol |
range_pct |
No | Strike window to include |
expiry |
No | Specific expiration date |
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/options/chain?ticker=SPY&range_pct=0.15&expiry=2024-06-21"
Get Gamma Exposure (GEX) profile.
| Param | Required | Description |
|---|---|---|
ticker |
No | Underlying symbol |
basis |
No | open_interest or volume |
range_pct |
No | Strike window to aggregate |
expiration |
No | Expiration filter (repeat param for multiples) |
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/greeks/gex?ticker=SPY&basis=open_interest&range_pct=0.05&expiration=2024-06-21"
Get risk metrics (Sharpe, Beta, Drawdown) vs benchmark.
| Param | Required | Description |
|---|---|---|
ticker |
No | Asset symbol |
benchmark |
No | Benchmark symbol |
period |
No | Lookback period |
window |
No | Rolling window (days) |
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/quant/risk?ticker=NVDA&benchmark=SPY&period=5y&window=60"
Get correlation matrix for standard asset basket.
| Param | Required | Description |
|---|---|---|
period |
No | Lookback period |
window |
No | Rolling window (days) |
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/quant/asset-correlation?period=3y&window=90"
Find historical price patterns similar to recent price action.
| Param | Required | Description |
|---|---|---|
ticker |
No | Asset symbol |
kernel_size |
No | Pattern length (days) |
similarity |
No | Similarity metric (cosine, euclidean) |
top_n |
No | How many matches to return |
min_separation |
No | Minimum days between matches |
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/quant/market-memory?ticker=SPY&kernel_size=30&similarity=cosine&top_n=5&min_separation=10"
Optimize portfolio weights for given objective.
| Param | Required | Description |
|---|---|---|
tickers |
Yes | List of tickers (repeat param) |
objective |
No | sharpe, min_var, equal_weight |
period |
No | Lookback period |
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/quant/portfolio-optimizer?tickers=AAPL&objective=sharpe&period=5y"
Get seasonality statistics and pivots.
| Param | Required | Description |
|---|---|---|
ticker |
No | Asset symbol |
grouping |
No | monthly, quarterly, weekday |
period |
No | Lookback period |
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/quant/seasonality?ticker=SPY&grouping=monthly&period=10y"
Get sector performance and breadth metrics.
| Param | Required | Description |
|---|---|---|
period |
No | Lookback period |
curl -H "Authorization: ApiKey YOUR_KEY" \
"https://perspicium.com/api/v0/quant/sector-insights?period=1M"