{"uid":"cap_AAjf1bklXgVxGiCs013lJ","slug":"cftc-commitments-of-traders-precious-metals-futures-positioning-ae123264","name":"CFTC Commitments of Traders – Precious Metals Futures Positioning","description":"CFTC Commitments of Traders — weekly disaggregated futures positioning by commodity: managed-money long/short/net, producer-merchant, swap-dealer, and open interest. 20-year history, cleaned and canonicalized from the CFTC feed. Filter by commodity (gold/silver/copper/platinum/palladium/wti_crude).","url":"https://thevaultreport.com/api/x402/cot/positioning","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","properties":{"to":{"type":"string","format":"date","example":"2026-04-30"},"from":{"type":"string","format":"date","example":"2026-01-01"},"page":{"type":"integer","default":1,"example":1,"minimum":1},"commodity":{"type":"string","example":"gold"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["endpoint","rows","total_matches"],"properties":{"page":{"type":"integer"},"rows":{"type":"array","items":{"type":"object","properties":{"commodity":{"type":"string"},"swap_long":{"type":"number"},"swap_short":{"type":"number"},"report_date":{"type":"string","format":"date"},"contract_code":{"type":"string"},"open_interest":{"type":"number"},"managed_money_net":{"type":"number"},"managed_money_long":{"type":"number"},"managed_money_short":{"type":"number"},"producer_merchant_long":{"type":"number"},"producer_merchant_short":{"type":"number"}}}},"source":{"type":"string"},"filters":{"type":"object","description":"Echo of the filters that were applied."},"license":{"type":"string"},"related":{"type":"array","items":{"type":"object"},"description":"Sibling endpoints worth buying next."},"endpoint":{"type":"string"},"returned":{"type":"integer"},"next_page":{"type":["integer","null"],"description":"Next page number, or null when this is the last page."},"page_size":{"type":"integer"},"source_url":{"type":"string"},"attribution":{"type":"string"},"generated_at":{"type":"string","format":"date-time"},"total_matches":{"type":"integer"},"schema_version":{"type":"integer"}}}}}}},"responseSchema":{"type":"json","example":{"page":1,"rows":[{"commodity":"GOLD","swap_long":1250,"swap_short":1250,"report_date":"2026-04-17","contract_code":"088691","open_interest":418200,"managed_money_net":1250,"managed_money_long":1250,"managed_money_short":1250,"producer_merchant_long":1250,"producer_merchant_short":1250}],"source":"The Vault Report","filters":{"metal":"gold"},"license":"CC BY 4.0","related":[],"endpoint":"cot/positioning","returned":1,"next_page":2,"page_size":25,"source_url":"https://thevaultreport.com","attribution":"Attribute to The Vault Report with a link to https://thevaultreport.com","generated_at":"2026-04-18T14:00:00Z","total_matches":1482,"schema_version":1}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_68QE5K0yADxwFmbaPiYqF","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns weekly CFTC COT disaggregated futures positioning data (managed money, producer-merchant, swap dealer, open interest) for gold, silver, copper, and platinum with up to 20 years of history.","exampleAgentPrompt":"Pull me the CFTC COT disaggregated positioning data for gold from January 1, 2025 to April 30, 2025 — I want to see managed money long, short, and net positions along with open interest for each weekly report.","exampleUseCases":null,"resultDescription":"A paginated list of weekly COT report rows for the requested commodity and date range. Each row includes report_date, contract_code, managed_money_long, managed_money_short, managed_money_net, producer_merchant_long, producer_merchant_short, swap_long, swap_short, and open_interest. Response also includes total_matches, returned count, page, page_size, next_page (null if last page), source URL, attribution, and generated_at timestamp.","failureModes":["Invalid commodity enum value returns 400 or empty results","Date range with no data returns empty rows array with total_matches=0","Malformed date format (not ISO 8601) may cause 400 error","Page number beyond last page returns empty rows","Payment not processed results in 402 Payment Required","Very large date ranges may require many paginated calls"],"whenToPreferThis":"Use this endpoint when you need structured, cleaned, and canonicalized CFTC Commitments of Traders data for precious metals (gold, silver, copper, platinum) with up to 20 years of history. Prefer this over scraping the CFTC website directly when you need disaggregated positioning split by trader category (managed money, producer-merchant, swap dealer) and want consistent JSON output without parsing raw CFTC files.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T00:43:36.872Z","isFirstParty":false}