Perspicium Public API v0

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.

At a glance

  • What it does: real-time options intelligence (expected moves, IV surfaces, OI, UOA, GEX) and higher-level quant analytics (risk, correlation, optimizer, market memory, seasonality).
  • Who it's for: discretionary and systematic traders, brokerage/product teams, research groups, and quant devs who need normalized analytics without operating an options data pipeline.
  • Data sources: options chains from CBOE, equities/ETFs from Tiingo, macro series from FRED, and crypto support via KuCoin spot feeds.
  • Freshness & latency: options chains refresh intraday (sub-minute); equities update nightly after Tiingo settles; macro series refresh on release; median API latency is < 500 ms from the us-east PoP.

Quickstart

# 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.

Authentication & secure usage

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:

  • Missing key → 401 with {"error":"missing_api_key"}
  • Invalid key → 401 with {"error":"invalid_api_key"}

Rotate compromised keys in Account → API.

Rate limits

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

Endpoints

GET /api/v0/ping

Sanity check that your key works.

curl -H "Authorization: ApiKey YOUR_KEY" \
  "https://perspicium.com/api/v0/ping"

Options

GET /api/v0/options/expected-move

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 /api/v0/options/iv

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 /api/v0/options/open-interest

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 /api/v0/options/uoa

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 /api/v0/options/chain

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"

Greeks

GET /api/v0/greeks/gex

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"

Quant

GET /api/v0/quant/risk

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 /api/v0/quant/asset-correlation

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"

GET /api/v0/quant/market-memory

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"

GET /api/v0/quant/portfolio-optimizer

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 /api/v0/quant/seasonality

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 /api/v0/quant/sector-insights

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"