---
title: "Get delayed RBOB gasoline futures curve with exact decimal values"
method: GET
path: "/v1/futures/rbob"
tags: ["Futures", "Premium"]
---

# Get delayed RBOB gasoline futures curve with exact decimal values

`GET /v1/futures/rbob`

## Request

- Base URL: `https://api.oilpriceapi.com`
- URL: `https://api.oilpriceapi.com/v1/futures/rbob`
- Auth: API key in header `Authorization`

Returns the dated RBOB futures curve with standard numeric fields and exact
decimal-token companion strings. Public quote rows are delayed by at least 10 minutes; daily
settlement, volume, and open interest are separate prior-session fields.
This additive route does not change the legacy single-price or other
futures responses. A separately labelled close is not currently available.

**Premium Feature** - Futures data access required.

## Response `200`

Delayed RBOB contract quotes with optional daily CME fields

- object
  - `commodity` string, required
  - `updated_at` string, date-time, nullable
  - `collection_age_seconds` integer, nullable: Age of OPA collection; the individual CME source age is reported separately.
  - `source_observed_at` string, date-time, nullable: Latest per-contract UTC update timestamp supplied by CME.
  - `settlement_date` string, date, nullable: Latest settlement session date represented in the contract array.
  - `front_month` object, nullable: Selected front-month contract object, using OPA's seven-calendar-day early-roll rule.
    - `code` string
    - `contract_month` string
  - `nearest_contract` object, nullable: Nearest unexpired outright contract object, reported independently of front_month.
    - `code` string
    - `contract_month` string
  - `contracts` object[], required
    - `contract_month` string
    - `quote_trade_date` string, date: CME trade date associated with the quote payload.
    - `code` string
    - `source_time` string, date-time: Per-contract CME UTC quote update timestamp.
    - `source_observed_at` string, date-time: Same source timestamp, distinguished from collection time.
    - `source_age_seconds` integer: Age of the CME quote update at response time; may exceed collection age.
    - `last_price` number
    - `last_price_decimal` string: Exact CME source token for decimal arithmetic.
    - `change` number
    - `change_decimal` string
    - `open` number
    - `open_decimal` string
    - `high` number
    - `high_decimal` string
    - `low` number
    - `low_decimal` string
    - `close` number, nullable: No separately labelled close is available in the current CME public feed; this value is not inferred.
    - `close_decimal` string, nullable
    - `updated_at` string, date-time
    - `high_low_source_text` string, nullable: Exact CME high/low column token when its single one-sided quote cannot be assigned safely to high or low.
    - `settlement` number, nullable
    - `settlement_decimal` string, nullable: Exact settlement token from the CME PG61 bulletin.
    - `settlement_date` string, date, nullable
    - `volume` integer, nullable: Completed-session volume, calculated from PG61 Globex and PNT/PIT totals when both are available.
    - `settlement_change` number, nullable
    - `settlement_change_decimal` string, nullable: Exact source-published PG61 settlement change token.
    - `settlement_change_percent` number, nullable
    - `settlement_change_percent_decimal` string, nullable
    - `previous_settlement` number, nullable
    - `previous_settlement_decimal` string, nullable: Exact calculated decimal text for previous settlement.
    - `quote_volume` integer, nullable: CME delayed quote-table volume for the current trade date.
    - `previous_session_volume` integer, nullable
    - `open_interest` integer, nullable
  - `metadata` object, required
    - `minimum_source_delay_minutes` integer
    - `quote_cadence` string
    - `quote_volume_note` string
    - `decimal_wire_type` string
    - `exact_decimal_wire_type` string
    - `close_available` boolean

## Other responses

- `401`: Unauthorized
- `403`: Premium access required
- `500`: Unexpected server error. Retry transient failures with bounded backoff and retain the request ID when contacting support.
- `503`: Exact RBOB quotes are unavailable or an active contract quote exceeds the 96-hour maximum servable age. Quotes past the 30-minute collection limit are served with `metadata.stale` and `metadata.freshness_status` instead.

## Changes

- **2026-10-05** `6894e541fcfb`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1/changes/v1/futures/rbob/get.md)

---

[API](https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1.md) - [All operations](https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1/revisions/7f8b4d763210?raw)
