What you need
- Multimeter for macOS 13 or later, $19.99 once.
- Nothing. For your region, the first part of your postcode.
Set it up
- Add a Web Address meter with this address and the key path
data.0.intensity.forecast:Web addresshttps://api.carbonintensity.org.uk/intensity - Refresh every 15 minutes. Range 0 to 300, unit
g, alerts on High values at 150 and 250.
Multimeter settings
In Customize This Meter… (from the meter’s menu):
| Setting | Value |
|---|---|
| Source | Web Address |
| Web address | https://api.carbonintensity.org.uk/intensity |
| Key path | data.0.intensity.forecast |
| Refresh every | 15 minutes |
| Range | 0 to 300 |
| Unit | g |
| Alerts | High values: warning 150, critical 250 |
| Label | CO2 |
| Face | Plant, Gradient Track or Traffic Light |
Tested: Run on October 29, 2026: national 210 g; postcode RG10 305 g.
More on this source, including every format it reads, in the Web Address guide.
Limits
- Values are for half-hour periods.
actualis filled in after the period ends, soforecastis the one that always has a number.
Variations
Your region
Address https://api.carbonintensity.org.uk/regional/postcode/RG10 (your outward code), key path data.0.data.0.intensity.forecast.
Share of wind, solar or gas
Address https://api.carbonintensity.org.uk/generation; the key path data.generationmix.N.perc picks a fuel by its position in the list (check the order with curl).
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No number found in the response | The key path doesn’t match the reply. | Run curl -s with the address and read the JSON. Dots walk into objects, numbers pick array items (items.0.count). |
| Couldn’t reach the address | No network, a typo in the host, or the service is down. | Open the address in your browser. Multimeter tries again at the next refresh. |
| The server answered 400 | The postcode wasn’t recognized. | Use only the outward part, like RG10 or SW1A. |
Questions
Is there something like this outside the UK?
Electricity Maps covers most of the world with an API key in a header, which fits a Script meter.