Options & Positioning
Two positioning lenses — one for individual stocks via the options market, one for commodities/FX/rates/indices via CFTC Commitment of Traders (COT) reports.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /v1/options/:ticker/sentiment | Options sentiment for one stock |
POST | /v1/options/sentiment | Batch options sentiment (up to 20 tickers) |
GET | /v1/positioning | COT futures positioning for one asset |
GET | /v1/positioning/extremes | Most extreme COT positions across all tracked assets |
GET /v1/options/:ticker/sentiment
Options market positioning and sentiment for a single optionable US stock. Returns the current positioning score, put/call skew, IV percentile, and all active screener patterns.
Coverage: ~557 US-listed optionable stocks.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
:ticker | string | ✅ | Stock ticker in SYMBOL.EXCHANGE format (e.g. NVDA.US, TSLA.US). |
style | string | — | plain (default) — standard positioning output. technical — includes additional technical signal overlays. |
as_of | string | — | ISO date to read historical sentiment at-or-before (e.g. 2026-06-30). Omit for latest. |
GET /v1/options/NVDA.US/sentiment
GET /v1/options/TSLA.US/sentiment?as_of=2026-06-30
POST /v1/options/sentiment
Batch options sentiment — read multiple tickers in a single call. Supports a matrix of tickers × dates.
Request body
{
"tickers": ["NVDA.US", "TSLA.US", "AAPL.US"],
"as_of": ["2026-06-30", "2026-03-31"],
"style": "plain"
}
| Field | Type | Required | Description |
|---|---|---|---|
tickers | string[] | ✅ | Up to 20 tickers. |
as_of | string[] | — | Up to 12 ISO dates. Omit for latest only. |
style | string | — | plain (default) or technical. |
When as_of has multiple dates, the response contains a matrix: each ticker × each date combination. This is useful for tracking how positioning evolved over time across a watchlist.
GET /v1/positioning
CFTC Commitment of Traders (COT) futures positioning for a single asset. Returns the current net positioning percentile for commercials, large speculators, and small speculators — plus a historical series.
Coverage: Commodities, FX pairs, rates, and major equity indices tracked in CFTC weekly reports.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
asset | string | ✅ | Asset ticker in MarketDX format. See supported formats below. |
GET /v1/positioning?asset=COPPER.COMM
GET /v1/positioning?asset=EURUSD.FOREX
GET /v1/positioning?asset=US-10Y.GB
Supported ticker formats
| Asset class | Format | Examples |
|---|---|---|
| Commodities | SYMBOL.COMM | COPPER.COMM, GOLD.COMM, BRENT.COMM, WTI.COMM, NATGAS.COMM |
| FX | PAIR.FOREX | EURUSD.FOREX, USDJPY.FOREX, GBPUSD.FOREX |
| Government bonds | COUNTRY-TENOR.GB | US-10Y.GB, US-2Y.GB, JP-10Y.GB, DE-10Y.GB |
| Equity indices | TICKER.US | SPY.US, QQQ.US |
GET /v1/positioning/extremes
Returns assets with the most extreme COT positioning — near historical highs or lows for any spec group. Useful for identifying crowded trades or potential mean-reversion setups.
| Parameter | Type | Description |
|---|---|---|
asset_class | string | Filter to a specific class: commodity, forex, rates, equity. Omit for all. |
limit | integer | Number of extremes to return. Default 15. |
GET /v1/positioning/extremes?asset_class=commodity
GET /v1/positioning/extremes?limit=20
Options screener patterns
To screen for stocks using options-based criteria, use POST /v1/screen with the options leg. The options leg supports 18 patterns (bullish/bearish positioning, IV cheapness, unusual activity, etc.) — see the Options Leg screener docs for the full reference.