OilPriceAPI Docs
GitHub
GitHub
  • Interactive Explorer

    • Interactive API Explorer
  • Price Data

    • API Reference
    • Get Latest Prices
    • Historical Prices
    • Batch Prices
    • Excel Latest Price Gateway
    • Price Widget Endpoints
    • Price Utility Endpoints
    • Natural Gas Intelligence
  • Commodities

    • List Commodities
    • Get Commodity Details
    • Data Publication & Collection Schedules
  • AI Agents (MCP)

    • Get Market Brief
    • Subscriptions / Watches
    • Agent Subscriptions with MCP
  • Marine Fuels

    • Marine Fuel API
    • List Marine Fuel Ports
    • Get Port Details with Prices
    • Bunker Fuels
    • Maritime Fuels
  • Fuel Surcharges

    • Fuel Surcharge API
  • Premium Endpoints

    • All Prices API - One Call, All Commodities
    • Cushing Oil Storage Intelligence API
    • Drilling Intelligence API
    • Marine Fuels API
    • ICE Brent Futures API
    • Benchmark Close
    • Aviation Fuel Pilot
  • Spreads & Margins

    • Spreads & Margins
    • Crack Spreads
    • Basis Spreads
    • Refining Margins
    • Curve Structure
    • Physical Premiums
  • Market Indicators

    • Market Indicators
    • Fuel Switching
    • Price Context
    • Storage Analytics
    • CFTC Positioning
    • Congressional Trades
    • Market Annotations
  • Futures

    • Futures API
    • ICE Brent Futures
    • ICE WTI Futures
    • ICE Gas Oil Futures
    • NYMEX Natural Gas Futures
    • ICE EUA Carbon Futures
    • EU Carbon Futures
    • TTF Gas Futures
    • LNG JKM Futures
    • UK Carbon Futures
  • Dark Data (Premium)

    • Energy Intelligence API
    • Rig Counts
    • Well Permits
    • Well Production Beta
    • Oil Inventories
    • OPEC Production
    • Drilling Productivity
    • Forecasts (STEO)
  • Well Production (Beta)

    • Well Production Data
    • Well Production API Reference
  • Analytics

    • Analytics API
  • Webhooks API

    • Webhooks API Reference
    • Webhook Endpoint Reference
  • Alerts

    • Price Alerts API
  • Account & Billing

    • Account API
    • API Keys
    • Subscriptions
    • Organizations

Fuel Surcharge API

Use these endpoints to retrieve carrier-published fuel surcharge percentages for LTL freight and parcel shipping. Responses preserve the carrier's effective_date, the OilPriceAPI retrieved_at timestamp, and the carrier schedule source URL so you can decide whether a rate is current enough for billing, quoting, or audit workflows.

Newly launched

The fuel-surcharge endpoints are newly launched. Coverage and response fields may expand - check the changelog for updates.

Plan required: available to all authenticated plans. Standard quota and rate limits apply.

Endpoints

MethodEndpointDescription
GET/v1/fuel-surchargeLatest LTL surcharge for every covered carrier with data
GET/v1/fuel-surcharge/{carrier}/latestLatest LTL surcharge for one carrier
GET/v1/fuel-surcharge/{carrier}/historyHistorical LTL surcharge rows for one carrier
GET/v1/fuel-surcharge/parcelLatest parcel surcharges grouped by carrier and service level
GET/v1/fuel-surcharge/parcel/{carrier}/latestLatest parcel surcharge for one carrier, optionally one service level
GET/v1/fuel-surcharge/parcel/{carrier}/historyHistorical parcel surcharge rows for one carrier and service level

Authentication

Authorization: Token YOUR_API_KEY

Carrier Slugs

LTL

Covered LTL carriers:

odfl, saia, estes, xpo, abf, tforce, averitt, southeastern-freight

Reserved but not yet covered LTL slugs return 404 with the current covered list. Reserved slugs include fedex-freight and rl-carriers.

Parcel

Covered parcel carriers:

ups, fedex, dhl

Parcel responses are grouped by service_level. Service levels are carrier-specific and can change; call the carrier's latest endpoint without service_level to discover current values.

Common examples include ground, air, international_air_export, international_air_import, and international_ground.

Parameters

LTL History

GET /v1/fuel-surcharge/odfl/history?per_page=12&page=1
ParameterTypeRequiredDefaultDescription
pageintegerNo1Page number
per_pageintegerNo100Rows per page, max 100

Parcel Latest and History

GET /v1/fuel-surcharge/parcel/ups/latest?service_level=ground
GET /v1/fuel-surcharge/parcel/ups/history?service_level=ground&per_page=12
ParameterTypeRequiredDescription
service_levelstringLatest: no. History: yes.Parcel service level, for example ground or international_air_export
pageintegerNoHistory page number
per_pageintegerNoHistory rows per page, max 100

