If you run a production Next.js application, there's a good chance Sentry is already in your stack. It is the best-in-class error tracking tool, with great stack traces, source maps, session replay, and release tracking. Most teams installed it on day one and never looked back.
So when you land on nurbak.com and read "API monitoring from inside your Next.js app", the natural question is: do I need this if I already have Sentry?
The answer is yes — but probably not for the reasons you'd expect. Sentry and Nurbak Watch solve different problems. They are complementary, not competitors. This post explains exactly where Sentry stops, where Nurbak Watch starts, and why most production teams end up running both.
What Sentry Does Well
Sentry is an error tracking platform. Its job is to capture, group, and surface exceptions that happen in your code. When something throws, Sentry catches it, attaches a stack trace, source-mapped to your TypeScript, and tells you exactly what broke and where.
Where Sentry shines:
- Error grouping: Identical errors collapse into a single issue with occurrence counts and trends.
- Source maps: Stack traces map back to your original source code, not minified bundles.
- Release tracking: See which deploy introduced an error and which users are affected.
- Session replay: Watch a video of what the user did before the error occurred.
- Performance monitoring: Sample-based traces of slow transactions across services.
If your goal is "I want to know what broke and why", Sentry is the right answer. There is no replacement for it.
What Sentry Does Not Do
Sentry is reactive — it can only see what your code reports. If your code never runs because the server is down, Sentry has nothing to capture. If your endpoint silently returns 200 with bad data because of a slow database query, Sentry doesn't know there's a problem.
Specifically, Sentry does not give you:
- External uptime checks. Sentry has no way to ping your URL from outside your infrastructure. If your DNS is misconfigured, your CDN is down, or your server is unreachable, Sentry won't tell you.
- Multi-region availability. No global probe network checking your APIs from US-East, EU-West, São Paulo, and Tokyo every minute.
- Latency percentiles per route, all-the-time. Sentry's performance monitoring is sampled (typically 10% of requests). You see slow traces, not full P95 history per endpoint.
- WhatsApp or SMS alerts. Email and Slack only.
- Sub-10-second alerting on availability. Sentry alerts on error spikes, not on "your API has been returning 500s for 30 seconds".
This is the gap Nurbak Watch was built to fill.
What Nurbak Watch Does
Nurbak Watch is uptime + performance monitoring built for Next.js. It does two things in one tool:
- External uptime checks from 4 global regions every 60 seconds. Pings every API route from Virginia, São Paulo, Paris, and Tokyo and alerts when a route is slow, returning errors, or unreachable.
- Internal execution monitoring from inside your Next.js server via the
instrumentation.tshook. Captures real P50/P95/P99 latency and 4xx/5xx error rates from every request — not sampled.
The combination is the point. External pings tell you when your API is down from the user's perspective. Internal metrics tell you why it's slow before it goes down. No other tool combines both at this price point.
Side-by-side Comparison
| Capability | Sentry | Nurbak Watch |
|---|---|---|
| Error tracking + stack traces | ✅ Best in class | ❌ Out of scope |
| Source maps | ✅ Full support | ❌ Out of scope |
| Session replay | ✅ Yes | ❌ No |
| External uptime checks | ❌ Add-on, basic | ✅ 4 regions, every 60s |
| Internal API route latency | Sampled (~10%) | ✅ Every request |
| P50/P95/P99 per route | Partial (sampled) | ✅ All requests |
| WhatsApp / SMS alerts | ❌ No | ✅ Pro plan |
| Time to first alert (down) | Minutes (error spikes) | < 10 seconds |
| Setup time | 15 minutes | 5 minutes |
| Free tier | 5K errors/month | 3 endpoints, no expiry |
| Entry plan | $26/mo Team | $29/mo Pro |
Why You Probably Want Both
Imagine three failure modes for your Next.js app:
- Your code throws an exception. Sentry catches it, groups it, alerts you. ✅ Sentry wins.
- Your /api/checkout returns 200 but takes 8 seconds because of a slow Stripe webhook. Sentry won't alert because nothing threw. Nurbak Watch sees the latency spike and alerts you. ✅ Nurbak wins.
- Your Vercel deployment fails halfway and the app is unreachable. Sentry has nothing to capture. Nurbak Watch's external pings detect the outage from 4 regions in under 60 seconds. ✅ Nurbak wins.
Two of those three failure modes never reach Sentry. If your team only has Sentry, you'll find out about the second and third from angry support tickets the next morning.
How to Add Nurbak Watch to Your Sentry Setup
If you already have Sentry installed, adding Nurbak Watch takes 5 lines and 5 minutes. They don't conflict — they live in the same instrumentation.ts file.
// instrumentation.ts
import * as Sentry from '@sentry/nextjs'
import { initWatch } from '@nurbak/watch'
export function register() {
Sentry.init({
dsn: process.env.SENTRY_DSN,
})
initWatch({
apiKey: process.env.NURBAK_WATCH_KEY,
})
}That's it. Sentry keeps capturing errors. Nurbak Watch starts capturing latency and uptime. No agents, no YAML, no overlap.
The Bottom Line
Sentry catches errors. Nurbak Watch tells you when your API is alive — and when it's slow. They do different things. Use both.
Try Nurbak Watch alongside Sentry:Start free — 3 endpoints, no credit card, setup in 5 minutes.

