Next free-source hunt
We check for new free financial data every Wednesday.
Datasets / Market Data
cftc.gov/

CFTC Commitments of Traders (COT)

Freeauth: noneCustom#market-data#historical-data#derivatives✓ verified Oct 28, 2026

CFTC Commitments of Traders (COT)

Weekly positioning data from the U.S. Commodity Futures Trading Commission: open interest in futures and options-on-futures markets broken down by trader group (commercial vs non-commercial, plus disaggregated and financial-futures categories) for every market where 20 or more traders hold positions at or above the CFTC's reporting levels. Aggregates only; individual traders are not identified. Free public API (Socrata), no key or signup.

The U.S. Commodity Futures Trading Commission publishes the Commitments of Traders (COT) reports: a breakdown of each Tuesday's open interest for futures and options-on-futures markets in which 20 or more traders hold positions at or above the CFTC's reporting levels. Four report types: Legacy (commercial vs non-commercial), Supplemental / Commodity Index Traders (index traders in 13 agricultural contracts), Disaggregated (agriculture, petroleum, natural gas, electricity, metals, other physical) and Traders in Financial Futures (currencies, US Treasury securities, stocks, VIX and the Bloomberg commodity index). The reports show positions by trader group; the CFTC does not publish how individual traders are classified.

Government information on the CFTC website is public domain; the CFTC asks for appropriate acknowledgement. The Public Reporting API (Socrata, at https://publicreporting.cftc.gov) is free and needs no token: the CFTC says that as long as you are not overusing the API, you can use it without one. No numeric rate limit is published.

History: Legacy futures-only back to Jan 15, 1986 (only mid-month and month-end data before Sep 30, 1992; futures-and-options combined from March 1995); Supplemental (CIT) back to Jan 3, 2006; Disaggregated and Traders in Financial Futures back to Jun 13, 2006. Reports are generally published each Friday at 3:30 pm ET with data from the preceding Tuesday (holidays can shift it).

Required Attribution:

Requested: acknowledge the CFTC as the source (no set wording).

Coverage

U.S. CFTC-regulated futures and options-on-futures markets: agriculture, energy (petroleum, natural gas, electricity), metals, emissions, currencies, U.S. Treasury and other interest rates, stock indices, VIX and digital-asset futures. Weekly, as of Tuesday, released Friday at 3:30 pm ET (holidays can shift it). History: Legacy futures-only back to Jan 15, 1986 (mid-month and month-end only before Sep 30, 1992; futures-and-options combined from March 1995); Supplemental (index traders) back to Jan 3, 2006; Disaggregated and Traders in Financial Futures back to Jun 13, 2006.

Good for

  • Building weekly futures-positioning (sentiment) features for swing and macro models, dated to the Friday release (not the Tuesday as-of date) to avoid look-ahead bias
  • Tracking commercial vs non-commercial positioning in commodity, currency and rate futures
  • Long-horizon research on trader positioning, with Legacy futures-only history back to 1986 (twice a month before Sep 30, 1992)

Verdict

Free, official source for futures positioning back to 1986 (twice a month before Sep 30, 1992, weekly since). Weekly only (Tuesday positions, published Friday), so it's for swing/macro research and sentiment features, not intraday trading. Date each data point to its Friday release, not the Tuesday as-of date, or a backtest will see positions before they were public. Public domain; the CFTC asks for acknowledgement. No published rate limit; the CFTC says no token is needed as long as you don't overuse the API.

Endpoints

EndpointReturns
/resource/6dca-aqww.jsonLegacy report, futures only (from 1986-01-15)
/resource/72hh-3qpy.jsonDisaggregated report, futures only (from 2006-06-13)
/resource/gpe5-46if.jsonTraders in Financial Futures (TFF), futures only (from 2006-06-13)

Get the free weekly email

Free weekly email of newly verified free data. Unsubscribe by emailing us.

Use in your agent

Load CFTC Commitments of Traders into pandas and Parquet. Checked against the provider's documentation on Oct 29, 2026.

Raw skill file (/skills/cftc-commitments-of-traders.md)Also in our MCP server as get_ingestion_skill.

Access

  • No account, key or app token. The CFTC asks you not to overuse the API.

Request

bash
curl 'https://publicreporting.cftc.gov/resource/6dca-aqww.json?$limit=5&$order=report_date_as_yyyy_mm_dd%20DESC'

Format

JSON array of rows (Socrata). Dataset 6dca-aqww is the Legacy futures-only report; other report types use other dataset ids. Numbers arrive as strings.

Load into pandas and Parquet

Needs Python 3 with requests, pandas and pyarrow.

python
"""CFTC Commitments of Traders, Legacy futures-only (Socrata API) -> pandas -> Parquet. No key or token."""
import requests
import pandas as pd

URL = "https://publicreporting.cftc.gov/resource/6dca-aqww.json"  # Legacy - Futures Only
PAGE = 5000
rows, offset = [], 0
while True:
    r = requests.get(URL, params={
        "$where": "report_date_as_yyyy_mm_dd >= '2024-01-01'",
        "$order": "report_date_as_yyyy_mm_dd, id",   # a stable order makes $offset paging safe
        "$limit": PAGE, "$offset": offset,
    }, timeout=60)
    r.raise_for_status()
    batch = r.json()
    rows += batch
    if len(batch) < PAGE:
        break
    offset += PAGE

df = pd.DataFrame(rows)
df["report_date_as_yyyy_mm_dd"] = pd.to_datetime(df["report_date_as_yyyy_mm_dd"])  # the Tuesday "as of" date
num = [c for c in df.columns if c.endswith("_all") or c.endswith("_old") or c.endswith("_other")]
df[num] = df[num].apply(pd.to_numeric, errors="coerce")  # Socrata returns numbers as strings
df.to_parquet("cftc_cot_legacy_futures.parquet", index=False)
print(len(df), "rows;", df["market_and_exchange_names"].nunique(), "markets; latest", df["report_date_as_yyyy_mm_dd"].max().date())

Run by us on 2026-10-29 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 49,251 rows for 512 markets from 2024-01-02, latest report date 2026-10-20.

Limits

  • Rate limit: Not stated; the CFTC says you can use the API without a token as long as you are not overusing it.

Quirks

  • report_date_as_yyyy_mm_dd is the Tuesday the positions are as of. The report is normally released the following Friday at 3:30 p.m. ET, and federal holidays can delay it, so date each row to its release day in backtests.
  • Page with $limit and $offset over a stable $order (the snippet orders by report date and id).
  • Only markets where 20 or more traders hold reportable positions are covered.

Terms and attribution

  • Public domain US government information; the CFTC requests appropriate acknowledgement in any use (no set wording).

Sources

Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer