{"openapi":"3.1.0","info":{"title":"Commitments of Traders API","version":"1.0.0","description":"Live Commitments of Traders (COT) futures-positioning data, served straight from the US CFTC's public reporting API — no key, nothing cached. Every Friday the Commodity Futures Trading Commission publishes who is positioned how in every major futures market — currencies, stock indices, energy, metals, grains — and traders watch it closely as a sentiment and crowding signal. The report endpoint takes a market name (Euro FX, Gold, Crude Oil, S&P 500, Bitcoin) and returns the latest weekly report: how many long and short contracts are held by commercials (the hedgers), by non-commercials (the large speculators) and by small non-reportable traders, the net position of each group, the total open interest, each group's share of open interest, the week-over-week change and the number of traders — Gold shows commercials net short while large speculators run net long. The markets endpoint searches the hundreds of reported markets so you can find the exact name. The history endpoint returns the weekly path of positioning for a market. This is the positioning-and-sentiment layer for any futures, forex, commodity or macro trading app. Live from the CFTC, nothing stored. Distinct from price and open-interest APIs — this is who is long and short, by trader category. 4 endpoints.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/cot-api","description":"oanor gateway"}],"tags":[{"name":"COT"},{"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/history":{"get":{"operationId":"get_v1_history","tags":["COT"],"summary":"Weekly positioning history","description":"","parameters":[{"name":"market","in":"query","required":true,"description":"Market name","schema":{"type":"string"},"example":"GOLD"},{"name":"weeks","in":"query","required":false,"description":"How many weeks (1-104)","schema":{"type":"string"},"example":"12"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"weeks":12,"market":"GOLD - COMMODITY EXCHANGE INC.","history":[{"report_date":"2026-06-02","open_interest":326052,"commercial_net":-206345,"noncommercial_net":176020,"nonreportable_net":30325},{"report_date":"2026-05-26","open_interest":353489,"commercial_net":-185766,"noncommercial_net":154260,"nonreportable_net":31506},{"report_date":"2026-05-19","open_interest":379325,"commercial_net":-191629,"noncommercial_net":159833,"nonreportable_net":31796},{"report_date":"2026-05-12","open_interest":376496,"commercial_net":-210258,"noncommercial_net":171622,"nonreportable_net":38636},{"report_date":"2026-05-05","open_interest":367932,"commercial_net":-198935,"noncommercial_net":163303,"nonreportable_net":35632},{"report_date":"2026-04-28","open_interest":369530,"commercial_net":-194813,"noncommercial_net":159571,"nonreportable_net":35242},{"report_date":"2026-04-21","open_interest":365842,"commercial_net":-202940,"noncommercial_net":164006,"nonreportable_net":38934},{"report_date":"2026-04-14","open_interest":362274,"commercial_net":-201082,"noncommercial_net":162526,"nonreportable_net":38556},{"report_date":"2026-04-07","open_interest":354877,"commercial_net":-193751,"noncommercial_net":156305,"nonreportable_net":37446},{"report_date":"2026-03-31","open_interest":361409,"commercial_net":-201640,"noncommercial_net":163202,"nonreportable_net":38438},{"report_date":"2026-03-24","open_interest":403925,"commercial_net":-203828,"noncommercial_net":168327,"nonreportable_net":35501},{"report_date":"2026-03-17","open_interest":411388,"commercial_net":-198648,"noncommercial_net":159869,"nonreportable_net":38779}],"commodity":"GOLD"},"meta":{"timestamp":"2026-06-09T11:39:16.850Z","request_id":"01fd6082-64cc-4669-bcfb-31bf4d965afa"},"status":"ok","message":"History 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":["COT"],"summary":"Search reported markets","description":"","parameters":[{"name":"q","in":"query","required":false,"description":"Search query","schema":{"type":"string"},"example":"BITCOIN"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":11,"query":"BITCOIN","markets":[{"market":"BITCOIN - CHICAGO MERCANTILE EXCHANGE","commodity":"BITCOIN"},{"market":"BITCOIN CASH PERP STYLE - COINBASE DERIVATIVES, LLC","commodity":"BITCOIN"},{"market":"BITCOIN CASH PERP STYLE - COINBASE DERIVATIVES, LLC","commodity":"OTHER CRYPTO/DIGITAL ASSET (NON-MAJOR)"},{"market":"BITCOIN-USD - CBOE FUTURES EXCHANGE","commodity":"BITCOIN"},{"market":"MICRO BITCOIN - CHICAGO MERCANTILE EXCHANGE","commodity":"BITCOIN"},{"market":"MICRO BITCOIN - CHICAGO MERCANTILE EXCHANGE","commodity":"OTHER CRYPTO/DIGITAL ASSET (NON-MAJOR)"},{"market":"Nano Bitcoin - COINBASE DERIVATIVES, LLC","commodity":"BITCOIN"},{"market":"Nano Bitcoin - COINBASE DERIVATIVES, LLC","commodity":"OTHER CRYPTO/DIGITAL ASSET (NON-MAJOR)"},{"market":"Nano Bitcoin - LMX LABS LLC","commodity":"BITCOIN"},{"market":"NANO BITCOIN PERP STYLE - COINBASE DERIVATIVES, LLC","commodity":"BITCOIN"},{"market":"NANO BITCOIN PERP STYLE - COINBASE DERIVATIVES, LLC","commodity":"OTHER CRYPTO/DIGITAL ASSET (NON-MAJOR)"}]},"meta":{"timestamp":"2026-06-09T11:39:17.726Z","request_id":"1ef04733-fd74-4542-a96b-d2d110007716"},"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/report":{"get":{"operationId":"get_v1_report","tags":["COT"],"summary":"Latest COT report for a market","description":"","parameters":[{"name":"market","in":"query","required":true,"description":"Market name (Euro FX, Gold, Crude Oil, S&P 500)","schema":{"type":"string"},"example":"GOLD"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"market":"GOLD - COMMODITY EXCHANGE INC.","commodity":"GOLD","commercial":{"net":-206345,"long":53851,"short":260196,"traders":44,"pct_oi_long":16.5},"report_date":"2026-06-02","open_interest":326052,"other_matches":["MICRO GOLD - COMMODITY EXCHANGE INC."],"total_traders":258,"weekly_change":{"open_interest":-27437,"commercial_long":-20790,"commercial_short":-211,"noncommercial_long":5392,"noncommercial_short":-16368},"non_commercial":{"net":176020,"long":206096,"short":30076,"spread":22449,"traders":153,"pct_oi_long":63.2},"non_reportable":{"net":30325,"long":43656,"short":13331}},"meta":{"timestamp":"2026-06-09T11:39:18.292Z","request_id":"eaa5e217-1736-4c84-bc53-6e18fe90c4a0"},"status":"ok","message":"Report 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":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"source":"US CFTC public reporting — legacy futures-only (live)","service":"cot-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/report":"Latest COT report for a market (market=EURO FX): positions by trader category, net, change.","GET /v1/history":"Weekly positioning history for a market (market=, weeks up to 104).","GET /v1/markets":"Search the reported markets (q=GOLD) to find exact names."},"description":"Live Commitments of Traders (COT) futures-positioning data from the US CFTC: for any market (Euro FX, Gold, Crude Oil, S&P 500, Bitcoin), the latest weekly report of long and short contracts held by commercials, non-commercials (large speculators) and small non-reportable traders, with each group's net position and share of open interest, total open interest, week-over-week change and trader counts; a market search; and weekly positioning history. Live, no key, nothing stored. Distinct from price and open-interest APIs — this is who is long and short, by trader category.","upstream_status":"ok"},"meta":{"timestamp":"2026-06-09T11:39:18.664Z","request_id":"1f8f76a7-edce-4aee-bfb2-b90bbc247810"},"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":9000,"rps_limit":3,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1100,"monthly_call_quota":115000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2850,"monthly_call_quota":580000,"rps_limit":15,"hard_limit":true},{"slug":"scale","name":"Scale","price_cents_month":6700,"monthly_call_quota":2950000,"rps_limit":30,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/cot-api"}