Show your website’s status and response time in your Mac menu bar

An uptime check you can see. The meter loads your page every minute and shows how long it took. If the site answers with an error or doesn’t answer at all, the value jumps to 9999, the meter says “down 503” (or whatever came back) and goes red.

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

Preview: the Sparkline 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).
  • The address of the page to check.

Set it up

  1. Try it in Terminal with your address in place of https://example.com:
    Command
    curl -s -o /dev/null -m 8 -w '%{http_code} %{time_total}' https://example.com | awk '{ if ($1 >= 200 && $1 < 400) printf "{\"value\": %d}\n", $2 * 1000; else printf "{\"value\": 9999, \"formatted\": \"down %s\"}\n", $1 }'
  2. Add a Script meter, paste the command and refresh every minute.
  3. Set the range to 0 to 2000 (milliseconds) and alerts to High values: warning at 1500, critical at 9999. Turn on Notify me when it goes critical.

Multimeter settings

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

Settings for this meter
SettingValue
SourceScript
Commandthe curl … | awk line above
Refresh every1 minute
Range0 to 2000
Unitms
AlertsHigh values: warning 1500, critical 9999, notify on critical
Labelyour site, like WEB
FaceSparkline, Traffic Light or Columns

Tested: Run on October 29, 2026: {"value": 387} for multimeterapp.com, down 404 for a missing page, and down 000 for a host that doesn’t exist.

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

  • The check runs from your Mac, so it also goes red when your own connection is down. Pair it with a ping meter to tell the two apart.
  • curl gives up after 8 seconds, inside Multimeter’s 10 second limit.

Variations

Just up or down

Prints 1 when the site answers with a 2xx or 3xx status and 0 otherwise. Use alerts on Low values with critical at 0.

Command
code=$(curl -s -o /dev/null -m 8 -w '%{http_code}' https://example.com); [ "$code" -ge 200 ] && [ "$code" -lt 400 ] && echo 1 || echo 0

Check that the page says what it should

Counts how often a word appears; 0 means the page broke even though it answered.

Command
curl -s -m 8 https://example.com | grep -c 'Add to cart'

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.
Always “down 000”curl couldn’t connect: DNS, a firewall, or a VPN that blocks the host.Run curl -v with the address in Terminal to see where it stops.

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 this replace an uptime monitoring service?

It covers the case where you are at your Mac. A service checks from many places around the clock and can wake you up. Many people run both and point this meter at the service’s status, like the Uptime Kuma recipe does.

Related

Put it in your menu bar

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