/v1/positioning
Four-group disaggregated breakdown for one commodity
Try it live
10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.
It works. Grab an API key and use it in your project.
Get an API keyCode snippets
curl "https://api.oanor.com/managedmoney-api/v1/positioning" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/managedmoney-api/v1/positioning", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/managedmoney-api/v1/positioning");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
"https://api.oanor.com/managedmoney-api/v1/positioning",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"name": "Gold",
"note": "CFTC Disaggregated COT, latest weekly report. net = long - short contracts; net_pct_oi = net as a share of open interest. Managed Money = hedge funds / CTAs (the speculative flow); Producer/Merchant = physical hedgers; Swap Dealers = banks intermediating index/OTC exposure; Other Reportables = the rest. net_change_week is the week-over-week change in net. Updated Fridays.",
"class": "metal",
"market": "gold",
"source": "CFTC Disaggregated Commitments of Traders (futures-only)",
"report_date": "2026-06-02",
"swap_dealers": {
"net": -186191,
"long": 27505,
"short": 213696,
"net_pct_oi": -57.1,
"net_change_week": -19935
},
"managed_money": {
"net": 112179,
"bias": "hedge funds crowded net long (bullish positioning)",
"long": 129367,
"short": 17188,
"net_pct_oi": 34.41,
"long_pct_oi": 39.7,
"short_pct_oi": 5.3,
"traders_long": 74,
"traders_short": 16,
"net_change_week": 14733
},
"open_interest": 326052,
"other_reportables": {
"net": 63841,
"long": 76729,
"short": 12888,
"net_pct_oi": 19.58,
"net_change_week": 7027
},
"producer_merchant": {
"net": -20154,
"long": 10275,
"short": 30429,
"net_pct_oi": -6.18,
"net_change_week": -644
}
},
"meta": {
"timestamp": "2026-06-12T10:34:52.648Z",
"request_id": "d5e4e49b-1ec1-45bc-b396-8cc358b149f1"
},
"status": "ok",
"message": "Managed Money positioning retrieved successfully",
"success": true
}