Pushbuild

CFTC Commitments of Traders (COT) Reports

Weekly CFTC Commitments of Traders positioning for every futures market: legacy, disaggregated (managed money, producers, swap dealers) and financial (leveraged funds, asset managers). Net positions, changes, open interest, history to 1986.

$0.16 per 1,000 rows

Get an API key

What it returns

Weekly positioning of large traders in every US futures market, straight from the CFTC's official Commitments of Traders data (publicreporting.cftc.gov). Covers gold, crude oil, natural gas, grains, currencies, Treasuries, equity index futures, Bitcoin and hundreds more, with history back to 1986.

One row per market per weekly report: report date, market, contract code, exchange, commodity group, open interest, long/short/spread positions for every trader group, week-over-week changes, percent of open interest, trader counts and concentration ratios. Net positions are pre-computed (e.g. `managedMoneyNet`, `leveragedFundsNet`, `nonCommercialNet`).

Request

POST https://api.pushbuild.com/cftc-commitments-of-traders/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
reportstring: legacy, disaggregated, financialWhich COT report format. Default: "legacy".
includeOptionsbooleanOff: futures only. On: futures and options combined. Default: false.
marketslist of stringsText match on market name, e.g. GOLD, CRUDE OIL, E-MINI S&P 500, EURO FX, BITCOIN.
contractCodeslist of stringsExact CFTC contract market codes, e.g. 088691 (gold), 13874A (E-mini S&P 500).
commodityGroupstringe.g. NATURAL RESOURCES, AGRICULTURE, FINANCIAL INSTRUMENTS.
exchangeCodestringe.g. CME, CBT, NYME, CMX, ICUS.
latestOnlybooleanOnly the most recent weekly report. Default: on when no dates are given.
dateFromstringYYYY-MM-DD report date (Tuesday as-of date).
dateTostringYYYY-MM-DD.
sortstring: newest, oldestReport date order. Default: "newest".
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/cftc-commitments-of-traders/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"markets": ["GOLD"], "maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.16 per 1,000 rows. No charge for errors or empty searches.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.