Guides

Oil price settlement vs last trade: why your Brent number doesn't match the news

API behaviour as of Nov 14, 2026. Figures from OilPriceAPI production responses retrieved Nov 14, 2026.

News reports quote the exchange settlement and the change from the previous settlement. On every live ICE Brent contract month, OilPriceAPI returns a close captured after the session and a change_percent measured from the session open, with settlement null. The two can disagree with the news on the level and on the daily change. The one Brent settlement the API does carry is a different instrument, explained below.

On Nov 11, 2026 the January 2027 Brent contract returned a close of 92.45, captured at 23:56:32 UTC, and a change_percent of +0.54%. That change is from the open of 91.95. Against the previous day's captured close of 91.92 the same close is +0.58%. The row's settlement field was null.

Three different numbers for one trading day

NumberHow it is setWhere you see it
ICE settlementICE: “The weighted average price of trades during a two minute settlement period from 19:28:00, London time.”News reports, exchange data. Null on our live ICE Brent contract months.
Last trade / captured closeICE Brent trades 1:00 AM - 11:00 PM London time. Our close is captured after that session ends: between 23:41 and 23:56 UTC on Nov 9-13, 2026.close and close_captured_at on history rows; last_price on the latest curve
Daily changeNews: settlement versus prior settlement. Our change_percent: close versus the session open.change_percent

Source: ICE Brent Crude Futures contract specification, retrieved Nov 14, 2026. In November, London time equals UTC, so the settlement window opens at 19:28 UTC, about four hours before our close is captured.

What the API returns for ICE Brent today

  • settlement is null on every live contract month. All 17 dated months from January 2027 to May 2028 had a null settlement on every row, Nov 9-13, 2026, including the January 2027 front month.
  • close is the price captured after the session, and close_captured_at on each history row says when.
  • change_percent is measured from the captured open of the same session.
  • settlement_date on the latest curve is the trading date of the captured price. It does not mean a settlement is included.
  • On /v1/futures/ice-brent/curve, settlement_price carries the captured close and settlement_basis says so: it read close_fallback on 16 of 16 contracts for 2026-11-13. Read settlement_basis before you call a value a settlement.

Worked example: Brent January 2027, Nov 9-13, 2026

DateOpenCloseCaptured (UTC)change_percent (from open)Change from prior closesettlement
Nov 997.9292.3823:56:06−5.66%not computednull
Nov 1092.4591.9223:56:24−0.57%−0.50%null
Nov 1191.9592.4523:56:32+0.54%+0.58%null
Nov 1292.2595.7823:56:43+3.83%+3.60%null
Nov 1395.6296.2923:41:34+0.70%+0.53%null

Source: GET /v1/futures/ice-brent/historical, contract BRENT_FUTURES_2027_01, retrieved Nov 14, 2026. Change from prior close = (close − previous row's close) / previous row's close. Nov 9 has no earlier row in this window.

On Nov 12, 2026 the two measures differ by more than two tenths of a point. Over a quiet session they can even disagree on direction.

Where the API does carry a settlement

The settlement field is filled only where we capture one: the front month of WTI, Henry Hub natural gas and TTF from a published daily bar, ICE Gasoil derived from its published change against the prior settlement, RBOB from the CME bulletin, and a Brent front-month daily bar described next. The WTI December 2026 contract had a settlement on 10 of 22 rows from Oct 15 to Nov 13, 2026. Where both exist, the close and the settlement differ:

DateCloseCaptured (UTC)settlementchange_percent (from open)change_from_prior_settlement_percent
Nov 1288.7321:51:1688.95+2.58%+2.99%
Nov 1389.1521:56:0588.79+0.41%−0.18%

Source: GET /v1/futures/ice-wti/historical, contract WTI_FUTURES_2026_12, retrieved Nov 14, 2026.

Brent, with a caveat. The history response returns a settlement on BRENT_FUTURES_CONTINUOUS, taken from the front-month daily bar for NYMEX Brent Last Day Financial futures. That is a NYMEX contract, not the ICE Brent settlement. Because of a known filing defect, the same values also appear on rows labelled with the expired December 2026 contract instead of a live month. On Nov 9-13, 2026 they were 92.65, 91.96, 92.56, 96.08, 96.08, and the Nov 13 value repeated Nov 12's. Do not treat these as the ICE settlement of any live contract month.

Source: GET /v1/futures/ice-brent/historical, contracts BRENT_FUTURES_CONTINUOUS and BRENT_FUTURES_2026_12, Nov 9-13, 2026, retrieved Nov 14, 2026.

On Nov 13, 2026, change_percent said WTI rose 0.41% from the open. The settlement fell 0.18% against the prior settlement. A headline would report the second.

How to build with it

  • To match a news headline's daily change, compute the change from the previous row's close yourself, as in the table above. Do not compare change_percent with it.
  • Treat close as a captured price. If a mark, an invoice or a contract formula needs the exchange settlement, use a licensed settlement source.
  • Check settlement for null, and settlement_basis on the curve endpoint, before labelling anything a settlement.
  • Expect small level differences between our close and the settlement every day: they are set from trades about four hours apart.

Coming, not yet deployed

An API change under review as of Nov 14, 2026 adds change_from_prior_close_percent and prior_close_date to history rows and the latest curve, close_captured_at to the latest curve, and settlement_available so a client can tell a missing settlement from a zero. It is not yet deployed. Until it is, compute the prior-close change as shown above. It does not add an ICE Brent settlement.

Sources

  • ICE Brent Crude Futures contract specification: daily settlement method and trading hours, retrieved Nov 14, 2026.
  • OilPriceAPI /v1/futures/ice-brent/historical, /v1/futures/ice-brent/curve and /v1/futures/ice-wti/historical, production responses retrieved Nov 14, 2026.