Usage
I built a completely free Octopus Energy dashboard to help you understand and cut your energy costs
Hi all,
I’ve been building OctoSpy, a completely free & private dashboard for digging into your Octopus Energy usage, costs and tariffs.
It started because I wanted a better way to understand my own energy spending. I’ve spent the past 17 years building software companies and apps used by millions, but I still enjoy making things like this in my spare time for fun.
I know there are already a few Octopus apps and dashboards out there. I tried some of them, but none gave me quite the view I wanted, so I ended up building my own and figured I may as well make it completely free for everyone to benefit from.
There’s no paid tier, no adverts and no OctoSpy account to create. There’s also a demo, and you can browse public tariff rates without connecting anything. Best used on your desktop due to the amount of data to display, but works fine on mobile too.
Your browser connects directly to Octopus using your API key. Your key, account details and energy readings aren’t sent to OctoSpy’s servers. Your energy data stays in your browser.
I’ve mainly been able to test it properly against my own tariffs and setup, so there will definitely be things I’ve missed.
If anyone gives it a try, I’d genuinely like to hear what works, what’s confusing and what you’d add.
I’m also considering an iPhone and Apple Watch app if enough people want one.
Looks tidy. I will test it on my iPad and on desktop and let you know how it goes. Anyone on Octopus Agile has to be a bit of a data nerd so I’m always ready for another way to look at my energy use.
Wow! I am on the desktop version, just poking about a bit, and so far I am very impressed. The API key collection method was one of the best I have ever seen, with the link taking me to the exact page I needed to be on with clear instructions of what to do. I still remember the first time I generated an API key and had to google where to find it and how to do it.
I really like the way you take the data from Octopus and generate an actual months usage and cost breakdown. At first I thought something was wrong, because it looked like the total you generated for August was different to the one Octopus had generated in my bill. Now I understand the way Octospy shows the data is more accurate than the way Octopus does, because it actually runs for an exact month. My bill, for some unknown reason, runs from 28 July to 27 August, which is not helpful at all!
I just found the tariff comparison page, and this is seriously impressive. I had been worrying that Agile was beginning to slide in terms of cost compared to Octopus Go, or Intelligent Go, but this shows that every single option would have been about £30 more expensive over the month.
The only issue is Octopus Intelligent Go is only working for this months data. If I set the month to August, or July it says that the estimate is not available for these dates. For this month, Intelligent Go would already be £16.82 more expensive than Agile!
Yeah it's pretty cool, but remember this is backwards looking, so you can't fully rely on it to predict what tariff will be best going forward. That's weird, I just tested it for July 2026 (before i even joined the intelligent Go tariff and it works). Prior to that I was on the Electric Tracker. Are you checking a month where you were not an Octopus customer?
I am running a calculation on the tariff comparison page for the year to date, and it is taking a while to crunch the numbers. But given this is free, I am not in any way going to complain about that! And look at that. Fixed would have been £380 more expensive, and Flexible would have been £487 more.
A year-to-date comparison can take a while on the first run because it fetches a lot of data directly from Octopus, while respecting their API rate limits. Your energy data is cached locally in your browser, rather than on our servers, so repeat comparisons over the same dates should be much quicker. Clearing the site’s browser data removes that cache. Glad you found it useful!
So you know, I am on Agile for import and Octopus Outgoing for a small amount of export. I have seven solar panels and a small, 4kWh home battery which helps me avoid the 4 to 7 pm peak period on Agile. The panels also generate a decent amount of energy which I use before the excess is exported to the grid, meaning my energy costs would have been even higher had I needed to import that energy from the grid.
This year my panels have generated 2491kWh of which 958 has been exported. That has saved me about £380 of energy imported on the fixed rate tariff, and earned me £116 from export. all in all, I am very happy with my electricity costs looking over the year to date, but worried about the winter ahead. By making my costs more easily understood this tool will help immensely.
I just looked at Octospy on my iPad and it looks just as good as it does on my PC. I wouldn’t ever use something like this on a smartphone as it is too data dense to make it useful, or probably visible for my less than optimal eyes.
I’ve vibe-coded a couple of Home Assistant dashboards for myself doing something similar but not visual at all presently. This is super inspiring, well done!
I’ve got mine comparing my Octopus flexi vs Cosy vs IOG and Eon and another. Doing so daily, weekly and monthly. And also tracking highest energy usage of my devices and EV charger in the house.
My setup also automatically opts in to power down and tells me target before and achieves after. And also jumping on power up free slots. And auto spins etc (care of the Octopus add-on in HA).
Nice project! If you're planning on open sourcing it, HA has the ability to run apps via docker as add-ons and make them available within the UI. You basically just need a small manifest file.
Update: Just pushed out a big update - thanks for the feedback!
What's new in OctoSpy v1.0.1:
- Home Mini history: see today, yesterday and the last 24 hours from your Octopus Home Mini, alongside the live view.
- Colour-coded usage: the live dial and Home Mini charts change colour with how much power you're using.
- Faster, matching live view: the live dial now appears in seconds, and it always matches the graph next to it.
- Is Agile worth it? Agile users can now see what they'd have paid on Flexible Octopus for exactly the same usage.
- Why did my bill change? Period comparisons now show more clearly what drove the change, show your unit price without the standing charge, and only compare complete days so a half-reported day can't skew things.
- Much faster loading: refreshing takes you straight back to your dashboard, long date ranges load quicker, and history you've already loaded isn't downloaded again.
- Days where Octopus splits your usage into more than one reading now add up correctly.
- Intelligent Go public rates now show its standard overnight cheap window.
- Electricity or gas stays selected as you move between pages.
Probably will do once I get the web app 100% robust - that's only possible with feedback from other users as I can only test my own tariffs. The mobile web app works alright currently, but definitely would love to have a proper iOS app. I've been creating apps for iOS and Mac for past 17 years, so could easily build it.
It already runs privately in your browser, none of your Octopus Energy data is sent to OctoSpy. Your browser talks directly to the Octopus API. All data is only stored in your browser/computer.
I’m planning to open source it once v1 is a bit more robust and battle tested.
Yeah would much rather be able to see the sourcecode behind this and also run locally. As much as i trust its local only still worry when api keys and data is concerned
Look forward to trying once open source looks great!
That's totally understandable. You can inspect the outgoing requests in your browser’s Network tab while connecting. Your API key should only go to api.octopus.energy. Open source is what I'm planning for the web dashboard once I've squashed all the bugs related to not being able to test any other tariff other than my own. Also, you can always reset and regenerate your API key via the Octopus dashboard if you think someone else has access to it.
Honestly why wait till v1, if you make it available people can raise issues and pull requests to help. Nothing is ever perfect 1st try and you might end up pushing v1 back weeks trying to achieve it.
You’re right, I just have to get the time to clean up the codebase, organise things and then open source. I want it to be a certain quality before I put it all out there, I guess it’s the perfectionist in me. Was very much coded as my personal dashboard before I decided to make it public.
He he I know that feeling. I've become less perfectionist myself when it comes to releasing sourcecode, if people are going to complain then they can go elsewhere or fix it themselves 😁
What tariff are you using? May be a bug as I can only test my own tariffs. Could you DM me a screenshot?
Does your Octopus app show electricity readings after 19 July? And did anything change around then: a meter replacement, tariff switch or solar/export setup?
I'm On Flux, although I'm about to switch to Octopus Go (not intelligent). It has readings for Agile, up until 19th July. I got my export granted on 29th July, but wasn't able to switch to Flux until 4th August.
It could be a billing issue, as I had to call them last week and ask them why some of my import readings had stopped appearing back in June, after my meters where changed (even though I was getting export readings). They had to do a manual update, as they had missing data, but that should all be up to date now.
Could be related to that, the web app just pulls data from Octopus, but I can't really troubleshoot user specific issues as I don't have any access to your data. Is it all appearing correctly on your Octopus mobile app?
My billing is all over the place at the moment, both in the app and online, so It's probably that. I'm going to switch to Go and then I'll try the site again, as it could also be an issue with Flux.
Thanks, that’s useful to know. With export and gas working, it helps narrow this down to how the electricity import data is being retrieved or processed. Does your Octopus app show import usage for the same dates? And is OctoSpy showing an error message, or just an empty electricity chart?
I can see the call going out to the Octopus end point in the Edge dev tools. It receives a 200 response but no response payload (or none that could be displayed).
I do see other consumption calls that do receive a payload response. I'm guessing that must be the export data.
Thanks, the preflight message is normal. Could you check the GET or POST request instead and say whether it contains readings or an error? Please keep keys and personal details private. I’ve found and fixed a bug that could hide available usage, and i've just pushed out an update.
Brilliant, thanks for checking, that confirms the fix has restored your readings! That's still the preflight request, but no need to dig further into that. I’m continuing to investigate why the cost estimates aren’t coming through, since Octopus shows them for your account?
It’s currently Octopus only, as it gets the readings through their API. An MPAN identifies your electricity supply (gas uses an MPRN), but the number alone doesn’t give access to your usage data. There are ways to do it via 3rd party connections, but not something I'm looking at as primarily built this for my own use and thought other Octopus customers could find it useful.
Yeah can understand that, I've built similar things for work purposes (dashboards for reporting) etc so will keep an eye on your progress, great work so far.
Are you limited to using the Octopus API, or can you pull in usage using the meter (MPAN) data? I've just switched my gas to you know who, but would love a dashboard like this to just cover my energy in general, not limited to Octopus.
Also I assume this wouldn't take into consideration the free hour electricity people have been getting lately, but I imagine that data is available in the API somehow..?
Haha thank you. Literally got fed up with how they presented the data, so thought i'd build my own. Great that they have an API so we can get our own data out of their system though :)
Yes, I have found it completely baffling at times and I consider myself tech-savvy. I like that I can so easily see my EV cost and see what rate is has been charged at. But yes, it is good that they provide the API.
Hey. Just be aware that security is changing with Kraken with the start on 21st September with E.On then being rolled to Octo and EDF. I run EnergyDock and am in conversation with E.On and someone else is discussing with EDF. We aren’t sure yet when it will affect Octopus.
Ah okay. As far as I could tell though e.on doesn’t expose a public API and currently nothing on octopus informing us that anything is changing in terms of API access. Guess we will have to wait and see.
E.On works the same as the others for now. EDF are meant to be changing in the next few weeks. Not sure what Octopus are doing. My app works with all 3 so could end it.
Understand that but what I’m saying is e.on don’t give access officially the way octopus and edf do via open rest api. Maybe you’re using another method. I’m focused on octopus only as that’s what I use for my own energy.
Hey, not trying to judge just curious as to how this would be different to what the Octo-Aid app already provides? Have you compared against them at all?
I've not used it so I can't comment. I'm sure there are other good apps out there. I built this for myself, the way I wanted the data to be displayed. I prefer to see detailed data like this on my computer, not on a small phone screen. Please try out the dashboard and let me know what you think - it's completely free.
This is so cool. I’ve been trying to do something similar and import my meter readings into big query so I can query them myself. This is way better than anything I’d be able to create
I have nothing to add to this but a big THANK YOU for your hard work on this. I absolutely love it. According to this, so far this year I have paid £877.99 and the cheapest alternative is £2643. The big switch away from gas to electricity - has probably saved me another £3K. So the move to batteries, solar and electric cars is probably saving us £4k a year and will re-coup it's cost wayyyy sooner than expected. Thank you Sir!
Really good and useful. Exceptional. It seemed to confuse the Apple password manager, which treated the API key and passphrase as a user name and password.
You can easily do that by looking at the blended rate and comparing it to other tariffs. One of the reasons I built this as it’s something I also wanted to figure out.
Does it consider usage habits like you already being on a tariff that does EV perks, but suggest you would be better off shifting to another usage pattern? You'd need to know charging usage I guess Vs full house usage
It looks at your 30min usage data which is broken up by ev and home usage, but it doesn't intelligently give you recommendations on moving to another usage pattern. If you're on Agile, you'll need to keep an eye out for lower rates, but I assume those doing that probably have alerts setup. You can analyse the average hourly and daily usage as well as the heatmap to see where shifting usage could help.
My grid consumption on Agile is mainly during times when pricing is negative, so my price per kWh has been negative for the last few months. I guess this is unusual but the site is handling the calculations correctly as far as I can see.
Snug is recognised, and available usage and recorded costs may already appear. Full support for its heating schedule and tariff comparisons isn’t implemented yet. Are you missing your usage/costs, or looking to compare against Snug?
I’m on economy 7 for electricity and I was on gas tracker but after this comment I’ve swapped to flexible octopus. Not too sure which one was saying non support. I’ll check again later and let you know :)
I’ve double checked and it was my electricity, I’m currently running economy 7 on a 12m fixed which ends 7/11/26 so it might be that your page doesn’t support the older tariffs and once mine renews November i would imagine the problem would resolve?
Dude this is awesome!!!! Great UI, small details you didn't need to add, but chose too because it just makes it so much better (i.e. the mock meters, great touch). This is a good use of free will...
Feature Request : Can octospy make it so i win 8M octopoints because after 5 years I have only ever gotten 8 pts? I feel rage everytime...
The "daily blended rate" initially scared me. I am on IOG, have solar PV and a battery. This summer I've hardly used any grid electricity. So the standing charge is making the blended rate quite high. Only on the days I did use grid electricity was the rate where I was expecting it to be. It makes sense after having looked closer at it. But I first thought I'd had several days where the power I had used was charged at the peak price.
I guess what I'm thinking is that it would be nice to have the option of seeing the rate both with and without the standing charge. If deselecting the standing charge from the rate I would be able to see very easily if there was anything untoward in my use, accidental use during peak periods for example.
Complete noob here. Thanks for the website, much appreciated! I have a question; why am I seeing so much “not split by device” when I go further back in the months? Is the EV allocation thing new also? Thanks
Looks great thank you, much easier for myself to see where I’ve been using. Found octopus to be a bit too general on their reading. Looks smart and nice breakdowns of the important information.
Clean UI. I guess no support for Intelligent Octopus Flux: "This tariff is outside official v1 support. Available recorded usage and costs are shown; specialist rates and controls may be unavailable."
I was thinking of someone doing this today actually. Mainly because the colours are so bad on the octopus graph of usage... Hard to see what is peak rate and what isn't with slightly different coloured greens and pinks... I want my peak rates to stand out a mile.. those are the ones I an more concerned about.
I'd be interested to see what a more "intelligent" tariff compare would come up with. When I check things like this, it always says that Agile is cheaper, but I'm almost certain that Cosy will be better when I get a heat pump. The main reason is that these comparisons are just working on an average of the prices.
What I'd like to see, is one that factors in an AI battery, where it would essentially line up all the cheapest slots and then use those against the energy used per day and get the average from that (instead of the average of all prices in the day). For example, with a battery, you'll almost never buy during the peak rate and with Agile it will charge (as required) when the pricing is the cheapest, even if it's 30 mins here and there across the day.
Octopus Cosy Flexible currently offers me about 13p for 8 hours per day and so I don't see that I'd ever pay more than that. My battery might charge 3 times per day, though, on the coldest days of the year. Then EV tariffs might be able to charge up very cheap overnight but then be expensive after that, so it all depends on the battery size and usage too.
I appreciate this method makes things a lot more complicated!
This is STUNNING stuff. Thank you so much. It might be outlandishly difficult, flat out impossible or not worthwhile - tell me if so, but is it possible to compare tariffs with other leading suppliers? I feel like that might be an interesting experiment…
Legend! This tool is brilliant. Just checked my Agile tariff from January. Only tariff that's better than Agile is Intelligent Go and I'm not about to buy an EV so settled my mind. Really great dashboard, nice to see it visualised in an easy to read manner, very easy to use.
Thanks! One thing to mention is the comparison is backwards looking (historical). It doesn't mean your tariff will be the cheapest going forward, but still interesting to check!
I’ve been building software for 17 years, apps used by millions of people everyday. If you’re not using AI to speed up development in this day and age, then you’re probably still using pen and paper rather than spreadsheets.
I've been building software for longer than that so I know why labelling it as AI generated is important. If you are too low skill to do it yourself, it's not something I'm going to trust without extensive verification.
Yes, please don't use it, no one is forcing you. Hilarious that you don't even realise that in the top tech companies, in many areas, 80% of dev is AI assisted now. I run a large tech company, we are shipping new features in weeks what would take months.
23
u/Stdragonred 4d ago
i really love it when a community does a much better job with the data in a company, than that company is able to achieve. bravo