{"openapi":"3.1.0","info":{"title":"Managed Money Positioning API","version":"1.0.0","description":"Where the hedge funds are positioned in commodity futures, read live from the CFTC Disaggregated Commitments-of-Traders report — no key. The legacy COT report lumps every speculator into one \"non-commercial\" bucket; the Disaggregated report, introduced in 2009 precisely because that was too crude, splits the market into four real groups — Managed Money (the trend-following hedge funds and CTAs, the speculative flow everyone watches), Producer/Merchant (the physical hedgers who make and use the commodity), Swap Dealers (the banks intermediating index and OTC exposure) and Other Reportables. The positioning endpoint returns, for a commodity, the full four-group breakdown — each group's long, short and net contracts, its share of open interest, the number of traders and the week-over-week change — with a managed-money bias read: Managed Money net long in gold of +112,179 contracts (34% of open interest, 74 funds long) tells you the funds are crowded long. The screener endpoint ranks a curated set of 20 metals, energy, grain, soft and livestock futures by where Managed Money is positioned (net as a share of open interest), surfacing the most crowded long and short hedge-fund bets. This is the disaggregated hedge-fund-positioning cut — distinct from the legacy raw COT-report feed, the normalised COT-Index, and the price and open-interest APIs. It is who the smart speculative money is, by the report traders actually read.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/managedmoney-api","description":"oanor gateway"}],"tags":[{"name":"Positioning"},{"name":"Screener"},{"name":"Markets"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/positioning":{"get":{"operationId":"get_v1_positioning","tags":["Positioning"],"summary":"Four-group disaggregated breakdown for one commodity","description":"","parameters":[{"name":"market","in":"query","required":true,"description":"Commodity key (gold, wti, corn, sugar, ...)","schema":{"type":"string"},"example":"gold"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"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}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/screener":{"get":{"operationId":"get_v1_screener","tags":["Screener"],"summary":"Rank commodities by Managed Money net positioning","description":"","parameters":[{"name":"sort","in":"query","required":false,"description":"net_pct (net as % of OI), net (contracts) or change","schema":{"type":"string"},"example":"net_pct"},{"name":"class","in":"query","required":false,"description":"metal, energy, grain, soft, livestock or all","schema":{"type":"string"},"example":"all"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Commodities ranked by Managed Money (hedge-fund) net positioning as a share of open interest. High = funds crowded net long (bullish bet, contrarian risk if extreme); low/negative = crowded net short. sort=net ranks by raw contracts, sort=change by week-over-week net change. Source CFTC Disaggregated, updated Fridays.","class":"all","count":20,"group":"managed_money","source":"CFTC Disaggregated Commitments of Traders (futures-only)","results":[{"net":112179,"bias":"hedge funds crowded net long (bullish positioning)","name":"Gold","rank":1,"class":"metal","market":"gold","available":true,"net_pct_oi":34.41,"long_pct_oi":39.7,"report_date":"2026-06-02","short_pct_oi":5.3,"net_change_week":14733},{"net":116107,"bias":"hedge funds crowded net long (bullish positioning)","name":"Live Cattle","rank":2,"class":"livestock","market":"cattle","available":true,"net_pct_oi":33.82,"long_pct_oi":37.7,"report_date":"2026-06-02","short_pct_oi":3.9,"net_change_week":-4435},{"net":75747,"bias":"hedge funds crowded net long (bullish positioning)","name":"Copper","rank":3,"class":"metal","market":"copper","available":true,"net_pct_oi":27.36,"long_pct_oi":32.9,"report_date":"2026-06-02","short_pct_oi":5.6,"net_change_week":5247},{"net":67773,"bias":"net long","name":"Gasoline RBOB","rank":4,"class":"energy","market":"gasoline","available":true,"net_pct_oi":22.4,"long_pct_oi":24.1,"report_date":"2026-06-02","short_pct_oi":1.7,"net_change_week":711},{"net":150595,"bias":"net long","name":"Soybean Oil","rank":5,"class":"grain","market":"soybeanoil","available":true,"net_pct_oi":20.55,"long_pct_oi":23.9,"report_date":"2026-06-02","short_pct_oi":3.3,"net_change_week":10816},{"net":127232,"bias":"net long","name":"Soybean Meal","rank":6,"class":"grain","market":"soybeanmeal","available":true,"net_pct_oi":19.09,"long_pct_oi":22.6,"report_date":"2026-06-02","short_pct_oi":3.5,"net_change_week":3639},{"net":11817,"bias":"net long","name":"Platinum","rank":7,"class":"metal","market":"platinum","available":true,"net_pct_oi":17.99,"long_pct_oi":26.9,"report_date":"2026-06-02","short_pct_oi":8.9,"net_change_week":-1008},{"net":155780,"bias":"net long","name":"Soybeans","rank":8,"class":"grain","market":"soybeans","available":true,"net_pct_oi":14.77,"long_pct_oi":20.7,"report_date":"2026-06-02","short_pct_oi":6,"net_change_week":-28449},{"net":49899,"bias":"net long","name":"Cotton No. 2","rank":9,"class":"soft","market":"cotton","available":true,"net_pct_oi":14.43,"long_pct_oi":21.5,"report_date":"2026-06-02","short_pct_oi":7.1,"net_change_week":-5385},{"net":10444,"bias":"net long","name":"Silver","rank":10,"class":"metal","market":"silver","available":true,"net_pct_oi":10.16,"long_pct_oi":16.6,"report_date":"2026-06-02","short_pct_oi":6.4,"net_change_week":389},{"net":19624,"bias":"net long","name":"Coffee C","rank":11,"class":"soft","market":"coffee","available":true,"net_pct_oi":9.67,"long_pct_oi":21,"report_date":"2026-06-02","short_pct_oi":11.3,"net_change_week":-3349},{"net":120136,"bias":"roughly balanced","name":"Corn","rank":12,"class":"grain","market":"corn","available":true,"net_pct_oi":6.41,"long_pct_oi":16.7,"report_date":"2026-06-02","short_pct_oi":10.3,"net_change_week":-91201},{"net":11997,"bias":"roughly balanced","name":"Heating Oil (ULSD)","rank":13,"class":"energy","market":"heatingoil","available":true,"net_pct_oi":4.81,"long_pct_oi":12.1,"report_date":"2026-06-02","short_pct_oi":7.3,"net_change_week":4308},{"net":90765,"bias":"roughly balanced","name":"Crude Oil WTI","rank":14,"class":"energy","market":"wti","available":true,"net_pct_oi":4.48,"long_pct_oi":10.8,"report_date":"2026-06-02","short_pct_oi":6.3,"net_change_week":10841},{"net":-19849,"bias":"roughly balanced","name":"Lean Hogs","rank":15,"class":"livestock","market":"hogs","available":true,"net_pct_oi":-6.16,"long_pct_oi":15.6,"report_date":"2026-06-02","short_pct_oi":21.7,"net_change_week":-21281},{"net":-114854,"bias":"roughly balanced","name":"Natural Gas","rank":16,"class":"energy","market":"natgas","available":true,"net_pct_oi":-6.9,"long_pct_oi":11.4,"report_date":"2026-06-02","short_pct_oi":18.3,"net_change_week":19572},{"net":-16604,"bias":"net short","name":"Cocoa","rank":17,"class":"soft","market":"cocoa","available":true,"net_pct_oi":-8.1,"long_pct_oi":10.9,"report_date":"2026-06-02","short_pct_oi":19,"net_change_week":-2788},{"net":-54640,"bias":"net short","name":"Wheat (SRW)","rank":18,"class":"grain","market":"wheat","available":true,"net_pct_oi":-11.33,"long_pct_oi":16.6,"report_date":"2026-06-02","short_pct_oi":27.9,"net_change_week":-38486},{"net":-118732,"bias":"net short","name":"Sugar No. 11","rank":19,"class":"soft","market":"sugar","available":true,"net_pct_oi":-12.12,"long_pct_oi":14.9,"report_date":"2026-06-02","short_pct_oi":27,"net_change_week":-29630},{"net":-3491,"bias":"net short","name":"Palladium","rank":20,"class":"metal","market":"palladium","available":true,"net_pct_oi":-21.44,"long_pct_oi":28.9,"report_date":"2026-06-02","short_pct_oi":50.4,"net_change_week":281}],"sorted_by":"net_pct","unavailable":[],"crowded_long":["gold","cattle","copper"],"crowded_short":[],"most_net_long":{"market":"gold","net_pct_oi":34.41},"most_net_short":{"market":"palladium","net_pct_oi":-21.44}},"meta":{"timestamp":"2026-06-12T10:34:53.536Z","request_id":"2a46890a-278f-41e1-85ac-9a5b9486b5c9"},"status":"ok","message":"Managed Money screener retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/markets":{"get":{"operationId":"get_v1_markets","tags":["Markets"],"summary":"Supported commodity futures and CFTC codes","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The commodity futures covered by the Disaggregated report. Pass market= to /v1/positioning or class= to /v1/screener.","count":20,"source":"CFTC Disaggregated Commitments of Traders","classes":["metal","energy","grain","soft","livestock"],"markets":[{"name":"Gold","class":"metal","market":"gold","cftc_code":"088691"},{"name":"Silver","class":"metal","market":"silver","cftc_code":"084691"},{"name":"Copper","class":"metal","market":"copper","cftc_code":"085692"},{"name":"Platinum","class":"metal","market":"platinum","cftc_code":"076651"},{"name":"Palladium","class":"metal","market":"palladium","cftc_code":"075651"},{"name":"Crude Oil WTI","class":"energy","market":"wti","cftc_code":"067651"},{"name":"Heating Oil (ULSD)","class":"energy","market":"heatingoil","cftc_code":"022651"},{"name":"Gasoline RBOB","class":"energy","market":"gasoline","cftc_code":"111659"},{"name":"Natural Gas","class":"energy","market":"natgas","cftc_code":"023651"},{"name":"Corn","class":"grain","market":"corn","cftc_code":"002602"},{"name":"Wheat (SRW)","class":"grain","market":"wheat","cftc_code":"001602"},{"name":"Soybeans","class":"grain","market":"soybeans","cftc_code":"005602"},{"name":"Soybean Oil","class":"grain","market":"soybeanoil","cftc_code":"007601"},{"name":"Soybean Meal","class":"grain","market":"soybeanmeal","cftc_code":"026603"},{"name":"Sugar No. 11","class":"soft","market":"sugar","cftc_code":"080732"},{"name":"Coffee C","class":"soft","market":"coffee","cftc_code":"083731"},{"name":"Cocoa","class":"soft","market":"cocoa","cftc_code":"073732"},{"name":"Cotton No. 2","class":"soft","market":"cotton","cftc_code":"033661"},{"name":"Live Cattle","class":"livestock","market":"cattle","cftc_code":"057642"},{"name":"Lean Hogs","class":"livestock","market":"hogs","cftc_code":"054642"}]},"meta":{"timestamp":"2026-06-12T10:34:53.643Z","request_id":"19d82175-834a-4399-bef7-a9b2cb2ad58a"},"status":"ok","message":"Markets retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"market is one of /v1/markets keys (gold, wti, corn, sugar, ...). screener sort is net_pct (default, managed-money net as % of OI), net (raw contracts) or change (week-over-week net change); class filters to metal/energy/grain/soft/livestock. COT updates Fridays; a 30-minute protective cache fronts the shared CFTC upstream.","groups":["managed_money","producer_merchant","swap_dealers","other_reportables"],"source":"CFTC Disaggregated Futures-Only report (Socrata), live","classes":["metal","energy","grain","soft","livestock"],"markets":20,"service":"managedmoney-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/markets":"The supported commodity futures and their CFTC codes.","GET /v1/screener":"Rank commodities by Managed Money net positioning (sort=net_pct, class=all).","GET /v1/positioning":"Full four-group disaggregated breakdown for one commodity (market=gold)."},"description":"Managed Money positioning — where the hedge funds are positioned in commodity futures, from the CFTC Disaggregated COT report (no key). It splits the market into Managed Money (hedge funds/CTAs), Producer/Merchant (physical hedgers), Swap Dealers (banks) and Other Reportables — the modern taxonomy the legacy report lacks. positioning returns one commodity's full four-group breakdown with longs/shorts/net, share of open interest, trader counts, week change and a managed-money bias read. screener ranks metals, energy, grain, soft and livestock futures by where Managed Money is positioned. The disaggregated hedge-fund-positioning cut — distinct from the legacy raw COT feed, the normalised COT-Index and the price/open-interest APIs.","upstream_status":"ok","gold_managed_money_net":112179},"meta":{"timestamp":"2026-06-12T10:34:53.718Z","request_id":"cf0b835b-4d8d-4361-9be2-543a6131b3fe"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":720,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1310,"monthly_call_quota":15800,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3960,"monthly_call_quota":86000,"rps_limit":16,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":8720,"monthly_call_quota":478000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/managedmoney-api"}