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: benchmark history

Benchmark history

One benchmark day by day, or averaged by week, month or year.

GEThttps://api.oilapi.net/v1/benchmarks/{benchmark}
PlansEvery plan
Cost1 call per request
ReturnsUp to 5,000 points
UpdatedDaily

What it is for

One benchmark day by day, or averaged by week, month or year, oldest first.

Brent reaches back to 1987. interval=month gives long charts in few points; convert with currency, or restate in today's money with real.

Good for
  • Long run price charts
  • Monthly averages for reports
  • Crude next to pump prices
Also the MCP tool price_history

Parameters 1 in the path, 6 in the query

NameWhere and typeRequiredWhat it doesExample
benchmarkpath stringrequiredGoes in the address itself.brent
intervalquery one ofdefault dayday, week, month or year. One of day, week, month, year.month
fromquery dateoptionalFirst date, YYYY-MM-DD.2024-01-01
toquery dateoptionalLast date, YYYY-MM-DD.2024-12-31
currencyquery ISO 4217optionalConvert every price to this currency on its own day, such as usd.usd
realquery stringoptionalRestate every price in the money of one month with the country's consumer price index: latest, or a month as YYYY-MM such as 2020-01.latest
limitquery integerdefault 100Most recent points when no from is given. Up to 5,000.3

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
benchmarkstringBenchmark code, such as brent"brent"
unitstringlitre, gallon or barrel"barrel"
currencystringThree letter currency code"USD"
valuesarrayThe points, oldest first{"period":"2026-08","average":91.076,...

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

GET /v1/benchmarks/brent?interval=month&limit=3
{
    "data": {
        "benchmark": "brent",
        "name": "Brent crude, spot",
        "interval": "month",
        "unit": "barrel",
        "currency": "USD",
        "values": [
            {
                "period": "2026-08",
                "average": 91.076,
                "high": 96.92,
                "low": 86.47,
                "days": 20
            },
            {
                "period": "2026-09",
                "average": 114.1591,
                "high": 130.8,
                "low": 96.02,
                "days": 22
            },
            {
                "period": "2026-10",
                "average": 124.83,
                "high": 135.51,
                "low": 114.82,
                "days": 19
            }
        ]
    },
    "meta": {
        "count": 3
    }
}

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.
404not_foundNo record by that benchmarkCheck the code; the list endpoint gives every one that exists.
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