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?".
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.
Only need the general price trend? The open price feed needs no key at all.
The key can also travel in an X-Api-Key header instead of the query string.
| Parameter | Required | Meaning |
|---|---|---|
| key | yes | Your API key (or send it as an X-Api-Key header). |
| postcode | yes | A full UK postcode, e.g. MK40 1AA. Validated against the full UK postcode file. |
| litres | no | How much oil. Defaults to 1000. |
| fuel | no | kerosene (default, standard heating oil), premium (kerosene with additive), or premium_kerosene (premium-grade kerosene; gasoil is still accepted for it). |
| tanker | no | normal (default), small or baby for restricted access. |
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.
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.
| Status | Meaning |
|---|---|
| 400 | The postcode isn't a valid UK postcode. |
| 401 | Missing, unknown or disabled key. |
| 429 | The key has used its hourly allowance - try again later. |
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.
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).
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.
One line, anywhere in your page:
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.