What you can ask
- “What does CFTC Commitments of Traders have for the area or asset I'm working on?”
- “Pull the most recent CFTC Commitments of Traders records and put them in a table.”
- “What does CFTC Commitments of Traders cover, and how fresh is the data?”
About this source
CFTC Commitments of Traders (COT): weekly futures positioning by trader group for every reportable U.S. futures market — crude oil (WTI, Brent), Henry Hub natural gas, gasoline, diesel, power, emissions, metals, grains, and financial futures. Public U.S. government data. searchMarkets finds contract market codes (WTI 067651, Henry Hub 023651, Brent 06765T, RBOB 111659, ULSD 022651). getPositions returns weekly long/short/spread positions, week-over-week changes, percent of open interest, and trader counts. getNetPositioning returns net positions per group with percentile, z-score, and COT index versus a 1-20 year lookback. Reports: disaggregated (commodities, default), legacy (all markets, 1986+), tff (financials). Positions as of Tuesday, released Friday. No setup needed.
Connector ID cftc
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)
Technical detail for developers: parameters, pagination, units, and freshness per method.
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.
