← Blog

Uptime monitoring for Netlify SaaS

Netlify ships static frontends and serverless functions behind a global CDN. Your browser can load the marketing site while the checkout function times out — and Netlify’s deploy UI will not tell customers which URL to watch during an incident.

Production monitoring needs a stable HTTPS health URL (often a Netlify Function) plus an external probe that runs on a schedule, not when you happen to refresh a tab. StillOnline checks that URL from the internet, hosts a status page, and alerts you through the StillOnline Telegram bot, Slack, or email.

Quick answer

Add a Netlify Function (or edge function) at /api/health returning HTTP 200. Register that production URL in StillOnline for five-minute external checks, an auto-generated public status page, and owner alerts via the StillOnline Telegram bot, Slack, or email. Free includes one project and one monitored URL — usually your API or function health, not the marketing homepage.

Netlify architecture and what to probe

Not every Netlify site needs the same probe. A brochure site might only matter if the homepage is down; a SaaS with Functions behind /api should monitor the path that proves the backend is alive.

Match the check to what paying users depend on. If the API lives on another host entirely, monitor that host first — StillOnline Free allows only one URL per project.

You run on NetlifyMonitor this
Static marketing site onlyMain site URL only if downtime blocks business
SPA + API via FunctionsFunction health URL (e.g. /.netlify/functions/health or /api/health)
Split frontend on Netlify, API elsewhereMonitor the API hostAPI-only guide

Step 1 — Netlify Function health example

Create a small function that returns JSON and 200 without calling slow dependencies unless you intentionally want DB truth in health.

export async function handler() {
  return {
    statusCode: 200,
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({ status: "ok", service: "my-saas" }),
  };
}

Deploy, then verify from outside Netlify:

curl -sS -o /dev/null -w "%{http_code}\n" https://your-site.netlify.app/api/health

Redirect chains on / are common on JAMstack sites — probe /api/health directly so StillOnline does not follow marketing redirects. Design notes: health endpoint design.

Step 2 — StillOnline check + status page

When curl succeeds on production, add the same URL to StillOnline so history and alerts stay aligned with integrator docs.

  1. StillOnline app → new project.
  2. HTTP check → production Netlify HTTPS URL, GET, expect 200.
  3. Share the status link in README, onboarding, or support macros — public status page guide.

Step 3 — Alerts

Netlify will not page you on function errors. Connect your Telegram to the official StillOnline bot in settingsTelegram setup. Free: one owner channel; Pro / Ultimate: email, Telegram, and Slack together. Team on Slack? Slack webhook guide.

Netlify-specific pitfalls

Preview deploys with passwords, slow cold functions, and mixed edge/Node runtimes are the usual surprises. Point StillOnline only at production URLs your customers use.

ProblemSolution
Deploy previews password-protectedMonitor production branch URL only
Function timeoutKeep health handler under 2 s
Edge vs Node runtimePick one runtime that can reach dependencies you ping

Similar JAMstack patterns on Vercel: Vercel guide.

Related guides

FAQ

Should StillOnline monitor the Netlify homepage or the API function?

Monitor the URL that defines product availability — usually the function or API health route, not the marketing / with redirects. If the API lives off Netlify, register that host instead — API-only checks.

Does StillOnline work with Netlify Identity or password-protected sites?

External probes need a public GET health path without auth. Put health on production branch URLs customers use; skip password-protected deploy previews.

Can StillOnline monitor Netlify static plus a separate backend?

Yes — register the backend health URL first. A second check for the Netlify site fits Pro (more URLs per project). Free allows one URL — usually the API health endpoint.

How can AI agents read StillOnline Netlify uptime without the dashboard?

On Pro, use StillOnline MCP or public JSON — REST public status. The hosted status page stays the human-facing link for customers.