Introducing the COT Positioning Endpoint banner image

Platform News

Product Updates

Introducing the COT Positioning Endpoint

The CFTC Commitments of Traders positioning endpoint is now live. Query weekly non-commercial long, short, and net contract counts for eight major currency futures in a single API call — with full historical depth back to 2006.

The FXMacroData COT positioning endpoint is now live. In a single API call you can pull weekly Commitments of Traders data for eight major currency futures — non-commercial long, short, and net contract counts, plus open interest — with historical depth back to 2006. Whether you are tracking crowded trades, confirming trend conviction, or anchoring a macro thesis with real speculative positioning, the data is now one endpoint away.

What's New

COT positioning is served through a dedicated endpoint: /api/v1/cot/{currency}, where currency is the lowercase ISO code for the futures contract you want to query. The response returns the CFTC's weekly positioning snapshot — sourced directly from the official CFTC disaggregated futures-only report — covering the Tuesday of each survey week.

Each row in the response contains the following fields:

Positioning fields

  • date — survey week end date (Tuesday)
  • noncommercial_long — large speculator long contracts
  • noncommercial_short — large speculator short contracts
  • noncommercial_net — net position (long − short)

Market structure fields

  • commercial_long — hedger long contracts
  • commercial_short — hedger short contracts
  • open_interest — total open interest across all participants

8 currencies covered

AUD · CAD · CHF · EUR · GBP · JPY · NZD · USD — the complete set of major currency futures tracked by the CFTC.

20+ years of history

Full historical depth back to 2006, giving you the context to identify genuine extremes rather than local noise.

Weekly cadence

CFTC releases the report every Friday for data through the prior Tuesday. The endpoint reflects the latest available publication.


Why It Matters for Traders

FX markets are largely opaque — you cannot observe the flow. But every week the CFTC publishes a position snapshot for currency futures that reveals the aggregate directional bet of the world's largest speculative accounts: hedge funds, commodity trading advisers, and asset managers. That snapshot is the COT report, and the non-commercial net position is the single number most FX traders watch as a sentiment gauge.

Used alongside rate differentials, inflation trends, and central bank expectations, COT positioning unlocks three specific analytical edges.

Crowded trade identification

When net non-commercial positioning reaches a multi-year extreme relative to historical open interest, the trade is crowded. Crowded trades carry asymmetric reversal risk — the more extended the position, the sharper the unwinding when the narrative shifts.

Trend conviction scoring

When both price and net positioning are trending in the same direction, conviction is confirmed. When price continues but positioning stalls or reverses — large speculators are distributing into strength — the trend is at risk of ending.

Macro thesis anchoring

A strong macro case for a currency means little if that thesis is already fully priced into a crowded long. Comparing fundamental signals against current positioning helps size the remaining upside and the timing risk.


Practical Example: Checking EUR Speculative Positioning

You are assessing the EUR/USD outlook ahead of an ECB meeting. Before committing to a directional view, you want to know how stretched the current speculative long in EUR futures is. A single call to the EUR COT endpoint gives you the latest positioning snapshot:

curl "https://fxmacrodata.com/api/v1/cot/eur?api_key=YOUR_API_KEY"

Representative response:

{
  "currency": "EUR",
  "data": [
    {
      "date": "2026-04-08",
      "noncommercial_long": 214873,
      "noncommercial_short": 88241,
      "noncommercial_net": 126632,
      "commercial_long": 124018,
      "commercial_short": 271390,
      "open_interest": 465720
    },
    {
      "date": "2026-04-01",
      "noncommercial_long": 207540,
      "noncommercial_short": 92310,
      "noncommercial_net": 115230,
      "commercial_long": 130891,
      "commercial_short": 263004,
      "open_interest": 458340
    }
  ]
}

The net non-commercial position is +126,632 contracts, up from +115,230 the prior week — and net longs represent roughly 27% of open interest. Comparing this ratio against its five-year range gives a read on whether the EUR long is approaching crowded territory. If the historical peak sits around 30–35% of open interest, there is still room for further positioning extension; if you are already near the historical ceiling, reversal risk outweighs further upside from positioning alone.


Practical Example: JPY Positioning and Reversal Risk

The JPY short trade has historically reached extreme levels during Bank of Japan policy hold periods. Monitoring whether that short is unwinding — or still building — ahead of each BoJ meeting is a key input for anyone trading USD/JPY. Request a longer lookback window with the start parameter:

curl "https://fxmacrodata.com/api/v1/cot/jpy?start=2025-01-01&api_key=YOUR_API_KEY"

