What you are setting up
HTTP checks on Supabase's REST (PostgREST) and Auth endpoints, a TCP check on the direct Postgres connection if your app uses it, RealUptime Errors in the application code that calls Supabase, and a status page.
Create the checks
Point checks at your own project's REST and Auth URLs, which is what actually breaks your app when Supabase (or your network path to it) has a problem:
export REALUPTIME_API_KEY=ru_live_...
# PostgREST responds 200 with an empty OpenAPI doc when it is healthy
realuptime checks create \
--name "Supabase REST" \
--url https://YOUR-PROJECT.supabase.co/rest/v1/ \
--interval 60 \
--regions iad,fra
realuptime checks create \
--name "Supabase Auth" \
--url https://YOUR-PROJECT.supabase.co/auth/v1/health \
--interval 60 \
--regions iad,fra
# Direct Postgres connection, if your app connects to it directly rather
# than only through PostgREST
realuptime checks create \
--name "Supabase Postgres" \
--url tcp://db.YOUR-PROJECT.supabase.co:5432 \
--interval 60 \
--regions iadA TCP check confirms the port accepts a connection; it does not run a query. See TCP checks for the TLS handshake and certificate-expiry options, and Checks & monitors for a JSON-path assertion on the REST response if a 200 status alone is not proof enough that the database behind it is actually reachable.
Connect RealUptime Errors
Wrap Supabase client calls in your own error handling and report failures (a failed query, a rejected auth call, a Row Level Security denial you did not expect) through the SDK, so they land as issues with a stack trace rather than a silently swallowed { error } object:
// wherever you initialize the Supabase client
import { init } from "@realuptime/errors";
init({
dsn: process.env.REALUPTIME_ERRORS_DSN,
});See Errors quickstarts for the adapter that matches your app's framework (Next.js, Node, and others).
Add a status page
Create a status page and add the REST, Auth, and (if used) Postgres checks as components. See Status pages for custom domains and subscriber notifications.
What RealUptime does and does not see
The checks see whether Supabase's REST and Auth endpoints respond, and whether the Postgres port accepts a connection, from the regions you chose. They do not see your schema, your data, your Row Level Security policies, or Supabase's own internal health metrics; for Supabase's own infrastructure status, its own status page is the source of truth. RealUptime Errors sees only exceptions your own code reports through the SDK, never the contents of a query or its result.