PricesPump pricesStation pricesSet pricesTaxes and margins
MarketsCrude benchmarksJet and heating oilRefined productsCurrencies
DataCountriesSupply and stocksHistoryStatus
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.749€/l ▼ 0.34%FR PETROL 952.195€/l ▼ 0.07%PT PETROL 952.094€/l ▼ 0.01%CA REGULAR1.829C$/l ▲ 6.04%GB PETROL 95 E101.719£/l ▼ 0.29%AT PETROL 951.780€/l ▼ 2.48%HR PETROL 951.640€/l ▲ 0.00%SI PETROL 951.627€/l ▲ 0.00%AL PETROL196.0ALL/lDZ PETROL47.00DZD/lAO PETROL304.0AOA/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.749€/l ▼ 0.34%FR PETROL 952.195€/l ▼ 0.07%PT PETROL 952.094€/l ▼ 0.01%CA REGULAR1.829C$/l ▲ 6.04%GB PETROL 95 E101.719£/l ▼ 0.29%AT PETROL 951.780€/l ▼ 2.48%HR PETROL 951.640€/l ▲ 0.00%SI PETROL 951.627€/l ▲ 0.00%AL PETROL196.0ALL/lDZ PETROL47.00DZD/lAO PETROL304.0AOA/l

Oil price API: list series

List series

Every series we hold: retail, set, wholesale, crude, supply and more, searchable.

GEThttps://api.oilapi.net/v1/series
PlansEvery plan
Cost1 call per request
ReturnsPaged, 50 a page
UpdatedHourly

What it is for

Every series we hold, searchable: pump and set prices, wholesale, crude and products, supply, taxes, consumer price indexes and more, each with its code, unit, currency, frequency and date range.

Filter by family, country or product, or search the names with q. Every code it gives works with Series values.

Good for
  • Finding the right code for a chart
  • What a country has beyond pump prices
  • Checking date ranges before a backfill

Parameters 4 in the query

NameWhere and typeRequiredWhat it doesExample
familyquery stringoptionalretail, crude, refined, jet, marine, lpg, structure, tax, fundamentals, cpi, edible, lubricant.crude
countryquery countryoptionalTwo letter country code, such as fr, gb or ke.fr
productquery stringoptionalProduct code, such as diesel.diesel
qquery stringoptionalWords in the series name.brent
page, per_page, cursorquery pagingdefault 1, 50See Pagination.per_page=100

Try it runs against the live API with your key

No key yet? Get a free one; it is saved in this browser for every page.

The answer 200, application/json

FieldTypeWhat it holdsExample
seriesstringSeries code, or the series we hold"crude.average.monthly"
namestringOur name for it"Crude oil, average of Brent, Dubai a...
familystringretail, crude, refined and the rest"crude"
productstringProduct code"crude_average"
countrystringTwo letter country codenull
unitstringlitre, gallon or barrel"barrel"
currencystringThree letter currency code"USD"
intervalstringday, week, month or year"month"
first_datestringFirst point on record"1960-01-01"
last_datestringLatest point"2026-09-01"
pointsintegerHow many points we hold801

Example answer real, from what we hold now; long lists cut to three

GET /v1/series?family=crude&per_page=2
{
    "data": [
        {
            "series": "crude.average.monthly",
            "name": "Crude oil, average of Brent, Dubai and WTI, monthly",
            "family": "crude",
            "product": "crude_average",
            "country": null,
            "region": null,
            "market": "Monthly average",
            "unit": "barrel",
            "currency": "USD",
            "interval": "month",
            "first_date": "1960-01-01",
            "last_date": "2026-09-01",
            "points": 801
        },
        {
            "series": "crude.brent.europe",
            "name": "Brent crude oil, spot",
            "family": "crude",
            "product": "crude_brent",
            "country": null,
            "region": null,
            "market": "Europe",
            "unit": "barrel",
            "currency": "USD",
            "interval": "day",
            "first_date": "1987-05-20",
            "last_date": "2026-10-27",
            "points": 9117
        }
    ],
    "meta": {
        "count": 2,
        "next_cursor": "bzI",
        "page": 1,
        "per_page": 2,
        "total": 7,
        "total_pages": 4,
        "next_page": 2,
        "prev_page": null
    }
}

Errors every error has the same shape

HTTPCodeWhenWhat to do
401unauthorizedNo key, or not a valid oneSend your key in the X-API-Key header; your account page shows it.
400bad_requestA value is wrong or a required one is missingThe message names the parameter and the form it takes.
422unknown_parameterA parameter this endpoint does not takeTake it out; the parameters this endpoint takes are listed above.
429rate_limitedToo many calls this minuteWait the seconds in the Retry-After header, then call again.
429quota_exceededToday's calls are used upWait for the day to reset at midnight UTC, or move to a larger plan.
Dates and times are UTC. A point's date is the day its price took effect, or the first day of its week or month for weekly and monthly series. Conversions use each day's own rate, so a converted series moves with both the price and the exchange rate.

Related