PricesPump pricesStation pricesSet pricesTaxes and margins
MarketsCrude benchmarksJet and heating oilRefined productsCurrencies
DataCountriesSupply and stocksHistoryHow currentStatus
DocsQuick startAPI referenceMCP serverChangelog
Pricing
BRENT123.1$/bbl ▼ 3.92%WTI103.4$/bbl ▼ 1.79%ULSD4.687$/gal ▼ 3.02%RBOB3.521$/gal ▼ 1.92%MX REGULAR23.99MX$/l ▲ 0.00%ES PETROL 951.739€/l ▼ 0.01%FR PETROL 952.169€/l ▼ 0.09%PT PETROL 952.069€/l ▼ 0.34%CA REGULAR1.829C$/l ▲ 6.04%GB PETROL 95 E101.719£/l ▼ 0.29%AT PETROL 951.759€/l ▼ 2.48%HR PETROL 951.640€/l ▲ 0.00%MD PETROL 9531.40MDL/l ▼ 0.35%SI PETROL 951.626€/l ▲ 0.00%CO REGULAR16,331COL$/galAL PETROL196.0ALL/lBRENT123.1$/bbl ▼ 3.92%WTI103.4$/bbl ▼ 1.79%ULSD4.687$/gal ▼ 3.02%RBOB3.521$/gal ▼ 1.92%MX REGULAR23.99MX$/l ▲ 0.00%ES PETROL 951.739€/l ▼ 0.01%FR PETROL 952.169€/l ▼ 0.09%PT PETROL 952.069€/l ▼ 0.34%CA REGULAR1.829C$/l ▲ 6.04%GB PETROL 95 E101.719£/l ▼ 0.29%AT PETROL 951.759€/l ▼ 2.48%HR PETROL 951.640€/l ▲ 0.00%MD PETROL 9531.40MDL/l ▼ 0.35%SI PETROL 951.626€/l ▲ 0.00%CO REGULAR16,331COL$/galAL PETROL196.0ALL/l

How current the data is

How fresh each kind of price is, the freshness field, and fetching only what is new.

On this pageEach kind of dataBrent, WTI and the productsThe freshness fieldFetching only what is newWhat to show your users

Every kind of price arrives on its own publisher's rhythm. This guide gives each rhythm, how the API tells you whether a series is on it, and how to poll without reading the same points twice. How current the data is explains the same for people, with the weekly release of the benchmark closes drawn day by day.

Each kind of data

DataUpdatesUsual delayNotes
Station pricesMinutes to daily, by country30 days (per station price)A price unconfirmed for 30 days is stale and left out unless you send include_stale=true
Set pricesAs announcedThe country's own intervalWeekly, fortnightly or monthly
Daily seriesEach publishing day10 daysBenchmarks, currency rates, daily pump prices
Weekly seriesWeekly21 daysWeekly pump averages
Monthly seriesMonthly75 daysMonthly pump prices and price build-ups
Supply and stocksMonthly200 daysCountries report months late
Quarterly and yearlyQuarterly, yearly150 and 500 daysQuarterly currency rates, yearly figures

Brent, WTI and the products

The daily closes are released once a week, on Wednesday, with every trading day up to the Tuesday before. The newest close is therefore 1 to 8 days old, and on a Monday it is normal for the last close to be the previous Tuesday's. No day is skipped: each release fills the days since the one before. Live exchange prices are licensed and cannot be passed on, so they are not in the API.

The freshness field

Every series answer, from List series, Series values and Pump prices, carries freshness:

FieldMeans
statuson_schedule while the newest point is within its usual delay; past it, late, ended (no longer published) or waiting_on_country (the country reports on its own timetable)
days_since_lastDays from the newest point to today, UTC
usual_within_daysThe usual delay for this series: its interval plus the publisher's normal lag
"freshness": {"status": "on_schedule", "days_since_last": 6, "usual_within_days": 10}

on_schedule is worked out on every call. Past the usual delay, the status comes from a check of every series run once a day.

Fetching only what is new

Keep the newest date you hold for each series and ask from the day after it. You get nothing back until the publisher has released more, and each call costs one of your daily calls whatever it returns, so poll on the publisher's rhythm: daily series once a day, the benchmark closes on Wednesdays, monthly series a few times a month.

curl -G "https://api.oilapi.net/v1/series/crude.brent.europe" \
  -d from=2026-10-28 \
  -H "X-API-Key: YOUR_API_KEY"

What to show your users

Show the date of the price next to it, not only the price. For the benchmarks, a line such as "close of Tue 27 Oct, next release Wed 4 Nov" sets the right expectation.