# Commodity Movers & Performance API
> What is moving across the commodity complex right now, computed live from Yahoo Finance futures (no key, nothing stored). Just as stock, FX and crypto traders watch the day's biggest gainers and losers, commodity traders want the same board for energy, metals, grains, softs and livestock. For every commodity this measures the change on the day, the week and the month, the day's high and low, the 52-week high and low and where the price sits in that 52-week range. The movers endpoint returns the whole complex ranked by daily change — the top gainers and losers — plus the weekly and monthly leaders, and can be filtered to one sector. The commodity endpoint returns one commodity's full performance card. The commodities endpoint lists what is covered. The commodity movers / performance-board cut — distinct from the commodity-momentum API (which ranks by a blended multi-month momentum factor and trend regime), the commodity-price feed, the commodity-spreads and the seasonality APIs. It answers what moved today, across the complex.

## 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/commoditymovers-api/..."
```

## Pricing
- **Free** (Free) — 1,150 calls/Mo, 2 req/s
- **Starter** ($10/Mo) — 27,000 calls/Mo, 6 req/s
- **Pro** ($29/Mo) — 130,000 calls/Mo, 18 req/s
- **Business** ($70/Mo) — 640,000 calls/Mo, 45 req/s

## Endpoints

### Movers

#### `GET /v1/movers` — Commodity complex ranked by daily change with weekly/monthly leaders

**Parameters:**
- `group` (query, optional, string) — Filter by sector: energy, metals, grains, softs, livestock Example: `metals`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/commoditymovers-api/v1/movers?group=metals"
```

**Response:**
```json
{
    "data": {
        "note": "Every commodity ranked by change on the day (gainers first), with weekly and monthly leaders. change_1d/1w/1m_pct are price changes over 1, ~5 and ~21 trading days; range_position_52w places the price in its 52-week range. group filters to energy, metals, grains, softs or livestock.",
        "group": "metals",
        "source": "Yahoo Finance",
        "scanned": 5,
        "commodities": [
            {
                "key": "palladium",
                "name": "Palladium",
                "group": "metals",
                "price": 1316.5,
                "symbol": "PA=F",
                "day_low": 1283,
                "currency": "USD",
                "day_high": 1326.5,
                "week52_low": 1036.7,
                "week52_high": 2169.8999,
                "change_1d_pct": 6.63,
                "change_1m_pct": -14.01,
                "change_1w_pct": 5.56,
                "range_position_52w": 24.7
            },
            {
                "key": "silver",
                "name": "Silver",
                "group": "metals",
                "price": 67.165,
                "symbol": "SI=F",
                "day_low": 65.965,
                "currency": "USD",
                "day_high": 68.08,
                "week52_low": 35.701,
                "week52_high": 115.08,
                "change_1d_pct": 5.13,
                "change_1m_pct": -24.44,
                "change_1w_pct": -2.58,
                "range_position_52w":
…(truncated, see openapi.json for full schema)
```

### Commodity

#### `GET /v1/commodity` — One commodity performance card

**Parameters:**
- `commodity` (query, required, string) — Key, name or alias (see /v1/commodities) Example: `gold`

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

**Response:**
```json
{
    "data": {
        "key": "gold",
        "name": "Gold",
        "note": "One commodity's performance card: change on the day, week and month, day high/low, 52-week high/low and where the price sits in its 52-week range (0 = on the low, 100 = at the high).",
        "group": "metals",
        "price": 4234.3999,
        "source": "Yahoo Finance",
        "symbol": "GC=F",
        "day_low": 4191.1,
        "currency": "USD",
        "day_high": 4267.8,
        "week52_low": 3273.7,
        "week52_high": 5318.3999,
        "change_1d_pct": 3.52,
        "change_1m_pct": -9.86,
        "change_1w_pct": -2.37,
        "range_position_52w": 47
    },
    "meta": {
        "timestamp": "2026-06-12T10:35:14.000Z",
        "request_id": "fd4ae34a-ecf7-4da4-906b-84d24ffafa61"
    },
    "status": "ok",
    "message": "Commodity retrieved successfully",
    "success": true
}
```

### Commodities

#### `GET /v1/commodities` — Supported commodities and groups

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

**Response:**
```json
{
    "data": {
        "note": "Supported commodities. Pass key/name/alias as commodity= to /v1/commodity, or group= to /v1/movers.",
        "count": 20,
        "groups": [
            "energy",
            "metals",
            "grains",
            "softs",
            "livestock"
        ],
        "source": "Yahoo Finance",
        "commodities": [
            {
                "key": "crude_oil",
                "name": "WTI Crude Oil",
                "group": "energy",
                "symbol": "CL=F"
            },
            {
                "key": "brent",
                "name": "Brent Crude Oil",
                "group": "energy",
                "symbol": "BZ=F"
            },
            {
                "key": "natural_gas",
                "name": "Natural Gas",
                "group": "energy",
                "symbol": "NG=F"
            },
            {
                "key": "gasoline",
                "name": "RBOB Gasoline",
                "group": "energy",
                "symbol": "RB=F"
            },
            {
                "key": "heating_oil",
                "name": "Heating Oil",
                "group": "energy",
                "symbol": "HO=F"
            },
            {
                "key": "gold",
                "name": "Gold",
                "group": "metals",
                "symbol": "GC=F"
            },
            {
                "key": "silver",
                "name": "Silver",
                "group": "metals",
…(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/commoditymovers-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "movers group= filters by sector. commodity= takes a key/name/alias (gold, crude_oil, KC=F; see /v1/commodities). Changes are over 1, ~5 and ~21 trading days. Read fresh per call, nothing cached.",
        "groups": [
            "energy",
            "metals",
            "grains",
            "softs",
            "livestock"
        ],
        "source": "Yahoo Finance daily commodity futures (1y range), live",
        "service": "commoditymovers-api",
        "endpoints": {
            "GET /v1/meta": "This document.",
            "GET /v1/movers": "The commodity complex ranked by daily change with weekly/monthly leaders (group=energy optional).",
            "GET /v1/commodity": "One commodity's performance card (commodity=gold).",
            "GET /v1/commodities": "The supported commodities and groups."
        },
        "description": "Commodity movers & performance — what is moving across the commodity complex now, live from Yahoo Finance futures (no key, nothing stored). movers returns the whole complex ranked by daily change (top gainers and losers) plus the weekly and monthly leaders, filterable by sector. commodity returns one commodity's performance card (day/week/month change, day high/low, 52-week high/low, range position). commodities lists what is covered. The commodity movers / performance-board cut — distinct from the commodity-momentum API (blended multi-month factor + regime), the commodity-price feed, the commodity-spr
…(truncated, see openapi.json for full schema)
```


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