Representative response (most recent weeks shown):

{
  "currency": "JPY",
  "data": [
    {
      "date": "2026-04-08",
      "noncommercial_long": 52184,
      "noncommercial_short": 127430,
      "noncommercial_net": -75246,
      "commercial_long": 141920,
      "commercial_short": 62371,
      "open_interest": 224810
    },
    {
      "date": "2026-04-01",
      "noncommercial_long": 46830,
      "noncommercial_short": 141020,
      "noncommercial_net": -94190,
      "commercial_long": 158400,
      "commercial_short": 55740,
      "open_interest": 231060
    }
  ]
}

The JPY net position improved from −94,190 to −75,246 over a single week — a sharp reduction in the speculative short, consistent with short-covering pressure ahead of a BoJ decision. When a reduction of this scale happens in a single week, it often signals that the consensus is capitulating, not gradually reducing exposure. Pairing this COT read with the JPY policy rate series and the latest inflation data gives you the macro context to assess whether the covering is justified or premature.


Practical Example: AUD Positioning and Carry Trade Health

Carry trades in AUD depend on both the rate differential and speculative appetite. When large speculators are reducing AUD longs even as rate differentials remain favourable, it often signals deteriorating risk sentiment rather than a fundamental shift. Fetch AUD COT to check:

curl "https://fxmacrodata.com/api/v1/cot/aud?api_key=YOUR_API_KEY"

Representative response:

{
  "currency": "AUD",
  "data": [
    {
      "date": "2026-04-08",
      "noncommercial_long": 68210,
      "noncommercial_short": 84630,
      "noncommercial_net": -16420,
      "commercial_long": 89340,
      "commercial_short": 71870,
      "open_interest": 178540
    }
  ]
}

A net short of −16,420 in AUD futures, while moderate in absolute terms, becomes significant when viewed alongside the AUD policy rate and cross-currency rate differentials. If the RBA holds rates while other major central banks cut, and that net short persists or deepens despite a widening carry advantage, it signals that risk-off sentiment is dominating fundamental logic — a regime where carry trades tend to underperform until sentiment normalises.

Practical Metric: Net as % of Open Interest

Dividing noncommercial_net by open_interest gives a normalised positioning ratio (typically between −1 and +1) that is comparable across currencies and across time. A ratio above +0.30 or below −0.30 has historically marked crowded territory for most major currency futures. Values approaching ±0.50 are rare and often precede sharp counter-trend moves.


Pairing COT Data with Macro Indicators

COT positioning is most powerful as a component of a broader macro framework rather than a standalone signal. Here are three pairings that sharpen both the timing and the conviction of a trade:

COT + Policy rate divergence

If COT net longs in a currency are growing at the same time that its central bank is signalling rate hikes relative to peers, positioning is aligned with the macro thesis. When both are moving together, trend continuation is well-supported. Use the policy rate endpoint alongside COT for this pairing.

COT + Inflation prints

Surprise inflation prints are among the fastest drivers of speculative position changes. Tracking whether COT positioning has already adjusted to an inflation regime change — or is still anchored to old expectations — gives insight into the next leg of the move. Combine with the inflation endpoint for this analysis.

COT + Employment data

Non-farm payrolls and unemployment surprises shift rate expectations and speculative FX positioning simultaneously. A strong employment print that fails to drive further net long growth in USD futures is a sign that the market has already priced the labour strength — and upside may be limited.

COT + Bond yield spreads

Rate differentials and speculative FX positioning often move in tandem during trend phases but diverge at turning points. When 10-year yield spreads widen in favour of a currency but COT net longs are falling, the market is telling you something. Pair with the bond yields endpoint to monitor this dynamic.


Get Started

The COT endpoint is available now across all subscription tiers. If you are already using other FXMacroData endpoints, no changes to your authentication or request pattern are required — the same API key and query-parameter auth works across all endpoints.

Explore the full guide on reading and applying COT data in the COT Reports Explained guide, including how to identify crowded trades, track positioning extremes, and combine COT signals with macro fundamentals across currencies.

First steps

  • Query EUR positioning: curl "https://fxmacrodata.com/api/v1/cot/eur?api_key=YOUR_API_KEY"
  • Supported currencies: aud · cad · chf · eur · gbp · jpy · nzd · usd
  • Filter by date range: add &start=2024-01-01 or &end=2025-12-31 to any request
  • Visualise weekly net positioning on the COT dashboard
  • No API key yet? Subscribe to get started — a free tier is available.