Data costs time. If this saves you some —buy us a coffee
REST API · JSON · 880+ markets

COT Data API

Programmatic access to weekly CFTC Commitments of Traders data for 880+ futures markets. Pull net positioning, COT Index percentiles, and week-on-week changes for any instrument directly into your application or research environment.

Free tier included3-year rolling history (paid)Bearer token auth
£19/month
cancel any time
  • 880+ instruments
  • 3-year rolling history
  • 60 req/min · 500 req/day
  • Bearer token by email
Get API Access — £19/mo

Secure checkout via Stripe

Tiers

Free

£0

No sign-up required. No auth header.

  • Latest week only (no from/to params)
  • All 880+ instruments
  • Full dense response — positioning, COT Index, z-scores
  • 10 requests / minute
  • US Dollar Index: full history open to all as a live demo
Full Access

Paid

£19/month

Bearer token included on purchase.

  • 3-year rolling history for every instrument
  • All 880+ instruments with full date range
  • from / to query params unlocked
  • 60 requests / minute · 500 requests / day
  • Dedicated API token — revoke or rotate any time

Endpoint

Single endpoint. All instruments, both report tables (Legacy and TFF).

Request
GET https://cotdata.net/api/cot
Query parameters
instrument string CFTC code, e.g. 088691
table string legacy (default) | tff
from date YYYY-MM-DD · paid only
to date YYYY-MM-DD · paid only
Examples
Latest report — no auth
GET https://cotdata.net/api/cot?instrument=088691
History range — paid tier
GET https://cotdata.net/api/cot?instrument=088691&from=2023-01-01&to=2025-12-31
Auth header
Authorization: Bearer <your-token>

Response — latest mode

Without from / to the API returns a single dense object for the most recent report date. Pass from to get { instrument, table, count, rows: [...] } for charting.

200 OK · application/json · Gold (088691)
{
  "cftc_code": "088691",
  "market_name": "Gold",
  "exchange": "COMEX",
  "report_date": "2024-12-31",
  "table": "legacy",
  "non_commercial": {
    "long": 286741,
    "short": 34892,
    "net": 251849,
    "net_change": 3124,
    "cot_index_26w": 71,
    "cot_index_52w": 68,
    "cot_index_3y": 74,
    "zscore_26w": 1.12,
    "zscore_52w": 0.94,
    "pct_long": 89.1
  },
  "commercial": {
    "long": 98432,
    "short": 347821,
    "net": -249389,
    "net_change": -2876,
    "pct_long": 22.1
  },
  "small_traders": {
    "long": 22341,
    "short": 24882,
    "net": -2541
  },
  "open_interest": 407514
}

Rate limits

TierRequests / minuteRequests / dayHistory
Free10UnlimitedLatest week only
Paid605003-year rolling window

The 3-year window is a rolling cutoff from today's date. For full history back to 1986, see the one-time data dump.

Common questions

How do I authenticate?

Add an Authorization: Bearer <token> header to your requests. After purchase, you receive an email with a single-use download link. Open it once to retrieve your API token. The link expires after first use — save the token somewhere safe, there is no account portal to retrieve it from.

When is data updated?

The CFTC publishes each Friday's report by approximately 3:30 PM Eastern. Our API typically reflects the new data within minutes of publication.

What does "3-year rolling window" mean?

The from parameter is capped at three years before today. If you pass an earlier date it is silently clamped. For data going back to 1986, purchase the one-time data dump instead.

What is the TFF table?

Traders in Financial Futures — a supplemental CFTC report breaking out Dealer/Intermediary, Asset Manager, Leveraged Funds, and Other Reportables. Pass table=tff to access it.

Can I use this commercially?

Yes. CFTC Commitments of Traders data is published by a US government agency and is in the public domain. You are free to use the data in your own products, research, or services.

How do I find CFTC codes for instruments?

Every instrument page on cotdata.net shows its CFTC code. Alternatively, call the API without a from/to param on any instrument slug — the cftc_code field is in the response.

Get API access

£19/month. Full 3-year history, 880+ markets, 60 req/min. Cancel any time.

Secure checkout via Stripe · Token delivered by email · Cancel any time from your Stripe billing portal

Track CFTC COT reports for commodities, currencies, and futures markets.

Data updated daily from official CFTC sources.