As featured in MoneySavingExpert The Times The Guardian

Fueltool Quote API

Live UK heating oil prices as JSON. Send a postcode and how many litres, get back today's supplier quotes with real delivery dates - the same prices, to the penny, that customers see on this site. Built for AI assistants, tank monitors, smart-home setups and anything else that wants to answer "what's heating oil costing here today?".

Get a free API key

Create your own key below and start using it straight away. No account or email needed. Each key allows 60 requests per hour. For a home dashboard, checking once an hour is plenty.

A short label for your key. No personal details needed.

Only need the general price trend? The open price feed needs no key at all.

Make a request

GET https://www.fueltool.co.uk/api/v1/quote/?key=YOUR_KEY&postcode=MK40+1AA&litres=1000

The key can also travel in an X-Api-Key header instead of the query string.

ParameterRequiredMeaning
keyyesYour API key (or send it as an X-Api-Key header).
postcodeyesA full UK postcode, e.g. MK40 1AA. Validated against the full UK postcode file.
litresnoHow much oil. Defaults to 1000.
fuelnokerosene (default, standard heating oil), premium (kerosene with additive), or premium_kerosene (premium-grade kerosene; gasoil is still accepted for it).
tankernonormal (default), small or baby for restricted access.

What comes back

Current quotes, cheapest first. Totals include 5% VAT. delivery_by is a real date - weekends, bank holidays and the 2pm cut-off are already accounted for.

{ "source": "Fueltool - UK heating oil price comparison", "site": "https://www.fueltool.co.uk", "currency": "GBP", "postcode": "MK401AA", "litres": 1000, "fuel": "Heating Oil", "covered": true, "quotes": [ { "rank": 1, "product": "10 Day", "total_gbp_inc_vat": "889.98", "vat_gbp": "42.38", "pence_per_litre_ex_vat": "84.76", "lead_days": 10, "delivery_by": "Thu 3 Sep" }, { "rank": 2, "product": "05 Day", "total_gbp_inc_vat": "898.38", "vat_gbp": "42.78", "pence_per_litre_ex_vat": "85.56", "lead_days": 5, "delivery_by": "Wed 26 Aug" } ], "order_url": "https://www.fueltool.co.uk/results.cfm?postcode=MK401AA&litres=1000", "note": "Live quotes from independent local suppliers, cheapest first. ..." }

If nobody delivers to that postcode yet, you get "covered": false with an honest explanation and the same order_url - the page there lets the customer leave an email address to be told when their area is covered.

Errors

StatusMeaning
400The postcode isn't a valid UK postcode.
401Missing, unknown or disabled key.
429The key has used its hourly allowance - try again later.

Ground rules

The price tracker - open, no key

The average across Fueltool's UK heating oil price listings, today and back through time, is a separate open feed - no key needed. Free to use with attribution and a link back to fueltool.co.uk. Historical figures are frozen: a past day's average never changes after the fact, so a number you quote stays quotable.

GET https://www.fueltool.co.uk/api/v1/price/?days=90

Returns today's average (pence per litre, ex VAT, standard kerosene), the change over the last week and month, and a daily series (days from 7 to 730).

Using the data in Home Assistant

Use a RESTful sensor to read either endpoint, with a polling interval of 3,600 seconds. For the open feed, read today.average_ppl. It is a general Fueltool average for standard kerosene in the 1,000-1,499 litre band, rather than a quote for your home.

For local prices, use the quote API with your postcode, usual order size and your key in the X-Api-Key header. Handle covered: false or an empty quotes list as unavailable, not as a zero price. Both feeds' pence-per-litre figures exclude VAT; quote totals include VAT.

Put the tracker on your own site

One line, anywhere in your page:

<script src="https://www.fueltool.co.uk/tracker.js" async></script>

That draws a small live tile - today's UK average, the month's movement and a price line - which updates itself and can't clash with your site's styling. Options: data-theme="dark" and data-days="180" on the script tag. The "Data: Fueltool.co.uk" link is the condition of use - please leave it visible.

For machines