All data sources

CFTC Commitments of Traders

No authcftc

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.

Provenance

Freshness & coverage

FreshnessScheduled · every P7D — Positions as of Tuesday, released Friday afternoon (US Eastern); holiday weeks shift a day or two.
GeographicUnited States futures exchanges
Temporal1986-01-15 → present — Legacy futures-only from 1986; legacy combined from 1995; disaggregated and TFF from 2006-06-13.
AuthenticationNo credentials required

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

    read

    Find CFTC Commitments of Traders futures markets and contract market codes by commodity or name.

    Entitiesfutures-market
    Paginationnone
    FreshnessScheduled · 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

    read

    Get weekly Commitments of Traders futures positions by trader group for CFTC market codes.

    Required paramsmarketCode
    Entitiesfutures-positions
    Paginationoffset (offsetField: offset, limitField: limit)
    Unitspositions: contracts (see contractUnits) · pctOfOpenInterest: percent
    FreshnessScheduled · 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

    read

    Net futures positioning by trader group with percentile, z-score, and COT index versus history.

    Required paramsmarketCode
    Entitiesfutures-positions
    Paginationnone
    Unitsnet: contracts (see contractUnits) · percentile: percent · cotIndex: 0-100
    FreshnessScheduled · 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.