> From TickerLayer docs, Futures CFDs: https://tickerlayer.com/docs/products/futures#futures-quote
> REST base URL https://api.tickerlayer.com, API key in the `x-api-key` header. WebSocket wss://stream.tickerlayer.com?apiKey=YOUR_API_KEY. Full API reference: https://tickerlayer.com/llms-full.txt

## Latest quote

**Endpoint:** `GET /futures/quote/:symbol`

The price of one contract month, chain position or roll series, with its calendar fields.

### Path parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `symbol` | string | Yes | A contract month (WTIUSD.DEC26), a chain position (XAUUSD.C1 to .C3) or a roll series (US500.R5, .R5C, .CYCLE, .NOTICE). Trimmed and uppercased before lookup. |

### Query parameters

| Parameter | Type | Description |
| --- | --- | --- |
| `rolls` | string | Opt-in. Comma-separated roll methods to add to every chain front (.C1) in the answer: r5, r5c, cycle, notice, or all. Other symbols are unchanged. Leave it out for the default payload. |

### Request

```bash
curl -sS "https://api.tickerlayer.com/futures/quote/XAUUSD.C2" \
  -H "x-api-key: <YOUR_API_KEY>"
```

```python
import requests

res = requests.get(
    "https://api.tickerlayer.com/futures/quote/XAUUSD.C2",
    headers={"x-api-key": "<YOUR_API_KEY>"},
)
print(res.json())
```

```javascript
const res = await fetch("https://api.tickerlayer.com/futures/quote/XAUUSD.C2", {
  headers: { "x-api-key": "<YOUR_API_KEY>" },
});
const data = await res.json();
console.log(data);
```

```go
req, _ := http.NewRequest("GET", "https://api.tickerlayer.com/futures/quote/XAUUSD.C2", nil)
req.Header.Set("x-api-key", "<YOUR_API_KEY>")
```

### Response

```json
{
  "symbol": "XAUUSD.C2",
  "kind": "chain",
  "base": "XAUUSD",
  "name": "Gold",
  "unit": "USD per troy ounce",
  "contract": "XAUUSD.DEC26",
  "contract_month": "2026-12",
  "rank": 2,
  "last_trade_date": "2026-12-29",
  "roll_date": "2026-12-29",
  "first_notice_date": "2026-11-30",
  "market_status": "open",
  "trading_day_of_month": 17,
  "trading_days_in_month": 22,
  "bid": 4012.8,
  "ask": 4013.1,
  "price": 4012.95,
  "spread": 0.3,
  "bid_size": 1,
  "ask_size": 2,
  "volume": 839,
  "live": true,
  "estimated": false,
  "timestamp": 1792778642388,
  "transaction_time_us": 1792778642388000,
  "ingress_time_us": 1792778642624000,
  "publish_time_us": 1792778642819000
}
```

### Notes

`kind` is `contract`, `chain` or `roll`. `contract` is the dated month the price is on (for a roll series, the front month) and `rank` its chain position. `trading_day_of_month` is the current trade date’s place among the month’s US business days (0 on a day that is not one), out of `trading_days_in_month`. `403 futures access not enabled for your account`: the account does not include Futures CFDs. `404 unknown symbol`: the base or the symbol form is not one we list. `404 no price for this symbol`: the product is known, but the month is not carried, or no month of the product has a usable book yet.
