> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nexusfeed.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# ODFL Fuel Surcharge API

> Real-time Old Dominion Freight Line fuel surcharge rates with DOE diesel price and full history — via API mirror with HTML fallback.

Old Dominion Freight Line (SCAC: **ODFL**) publishes its fuel surcharge schedule on a hidden JSON endpoint used by the carrier's own web frontend. NexusFeed calls that endpoint directly and returns the current week's rate, the DOE diesel price that triggered it, and up to 26 weeks of history. When the primary API path fails or returns low confidence, a Playwright fallback automatically parses ODFL's public tariff table instead.

## Carrier overview

| Field                          | Value                                               |
| ------------------------------ | --------------------------------------------------- |
| **SCAC code**                  | ODFL                                                |
| **Full name**                  | Old Dominion Freight Line                           |
| **Headquarters**               | Thomasville, NC                                     |
| **Coverage**                   | National                                            |
| **DOE diesel price**           | Yes                                                 |
| **Historical weeks available** | Full history (bounded by `weeks` parameter, max 26) |
| **Primary extraction method**  | `api_mirror`                                        |
| **Fallback extraction method** | `playwright_dom`                                    |
| **Cache TTL**                  | 7 days                                              |

## Why it's reliable

ODFL's primary path hits `api.odfl.com/tools/fuel-history/v1.0/fuel-history.list`, which returns a clean JSON array sorted newest-first. No authentication is required. When that endpoint is healthy, `extraction_confidence` returns `1.0` and `extraction_method` is `api_mirror`. If the API returns a non-2xx, a parse error, or a confidence below 1.0, the router automatically falls back to ODFL's public tariff page (`www.odfl.com/us/en/tools/fuel-surcharge-schedule.html`) and parses the HTML table. The fallback still returns clean data but reports `extraction_method: playwright_dom` so you know which path ran.

## Example request

<CodeGroup>
  ```bash curl theme={null}
  curl "https://api.nexusfeed.dev/v1/ltl/fuel-surcharge?carriers=ODFL&weeks=4" \
    -H "X-API-Key: YOUR_KEY"
  ```

  ```python Python theme={null}
  import httpx

  resp = httpx.get(
      "https://api.nexusfeed.dev/v1/ltl/fuel-surcharge",
      params={"carriers": "ODFL", "weeks": 4},
      headers={"X-API-Key": "YOUR_KEY"},
  )
  data = resp.json()
  for week in data["weeks"]:
      print(week["effective_date"], week["fuel_surcharge_pct"], week["doe_diesel_price_usd"])
  ```

  ```javascript Node theme={null}
  const resp = await fetch(
    "https://api.nexusfeed.dev/v1/ltl/fuel-surcharge?carriers=ODFL&weeks=4",
    { headers: { "X-API-Key": "YOUR_KEY" } }
  );
  const data = await resp.json();
  data.weeks.forEach((w) =>
    console.log(w.effective_date, w.fuel_surcharge_pct, w.doe_diesel_price_usd)
  );
  ```
</CodeGroup>

## Example response

```json theme={null}
{
  "carrier": "ODFL",
  "weeks": [
    {"effective_date": "2026-04-07", "fuel_surcharge_pct": 42.3, "doe_diesel_price_usd": 3.812},
    {"effective_date": "2026-03-31", "fuel_surcharge_pct": 41.9, "doe_diesel_price_usd": 3.798},
    {"effective_date": "2026-03-24", "fuel_surcharge_pct": 41.7, "doe_diesel_price_usd": 3.791},
    {"effective_date": "2026-03-17", "fuel_surcharge_pct": 41.4, "doe_diesel_price_usd": 3.782}
  ],
  "_verifiability": {
    "source_timestamp": "2026-04-10T14:22:11Z",
    "extraction_confidence": 1.0,
    "raw_data_evidence_url": "https://api.odfl.com/tools/fuel-history/v1.0/fuel-history.list",
    "extraction_method": "api_mirror",
    "data_freshness_ttl_seconds": 604800
  }
}
```

## Use cases

* **Invoice audit**: match your ODFL LTL freight invoices against the week's published rate to catch billing errors.
* **Quote assembly**: include an accurate fuel surcharge line item when quoting shipments moving on ODFL.
* **Trend analysis**: pull 12-26 weeks of history to correlate fuel surcharges with DOE diesel movements.
* **Carrier comparison**: request ODFL alongside [Saia](/carriers/saia), [Estes](/carriers/estes), and [XPO](/carriers/xpo) to compare week-over-week.

## Compare with other carriers

| Carrier                      | DOE price | History  | Method                   |
| ---------------------------- | --------- | -------- | ------------------------ |
| [ODFL](/carriers/odfl)       | Yes       | Full     | API mirror + fallback    |
| [Saia](/carriers/saia)       | Yes       | Full     | Playwright DOM           |
| [Estes](/carriers/estes)     | Yes       | 5+ years | Playwright DOM           |
| [ABF](/carriers/abf)         | No        | Full     | Passthrough / ScraperAPI |
| [R+L](/carriers/rl-carriers) | Yes       | 52 weeks | Playwright DOM           |

Full list on the [LTL Fuel Surcharge product page](/products/ltl-fuel-surcharge).
