Provenance
Freshness & coverage
Caveats
- ⚠ Reports positions (open interest by trader group), not prices.
- ⚠ Only markets above the CFTC reporting threshold appear; retired markets keep their history.
Methods (3)
searchMarkets
readFind CFTC Commitments of Traders futures markets and contract market codes by commodity or name.
Entitiesfutures-marketPaginationnoneFreshnessScheduled · every P7D- ⚠ Market names change over time; formerNames lists earlier names for the same code.
Ranks active markets by open interest; activeOnly=false adds retired ones.
getPositions
readGet weekly Commitments of Traders futures positions by trader group for CFTC market codes.
Required paramsmarketCodeEntitiesfutures-positionsPaginationoffset (offsetField: offset, limitField: limit)Unitspositions: contracts (see contractUnits) · pctOfOpenInterest: percentFreshnessScheduled · every P7D- ⚠ Rows are newest first; one row per market per week.
- ⚠ net = long - short; spread positions are excluded from net.
WTI 067651, Henry Hub 023651, Brent 06765T, RBOB 111659, ULSD 022651.
getNetPositioning
readNet futures positioning by trader group with percentile, z-score, and COT index versus history.
Required paramsmarketCodeEntitiesfutures-positionsPaginationnoneUnitsnet: contracts (see contractUnits) · percentile: percent · cotIndex: 0-100FreshnessScheduled · every P7D- ⚠ percentile = share of lookback weeks with net at or below the latest week.
- ⚠ cotIndex = (latest - min) / (max - min) * 100 over the lookback window.
- ⚠ weeklyChange and fourWeekChange compare reports ~7 and ~28 days earlier; null when that report is missing.
- ⚠ The window ends at the market's newest report, so retired markets still return history.
Default group: managedMoney (disaggregated), nonCommercial, leveragedFunds.
