# Managed Money Positioning API
> 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.

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/managedmoney-api/..."
```

## Pricing
- **Free** (Free) — 720 calls/Mo, 2 req/s
- **Starter** ($13/Mo) — 15,800 calls/Mo, 6 req/s
- **Pro** ($40/Mo) — 86,000 calls/Mo, 16 req/s
- **Mega** ($87/Mo) — 478,000 calls/Mo, 40 req/s

## Endpoints

### Positioning

#### `GET /v1/positioning` — Four-group disaggregated breakdown for one commodity

**Parameters:**
- `market` (query, required, string) — Commodity key (gold, wti, corn, sugar, ...) Example: `gold`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/managedmoney-api/v1/positioning?market=gold"
```

**Response:**
```json
{
    "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,
 
…(truncated, see openapi.json for full schema)
```

### Screener

#### `GET /v1/screener` — Rank commodities by Managed Money net positioning

**Parameters:**
- `sort` (query, optional, string) — net_pct (net as % of OI), net (contracts) or change Example: `net_pct`
- `class` (query, optional, string) — metal, energy, grain, soft, livestock or all Example: `all`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/managedmoney-api/v1/screener?sort=net_pct&class=all"
```

**Response:**
```json
{
    "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,
                
…(truncated, see openapi.json for full schema)
```

### Markets

#### `GET /v1/markets` — Supported commodity futures and CFTC codes

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/managedmoney-api/v1/markets"
```

**Response:**
```json
{
    "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)",
     
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Service metadata

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/managedmoney-api/v1/meta"
```

**Response:**
```json
{
    "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 t
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/managedmoney-api
OpenAPI spec: https://www.oanor.com/api/managedmoney-api/openapi.json
