OilPriceAPI insights

US Oil Inventories Hit 5-Year Seasonal Lows: The Data Behind the Draw (Nov 2026)

By OilPriceAPI · Published · EIA weekly data for the weeks ending Oct 23 and Oct 30, 2026

Rory Johnston's read of the data holds up. US commercial petroleum stocks were 1,212.6 million barrels in the week ending Oct 23, 2026 and 1,204.4 million in the week ending Oct 30, below the 2021-2025 low for those weeks (1,224.8 and 1,224.1 million) and 35.6 and 43.1 million barrels under the five-year average (EIA, WTESTUS1). Stocks have been below the five-year minimum every week since the week ending Oct 9, 2026.

This page compares a post by Rory Johnston, founder of Commodity Context, with EIA's weekly data. The observation and the framing are his; we only rebuilt the numbers. Read his original post on X.

The claim

On Oct 28, 2026, the day EIA published data for the week ending Oct 23, Johnston wrote:

“US commercial petroleum inventories fell by 3 million barrels last week, further extending their aggressive draw into fresh 5yr trailing seasonal lows. Crude -1.9, diesel -1.7, other (largely NGLs) -3.0. Only gasoline saw a +3.9 build, helping maintain current downward $ pressure”

It makes two testable points: the weekly changes, and that total commercial stocks are at new lows for the time of year against the previous five years.

Verdict: confirmed. The total, crude and gasoline changes match EIA to the first decimal, and both late October weeks sit below the 2021-2025 range. EIA's distillate change for that week was −1.462 million barrels, a little smaller than the −1.7 in the post.

The week ending Oct 23: Johnston's figures against EIA

Weekly change in US commercial stocks, week ending Oct 23, 2026, million barrels: Rory Johnston's post and EIA
StocksJohnston, mbEIA, mb
Total commercial−3−3.006
Crude (excl. SPR)−1.9−1.892
Diesel / distillate−1.7−1.462
Gasoline+3.9+3.870
Other−3.0 (“largely NGLs”)−2.652 other oils; −3.486 with jet, propane and residual

Source: EIA Weekly Petroleum Status Report released Oct 28, 2026, series WTESTUS1, WCESTUS1, WDISTUS1, WGTSTUS1, W_EPPO6_SAE_NUS_MBBL (+ WKJSTUS1, WPRSTUS1, WRESTUS1). Johnston's column quotes his post.

“Other” depends on the grouping. EIA's “other oils” category fell 2.652 million barrels; adding jet fuel, propane and residual fuel oil gives 3.486 million. Johnston's −3.0 sits between the two. The distillate gap of 0.24 million barrels does not change the conclusion, and we could not see which figure the post used.

Below the five-year range since early October

Johnston's comparison is against the trailing five years. For each 2026 week we took the week ending nearest the same date in 2021 to 2025, and computed the average and the minimum. Total commercial stocks crossed below that minimum in the week ending Oct 9, 2026 (1,224.0 against 1,229.0 million barrels) and have stayed below it.

US total commercial petroleum stocks in 2026 fell from near the 2021-2025 average in September to 1,204 million barrels in the week ending Oct 30, below the five-year minimum of 1,224 million for that week.1150120012501300Feb 2026Apr 2026Jun 2026Aug 2026Oct 20262021-25 avg 12472021-25 min 12242026 1204
US commercial stocks of crude oil and petroleum products, excluding the SPR, million barrels, weekly, Jan 2 to Oct 30, 2026 (blue), with the 2021-2025 average and minimum for the same week (grey). The axis does not start at zero. Source: EIA weekly series WTESTUS1, WPSR released Nov 4, 2026; five-year statistics computed by OilPriceAPI.

The breakdown by product, week ending Oct 30

