---
title: "Get historical marine fuel prices"
method: GET
path: "/v1/prices/marine-fuels/historical"
tags: ["Marine Fuels", "Premium"]
---

# Get historical marine fuel prices

`GET /v1/prices/marine-fuels/historical`

## Request

- Base URL: `https://api.oilpriceapi.com`
- URL: `https://api.oilpriceapi.com/v1/prices/marine-fuels/historical`
- Auth: API key in header `Authorization`

Retrieve the latest collection of each marine-fuel assessment, newest first. The response keeps distinct sources, currencies and price types separate. Undated rows retain their collection time. Up to 1,000 observations are returned after deduplication; metadata.truncated indicates omitted matches. metadata.period describes returned as_of values, while requested_period records the query window. Neither a successful response nor truncated=false promises complete daily coverage. Results are cached for 30 minutes.

## Query parameters

- `port_code` string, required
- `fuel_type` string, required
- `days` integer

## Response `200`

Historical marine fuel data

- MarineFuelHistoricalResponse
  - `status` string
  - `data` object
    - `prices` object[]
      - `port_code` string
      - `fuels` object[]
        - `code` string
        - `price` number
        - `as_of` string, date-time
        - `timestamp` string, date-time
    - `metadata` object
      - `count` integer: Number of returned fuel observations
      - `port_count` integer: Number of returned port groups
      - `limit` integer
      - `truncated` boolean: True when additional matching observations exceeded the limit
      - `period` MarineFuelHistoryPeriod
        - `start` string, date-time, nullable
        - `end` string, date-time, nullable
      - `requested_period` MarineFuelHistoryPeriod
        - `start` string, date-time, nullable
        - `end` string, date-time, nullable

## Other responses

- `400`: Invalid marine fuel filter or missing required parameters
- `401`: Unauthorized
- `500`: Unexpected server error. Retry transient failures with bounded backoff and retain the request ID when contacting support.

## Changes

- **2026-10-26** `9e633619fedf`: 1 info
  - added the non-success response with the status `400`
- **2026-10-20** `b987321524a8`: 1 breaking, 2 warning, 3 info
  - the `data` response's property type changed from `array` to `object` for status `200`
  - deleted the `query` request parameter `interval`
  - deleted the `query` request parameter `period`
  - added the new optional `query` request parameter `days`
  - …2 more

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