get_cftc_cot_reports
Returns CFTC Commitments of Traders (COT) report rows — weekly aggregated futures + options-on-futures positioning by trader class. The COT report is the macro positioning dataset for U.S. futures markets. Released every Friday 3:30 PM ET for the prior Tuesday close. Trader classes (legacy futures-only report): - Non-commercial (large speculators — hedge funds, CTAs) - Commercial (hedgers — producers, swap dealers) - Non-reportable (small speculators) Killer query patterns: - Macro positioning snapshot this week: latest_only=true (gives the latest report row for every contract in one query) - Large-spec extremes in S&P: commodity_name='S&P 500 STOCK INDEX' + sort_by='noncomm_net' + sort_order='desc' - Gold positioning history: commodity_name='GOLD' + since='2026-01-01' - Currency COT: contract_market_name substring 'YEN' / 'EURO' Source: publicreporting.cftc.gov/resource/jun7-fc8e.json (Socrata API, free, unauthenticated). Covers EVERY regulated U.S. futures + options- on-futures contract — agricultural commodities, metals, energy, financials, FX, crypto. Pure-publisher posture: raw positioning numbers, no derived sentiment scores. Key derived fields (computed from raw): noncomm_net (large-spec net), comm_net (hedger net), nonrept_net (small-spec net). Concentration fields show top-4 / top-8 trader net long/short concentration.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Direct doc lookup ({contract_code}-{YYYY-MM-DD}). Fastest path. | |
| limit | No | Max records. Default 50, max 500. | |
| since | No | Inclusive lower bound on report_date (YYYY-MM-DD). | |
| until | No | Inclusive upper bound on report_date (YYYY-MM-DD). | |
| sort_by | No | Sort key. Default: report_date. | |
| sort_order | No | Default: desc. | |
| latest_only | No | When true, returns only the most recent report row per contract (one row per contract instead of weekly history). | |
| commodity_name | No | Exact commodity name from CFTC's catalog (e.g., 'S&P 500 STOCK INDEX', 'GOLD', 'CRUDE OIL', 'EURO FX'). | |
| contract_market_name | No | Case-insensitive substring on contract_market_name (e.g., 'S&P 500', 'GOLD', 'CRUDE OIL', 'JAPANESE YEN'). Client-side filter. | |
| cftc_contract_market_code | No | Exact CFTC contract code (e.g., '13874A' = E-mini S&P 500, '088691' = Gold, '067651' = Crude Oil WTI). |