Show the Octopus Agile price in your Mac menu bar

On Agile the price changes every half hour, from negative overnight to the 4 to 7 pm peak. This meter shows the price right now for your region, so you know when to run the washing machine or charge the car.

Recipe tested October 29, 2026 with Multimeter 1.1. Source: Script.

Preview: the Gradient Track face and two alternatives, with sample values like the ones this recipe returns.

What you need

  • Multimeter for macOS 13 or later, $19.99 once.
  • The direct download version of Multimeter from this site (the Script source isn’t in the Mac App Store version).
  • jq for picking numbers out of JSON. It comes with macOS 15 and later; on macOS 13 or 14 run brew install jq.
  • Your region letter, the last character of your tariff code (C is London, A Eastern England, N Southern Scotland; it’s on your bill and in the Octopus app).

Set it up

  1. Try it with your region letter in place of the final C in the tariff code:
    Command
    curl -s -m 8 "https://api.octopus.energy/v1/products/AGILE-24-10-01/electricity-tariffs/E-1R-AGILE-24-10-01-C/standard-unit-rates/?period_from=$(date -u +%Y-%m-%dT%H:%M:00Z)&page_size=96" | jq '.results | last | .value_inc_vat'
  2. Add a Script meter with it, refreshing every 5 minutes.
  3. Range 0 to 40, unit p, alerts on High values at 25 and 35.

Multimeter settings

In Customize This Meter… (from the meter’s menu):

Settings for this meter
SettingValue
SourceScript
Commandthe curl … | jq line above
Refresh every5 minutes
Range0 to 40
Unitp
AlertsHigh values: warning 25, critical 35
LabelAGILE
FaceTraffic Light, Gradient Track or Heat Strip

Tested: Run on October 29, 2026 at 17:07 UK time for region C: 61.86p (the 17:00 to 17:30 peak slot); the cheapest slot published for the rest of the day was 31.41p.

Script meters need the direct download version of Multimeter from this site, which is the one on sale now. How commands run, the PATH they see and the 10 second limit are in the Script meters guide.

Limits

  • Prices for the next day appear around 4 pm. The product code changes when Octopus launches a new Agile version; if the meter stops, check the current code at octopus.energy.

Variations

Cheapest slot left today

Command
curl -s -m 8 "https://api.octopus.energy/v1/products/AGILE-24-10-01/electricity-tariffs/E-1R-AGILE-24-10-01-C/standard-unit-rates/?period_from=$(date -u +%Y-%m-%dT%H:%M:00Z)&page_size=96" | jq '[.results[].value_inc_vat] | min'

Troubleshooting

What the meter says, why, and what to do
SymptomCauseFix
The script didn’t print a numberThe command failed or printed an error message instead.Run the exact command in Terminal. If it works there, check for tools that live outside the meter’s PATH and use their full path (which tool).
The script took longer than 10 secondsA slow network call. Multimeter stops scripts after 10 seconds.Keep the -m timeout on curl, and refresh less often.
Scripts need the version from multimeterapp.comThis copy of Multimeter came from the Mac App Store, which can’t run scripts.Use the direct download version, or run the command from cron or launchd and point a File meter at its output.
Prints nullThe product or region code is wrong, so there are no results.Open the address in a browser and check count is above 0.

Questions

Does this work in the Mac App Store version?

Script meters need the direct download version from multimeterapp.com, because the App Store sandbox doesn’t let apps run your commands. Web Address, File and Sent Value meters work in every version.

Does it need my Octopus API key?

No. Tariff prices are public. Your key is only needed for your own consumption data.

Related

Put it in your menu bar

$19.99 one-time. No subscription. Needs macOS 13 Ventura or later.