UptimeRobot is one of the most popular uptime monitoring tools on the internet. It's free for 50 monitors, the setup is dead simple, and it works fine for what it was built to do: tell you when a URL stops responding. If you just need to know "is my marketing site up", UptimeRobot is a great answer.
But Next.js API monitoring is a different problem. A REST endpoint can be technically "up" — returning 200 OK — and still be completely broken. This post explains why external pings are only half the story, and how Nurbak Watch fills the gap.
What UptimeRobot Does
UptimeRobot is a synthetic monitoring tool. From a set of external probe servers, it sends an HTTP request to your URL on a schedule (every 5 minutes on the free plan, every 60 seconds on Pro). If the response code is in the 200-399 range, it marks the check as successful. If it isn't, you get an alert.
That's the entire model. It is intentionally simple and that simplicity is its strength.
- Setup: Add a URL, pick an interval, set alert contacts. Done.
- Cost: Free for 50 monitors at 5-minute intervals.
- Best for: Marketing sites, landing pages, simple APIs where 200 means healthy.
The Gap: A 200 Response Is Not Health
Here's the problem with treating Next.js API monitoring as "is the URL responding". Your /api/checkout handler does all of this:
- Reads the request body and validates it
- Checks the user's session in your database
- Reserves inventory in another table
- Calls the Stripe API to create a charge
- Writes an order record
- Returns 200 with the order ID
Now imagine the database connection pool is exhausted and step 2 takes 4 seconds instead of 50ms. Your endpoint still returns 200. UptimeRobot pings it, gets a 200, and reports green. Your users are waiting 4 seconds per request. Conversion is dropping. UptimeRobot has no idea.
Or imagine your Stripe API key got rotated and step 4 starts returning errors. Your handler catches them, logs them, and returns a 500 to the user — but UptimeRobot only pings once every 5 minutes on the free tier, so most failures slip through between probes.
External pings are necessary but not sufficient for API monitoring. You need to see what's happening inside the request.
What Nurbak Watch Adds
Nurbak Watch does what UptimeRobot does — external pings from 4 global regions (Virginia, São Paulo, Paris, Tokyo) — and adds internal execution monitoring via the Next.js instrumentation.ts hook.
That second layer lets Nurbak see things UptimeRobot can't:
- Real P50/P95/P99 latency per route from every actual request, not synthetic pings.
- 4xx and 5xx error rates per route in real time, not just whether the URL responded.
- Slow database queries that don't trigger an error but degrade performance.
- Cold start delays on serverless deployments.
- Per-route alerts with custom thresholds based on real traffic patterns.
Side-by-side Comparison
| Capability | UptimeRobot | Nurbak Watch |
|---|---|---|
| External pings | ✅ Yes (1 location free) | ✅ 4 regions always |
| Internal execution monitoring | ❌ No | ✅ instrumentation.ts |
| P50/P95/P99 per route | ❌ No (synthetic only) | ✅ Real requests |
| 4xx/5xx error rates per route | ❌ No | ✅ Yes |
| Detect slow DB query (200 OK) | ❌ No | ✅ Yes |
| Free tier | 50 monitors, 5-min | 3 endpoints, 5-min + internal |
| Entry plan | $8/mo Solo | $29/mo Pro |
| WhatsApp alerts | ❌ No | ✅ Pro plan |
| Setup time | 2 minutes | 5 minutes |
| Built for | Generic URLs | Next.js API routes |
When UptimeRobot Is Enough
If your monitoring needs are limited to "tell me when this URL stops responding", UptimeRobot is fine. It's free, it works, and you don't need anything else. Specifically:
- Marketing sites and landing pages
- Static pages or simple proxies
- You only care about "up vs down", not "fast vs slow"
- You don't have a Next.js application or production API workload
When You Need Nurbak Watch
- You're running Next.js API routes in production
- You need to know when latency degrades before it becomes downtime
- You want per-route P95 from real user traffic
- You've been bitten by a "200 OK but actually broken" incident
- You need WhatsApp alerts (LATAM and EU teams)
- You want one tool that does external + internal instead of stitching two together
The Bottom Line
UptimeRobot tells you when your URL stops responding. That's a useful signal — it's just not the whole picture for a Next.js application. Nurbak Watch does what UptimeRobot does, plus monitors from inside your server process. One less tool in your stack.
Try Nurbak Watch:Start free — 3 endpoints, no credit card, setup in 5 minutes.