Response Fields

FieldTypeDescription
carrierstringPublic carrier slug
carrier_namestringCarrier display name
modestringltl or parcel
service_levelstringParcel service level. Only present on parcel rate rows.
surcharge_percentnumberFuel surcharge percentage
effective_datedateDate the carrier says the surcharge applies
doe_diesel_pricenumber or nullDOE diesel benchmark used for LTL surcharge tables, when available
diesel_bandobject or nullLTL diesel-price band with min and max, when the carrier publishes a banded schedule
sourcestringCarrier schedule URL used for the stored row
retrieved_atdatetimeUTC timestamp when OilPriceAPI retrieved the carrier schedule

Examples

Latest LTL Surcharge

curl "https://api.oilpriceapi.com/v1/fuel-surcharge/odfl/latest" \
  -H "Authorization: Token YOUR_API_KEY"
{
  "status": "success",
  "data": {
    "carrier": "odfl",
    "carrier_name": "Old Dominion Freight Line",
    "mode": "ltl",
    "surcharge_percent": 38.32,
    "effective_date": "2026-07-14",
    "doe_diesel_price": 3.72,
    "diesel_band": {
      "min": 3.7,
      "max": 3.75
    },
    "source": "https://www.odfl.com/us/en/resources/fuel-surcharge.html",
    "retrieved_at": "2026-07-14T05:00:00Z"
  }
}

Latest Parcel Surcharges for a Carrier

curl "https://api.oilpriceapi.com/v1/fuel-surcharge/parcel/ups/latest" \
  -H "Authorization: Token YOUR_API_KEY"
{
  "status": "success",
  "data": {
    "carrier": "ups",
    "carrier_name": "UPS",
    "mode": "parcel",
    "service_levels": [
      {
        "carrier": "ups",
        "carrier_name": "UPS",
        "mode": "parcel",
        "service_level": "ground",
        "surcharge_percent": 25.25,
        "effective_date": "2026-07-20",
        "doe_diesel_price": null,
        "diesel_band": null,
        "source": "https://www.ups.com/us/en/support/shipping-support/shipping-costs-rates/fuel-surcharges",
        "retrieved_at": "2026-07-17T12:00:00Z"
      }
    ]
  }
}

One Parcel Service Level

curl "https://api.oilpriceapi.com/v1/fuel-surcharge/parcel/ups/latest?service_level=ground" \
  -H "Authorization: Token YOUR_API_KEY"
{
  "status": "success",
  "data": {
    "carrier": "ups",
    "carrier_name": "UPS",
    "mode": "parcel",
    "service_level": "ground",
    "surcharge_percent": 25.25,
    "effective_date": "2026-07-20",
    "doe_diesel_price": null,
    "diesel_band": null,
    "source": "https://www.ups.com/us/en/support/shipping-support/shipping-costs-rates/fuel-surcharges",
    "retrieved_at": "2026-07-17T12:00:00Z"
  }
}

Parcel History

curl "https://api.oilpriceapi.com/v1/fuel-surcharge/parcel/ups/history?service_level=ground&per_page=2" \
  -H "Authorization: Token YOUR_API_KEY"
{
  "status": "success",
  "data": {
    "history": [
      {
        "carrier": "ups",
        "carrier_name": "UPS",
        "mode": "parcel",
        "service_level": "ground",
        "surcharge_percent": 25.25,
        "effective_date": "2026-07-20",
        "doe_diesel_price": null,
        "diesel_band": null,
        "source": "https://www.ups.com/us/en/support/shipping-support/shipping-costs-rates/fuel-surcharges",
        "retrieved_at": "2026-07-17T12:00:00Z"
      }
    ],
    "meta": {
      "page": 1,
      "per_page": 2,
      "total_count": 13,
      "total_pages": 7
    }
  }
}

Error Cases

StatusWhenRecovery
400Parcel history request omits service_levelCall latest without service_level to list available service levels, then retry history
401Missing or invalid API keySend Authorization: Token YOUR_API_KEY
404Unknown carrier, reserved carrier, or covered carrier with no retrieved data yetUse the covered carrier list returned in the error body
402Monthly quota exhaustedCheck the reset time or plan; do not retry immediately
429Rolling rate limit exceededBack off and retry after the rolling window

MCP Tool

The OilPriceAPI MCP server v2.6.0 exposes these endpoints through opa_get_fuel_surcharge.

Example agent prompts:

What is the current UPS ground fuel surcharge?
Show me ODFL fuel surcharge history.
List parcel fuel surcharge service levels for FedEx.

Related

  • Logistics Fuel Cost API
  • Diesel Price Data
  • Authentication Guide
Last Updated: 7/19/26, 6:15 PM