---
title: "Get the current crack spread"
method: GET
path: "/v1/spreads/crack"
tags: ["Spreads"]
---

# Get the current crack spread

`GET /v1/spreads/crack`

## Request

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

Refining crack spread with its crude and product legs.

## Query parameters

- `type` 'jet' | 'diesel' | 'gasoline' | '3-2-1'
- `crude` 'BRENT_CRUDE_USD' | 'WTI_USD' | 'BRENT_SPOT_USD' | 'WTI_SPOT_USD'

## Response `200`

Get the current crack spread

- object
  - `status` string, required
  - `data` object, required
    - `spread_type` string
    - `crude_benchmark` string
    - `value` number
    - `unit` string
    - `components` object
      - `crude` object
        - `code` string
        - `price` number
        - `unit` string
      - `gasoline` object
        - `code` string
        - `price` number
        - `unit` string
      - `diesel` object
        - `code` string
        - `price` number
        - `unit` string
      - `product` object: Single-product spread types (jet, diesel, gasoline) return crude and product; the 3-2-1 composite returns crude, gasoline and diesel.
        - `code` string
        - `price` number
        - `unit` string
    - `timestamp` string, date-time
    - `changes` object
      - `change_1d` number
      - `change_1d_pct` number
      - `change_1w` number
      - `change_1w_pct` number
      - `change_1m` number
      - `change_1m_pct` number
    - `data_stale` boolean: Present and true when any leg (crude or product, including every leg of the 3-2-1 composite) is older than 24 hours. Absent when every leg is fresh.
    - `stale_warning` string: Present only alongside data_stale.

## Other responses

- `400`: A required parameter is missing or invalid. The message enumerates valid values.
- `401`: Missing or invalid API key.
- `404`: DATA_NOT_AVAILABLE — a current spot price for the crude benchmark or a product leg is missing.
- `500`: Unexpected server error. Retry transient failures with bounded backoff and retain the request ID when contacting support.

## Changes

- **2026-10-17** `d83e7b18c195`: 2 warning, 7 info
  - removed the optional property `data/changes/change_7d` from the response with the `200` status
  - removed the optional property `data/changes/change_7d_pct` from the response with the `200` status
  - added the new optional `query` request parameter `crude`
  - added the new optional `query` request parameter `type`
  - …5 more
- **2026-10-12** `1b0373823190`: 2 info
  - added the optional property `data/data_stale` to the response with the `200` status
  - added the optional property `data/stale_warning` to the response with the `200` status
- **2026-08-30** `a7f1136fa319`: 1 info
  - added the non-success response with the status `404`
- **2026-08-25** `0e79e21dee2e`: 4 info
  - added the media type `application/json` for the response with the status `200`
  - added the media type `application/json` for the response with the status `401`
  - added the non-success response with the status `400`
  - added the non-success response with the status `500`

[Operation history](https://skmtc.dev/oilpriceapi/apis/oil-price-api-v1/changes/v1/spreads/crack/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)