The next report extended the draw: total commercial stocks fell another 8.2 million barrels. Distillate led, down 3.565 million to 99.259 million barrels, the first weekly reading below 100 million since May 2003 (see our check of John Kemp's distillate post). Jet fuel and propane were the only products above their five-year average.

US commercial stocks by product, week ending Oct 30, 2026, million barrels, with weekly change and 2021-2025 average
ProductStocks, mbWeekly change, mb2021-25 avg, mbvs avg, mb
Crude oil (excl. SPR)409.8−0.9428.3−18.6
Total gasoline209.0−0.2212.3−3.4
Distillate fuel oil99.3−3.6114.5−15.3
Jet fuel41.8−0.440.2+1.6
Propane and propylene104.1−1.694.4+9.7
Residual fuel oil24.4+1.026.5−2.1
Other oils291.6−2.4309.5−17.9
Total commercial1,204.4−8.21,247.4−43.1

Source: EIA WPSR released Nov 4, 2026, series WCESTUS1, WGTSTUS1, WDISTUS1, WKJSTUS1, WPRSTUS1, WRESTUS1, W_EPPO6_SAE_NUS_MBBL, WTESTUS1. vs avg = stocks − 2021-2025 same-week average. Rows do not sum exactly to the total because EIA's total also includes fuel ethanol and rounding.

What else the same EIA report shows

The draw is not a refinery shortfall. In the four weeks to Oct 30, US refineries ran harder and exported more than in the same weeks of 2021-2025, while domestic distillate demand was also higher. The emergency reserve is not cushioning it either: SPR crude stood at 282.2 million barrels on Oct 30, against a 2021-2025 same-week average of 432.1 million (EIA, WCSSTUS1).

US exports, demand and refinery utilization, four weeks to Oct 30, 2026, against the same weeks of 2021-2025
Measure (4-week average)To Oct 30, 2026Same weeks, 2021-25
Crude oil exports4.14 mb/d3.91 mb/d
Petroleum product exports7.41 mb/d6.20 mb/d
Distillate exports1.35 mb/d1.14 mb/d
Distillate product supplied4.18 mb/d3.96 mb/d
Refinery utilization93.5%87.4%

Source: EIA weekly series WCREXUS2, WRPEXUS2, WDIEXUS2, WDIUPUS2, WPULEUS3; four-week averages computed by OilPriceAPI. These are the report's own figures, not a causal model.

Pull the weekly stocks with the OilPriceAPI

The latest EIA week by product is available today from /v1/ei/oil_inventories/by_product. On Nov 12, 2026 it returned the week ending Oct 30 with distillate at 99.259 million barrels, matching EIA.

import requests

API = "https://api.oilpriceapi.com/v1/ei/oil_inventories/by_product"
HEADERS = {"Authorization": "Token YOUR_API_KEY"}

r = requests.get(API, headers=HEADERS, timeout=30)
r.raise_for_status()
data = r.json()["data"]

print("EIA week ending", data["week_ending"])
for row in data["products"]:
    print(f'{row["product_type"]:<17} {row["volume_mmbbl"]:>9.3f} mb  '
          f'{row["week_over_week"]:+.3f} ({row["direction"]})')

Two limits, stated plainly. Our history endpoint /v1/ei/oil_inventories/historical currently starts at Dec 12, 2025, so it cannot build a five-year comparison yet; total commercial stocks and other oils are not served as separate products; and vs_five_year_avg reads “N/A”. A ten-year backfill from EIA is in progress. Until it lands, the seasonal comparison on this page comes from EIA's own series. More on the weekly data: US inventory data, SPR, Cushing storage and the EIA data API.

What to watch in the next report

  • EIA moved the next Weekly Petroleum Status Report, for the week ending Nov 6, to Thursday Nov 12, 2026 at 12:00 p.m. ET because of Veterans Day (EIA release schedule).
  • Whether total commercial stocks rebuild above the 2021-2025 minimum, about 1,224 million barrels for late October.
  • Distillate against 100 million barrels; for why diesel stocks matter to prices, see why diesel is so expensive.

Sources

  • EIA Weekly Petroleum Status Report, released Oct 28 and Nov 4, 2026 (weeks ending Oct 23 and Oct 30), via EIA API v2, retrieved Nov 12, 2026: WTESTUS1, WCESTUS1, WGTSTUS1, WDISTUS1, WKJSTUS1, WPRSTUS1, WRESTUS1, W_EPPO6_SAE_NUS_MBBL, WCSSTUS1, WCREXUS2, WRPEXUS2, WDIEXUS2, WDIUPUS2, WPULEUS3.
  • EIA WPSR release schedule, holiday dates for 2026.
  • OilPriceAPI /v1/ei/oil_inventories/by_product, Nov 12, 2026.

Credit: the observation tested here, that US commercial inventories hit fresh five-year seasonal lows, and the weekly breakdown are the work of Rory Johnston of Commodity Context. Original work: his post on X, Oct 28, 2026. We compare it with EIA data; the analysis is his.

Not investment advice. No forecast is made here.