Updates
What's new in RealUptime
A dated history of what shipped across RealUptime: status pages, server monitoring, error tracking, and outage intelligence. We don't log every internal change here, only what you'd actually notice using the product.
DNS propagation, ping and TTFB from every region
Three new free tools check from every probe region at once and fill in a table as each answers: DNS propagation for a name and record type, ping as a TCP connect (not ICMP), and time to first byte. Each check gets a link you can share, which works for 30 days.
On-call schedule generator and error budget calculator
The new on-call schedule generator builds a daily or weekly rotation in any time zone, for up to 52 weeks, and exports it as an iCal file or a CSV. It runs in your browser and uses the same daylight saving rules as RealUptime's own rotations. The SLA calculator now also shows your error budget: what is left, the burn rate, the days until it runs out, and multiwindow burn-rate alert thresholds.
Postmortem template, and drafts from your incidents
A free postmortem template in Markdown, Confluence and Google Docs or Word form, with a filled example. On paid plans, each incident has Draft a postmortem, which fills the template from the incident's facts, acknowledgments and timeline and leaves the judgment sections for you.
Import from Cachet, Upptime, Gatus and Grafana OnCall
Bring your components over from a Cachet 2.x status page, and your monitors from an Upptime .upptimerc.yml or a Gatus config.yaml. Past incidents are not imported, so subscribers are never emailed about old outages. On Pro and Business, Grafana OnCall schedules and escalation chains come across as on-call rotations and escalation policies.
AI API error codes explained, with the live reading
New pages explain the error codes OpenAI, Anthropic and Gemini APIs return, such as 429 rate limits, Anthropic's 529 overloaded and Gemini's RESOURCE_EXHAUSTED: what each means, whose side it usually comes from, how to fix it and how to retry. Each page shows the latest reading of that provider's API from our checks.
New guides: Firebase errors, compliance and backups
Guides for tracking Firebase web app errors, where Crashlytics does not reach; for the incident reporting rules in NIS2, DORA and SOC 2 availability, quoted from the source texts; and for alerting when restic, Borg, Backrest or Proxmox backups fail or never run. Two help articles cover WordPress critical errors and showing a status banner in Zendesk or Intercom.
Import from Opsgenie and Uptime Kuma
Moving off Opsgenie before it shuts down on April 5, 2027: the importer brings over heartbeats as heartbeat monitors on every plan, and schedules as on-call rotations and escalation policies on Pro and Business. Moving off Uptime Kuma: import a 1.x backup file or a 2.x /metrics export, and HTTP, keyword, port, DNS and push monitors come across.
Heartbeat recipes for scheduled jobs
New guides show how to catch a scheduled job that never ran: GitHub Actions schedules, Vercel cron jobs, Kubernetes CronJobs, Supabase pg_cron and the Laravel scheduler, each with the heartbeat step to add.
Is it down? now checks from every region
The free is-it-down tool checks a URL once from every probe region and fills in a table as each answers: status, response time, TLS time and the address it reached. Each check gets a link you can share, which works for 30 days.
Errors drops harmless browser noise by default
Errors now drops five kinds of browser error that are almost never a bug in your code: the ResizeObserver loop warning, a bare "Script error.", non-Error promise rejections, chunk load failures, and errors whose stack is only browser extension code. Dropped events never count against your quota, and the issue list shows how many were dropped. Each project can turn the filter off. A help page for each error explains what it means.
Status pages can show your Uptime Kuma monitors
If you run Uptime Kuma, connect its public status page and its monitors appear as components on your RealUptime Status page, labelled as reported by Uptime Kuma. Kuma keeps checking; your page adds subscribers, incident history and, on paid plans, your own domain.
SSL checker shows certificate lifetime, and a health endpoint tester
The SSL checker now shows a certificate's total lifetime and which of the shrinking maximums it would break: 200 days from March 15, 2026, 100 from March 15, 2027 and 47 from March 15, 2029. A new guide covers those dates. The new health endpoint tester calls an endpoint once and grades its status code, speed, body and caching.
Outage page titles carry the latest reading
An outage service page's title now gives the answer and when it was read, for example "Is GitHub down? Checks passing, Nov 2, 06:18 UTC", so a search result shows the reading before the click. The time is a fixed date, never "5 minutes ago", so a cached title stays true.
One feed for your whole stack
A stack on /outages/stack now has its own RSS and Atom feed that merges every service's incidents, and an OPML file listing each service's feed. The stack page shows the line to subscribe a Slack channel to it.
Research: how late status pages post
A new research page compares, for each service, when our checks first failed from two or more regions with when the vendor's status page posted the incident, using only incidents where both records exist. It gives the median gap per service, the 50 most recent pairs, the method, and a CSV.
Each country outage page has its own 30 days
Country pages on the outage tracker, such as Roblox in Singapore, now show the service's last 30 days as measured from that country's probe: average and slowest response time, how its city ranks against the others, daily availability for the last 14 days, the hour of the local day it answers slowest, and the outages measured there. A country page with less than a week of its own readings says so and stays out of search.
A failure from one region no longer opens a major outage
When only some of a monitor's regions fail, the incident now opens as a partial outage in that region, for example "API: partial outage in Canada", instead of a major outage. A bug since late September made every one-region failure read as a major outage. Past incidents on status pages have been corrected to the same wording.
New plan names: Pro and Business
Growth is now Pro and Scale is now Business. Every product uses the same ladder, Free, Starter, Pro and Business, so a plan name means the same step wherever you see it. What each plan includes is unchanged, and existing subscriptions carry over as they are.
Starter: your status page on your own domain for $9
The new Starter plan is everything in Free plus your status page on your own domain, room for 15 monitors and checks as often as every minute, for $9 a month or $90 a year. The first 20 paying customers get 50% off their plan for as long as they keep it, applied at checkout with no code.
New Free plans: 10 monitors and 3-minute checks
Free accounts created from today include 10 monitors checked as often as every 3 minutes, from the same four regions, with no card required. Free accounts created before today keep 10 monitors and 1-minute checks for as long as they stay on Free.
Connect Slack alerts in one click, and test every alert channel
Alert channels now has a Connect Slack button: approve the app in Slack, pick a channel, and alerts post there. Pasting an incoming webhook URL still works. Slack, PagerDuty and webhook channels each have a Send test button that shows at once whether the test arrived. The PagerDuty test resolves its own event, so no incident is left open. The Slack commands app on Integrations now links to Slack alerts, and the email toggles on your account sit together under Email preferences. Links to the docs and help center from dashboard pages no longer land on a not-found page.
The Trust page and data agreement describe recovery as it now works
We no longer run a standby copy of the application at a second hosting provider, and nothing switches DNS to one automatically. Recovery from a hosting outage is now manual: an operator follows a written runbook to promote the database replica or restore the encrypted offsite backup. Backups are still encrypted before they leave the server and kept offsite at a different vendor, and the restore drill still runs every month. The Trust page and the data processing agreement (version 1.9) now say this. The sub-processor list no longer includes the second hosting provider. Its server is being shut down, and its copies of the data are being deleted.
Outage tracker probes no longer publish fixed addresses
The outage tracker's probes now run from ordinary outbound addresses in every region, so we no longer publish an IP list to allowlist. If you allowlisted the four addresses we listed for US-East, US-West, Europe and Asia-Pacific, remove them: they will stop being ours. To recognise our probe, match its User-Agent, realuptime-outage-checker/1.0. The methodology page and /api/v1/probe-ips now say this.
A monitor goes down only after it has failed for 3 minutes
A region now has to fail continuously for 3 minutes, with every check since its first failure failing, before it is marked down. Only then does an incident open and do emails, Slack, PagerDuty and webhooks fire. Brief network failures between a probe region and your service almost always clear within a minute, so they no longer produce an incident or an alert. One successful check still recovers a region at once, and a check on a 60 second interval is reported down about 3 minutes after a real outage starts.
The no-questions refund window is now 30 days
Your first payment on a plan can now be refunded within 30 days of the charge, up from 14, for any reason and with no reproduction steps asked. On an annual plan it still covers up to that plan's monthly price. The terms, the FAQ and the pricing cards all carry the new window.
Clearer home, pricing and About pages
The home page shows a real status page and lists all twelve alert channels. Every paid plan on the pricing page shows the 30 day refund window, and the FAQ answers what happens to your status page if we shut down. The About page and a new author page show who writes and checks our articles, and the Products menu and footer link the agency, integrations, recipes and Updates pages.
Layout fixes across the site and dashboard
Spacing, alignment and overflow were fixed across the public site and the signed-in dashboard, with a pass at phone width. Region chips, code samples and comparison tables no longer run past the edge of the screen. Form fields and header buttons are easier to tap.
A monthly record of vendor incidents, and a cite line on outage pages
The outage tracker has a monthly summary at /outages/monthly: for each tracked service, the incidents the vendor declared on its own status page that month. Every figure is the vendor's own record. Each outage service page also carries a ready-to-paste cite line and links to the free tools under its badge. Outage page titles and descriptions now differ by country and by incident.
The outage tracker reads vendor incident feeds for about 40 more services
The free outage tracker now reads the official status feeds of about 40 more services, including Slack, AWS, Azure, Google Cloud, Firebase, Zendesk, PayPal, Intercom, LinkedIn, Auth0 and Okta. Their pages lead with the incident the vendor reports, and followers are emailed when the vendor opens and resolves one. Stale incidents left open by a few vendors were settled, and incidents a vendor backdated now show their real start.
Close an error from the API, your AI assistant or the command line
An Errors issue can now be marked resolved or ignored, and reopened, through the REST API, the MCP server and the command-line tool, not only in the dashboard. A resolved issue reopens on its own if the same error comes back.
Each outage page says what its check can and cannot see
Service pages on the free outage tracker now carry a short block, What our check can and cannot see. It names which of nine kinds of check we run for that service. It says in two sentences what a pass shows and what it does not. A public page loading, for example, does not show that the product behind it works. An API answering with a sign-in refusal does not show that sign-in works. The block names the host we check. The same sentences are in the methodology, in the Spanish, Portuguese and German pages, and in the API and MCP answers as check_evidence. A service whose check we have not classified shows no block.
The outage tracker leads with what the vendor reports
For a service whose status page we can read, its page on the free outage tracker now leads with the incident the vendor itself reports. Our check reading sits beside it as a regional reading. Alerts for those services are sent when the vendor reports an incident of minor, major or critical impact, and again when it reports it resolved. A service with no status feed we can read keeps the earlier rule: our checks of it must fail from two or more distant regions. Where we read a vendor's feed, the history shows the vendor's incidents, and the reliability record and SLA calculator built on our own checks are not shown.
The outage tracker says only what our checks support
The free outage tracker now opens an outage from our own checks only under two conditions. Two or more distant regions must fail at the same time. None of our probe regions may be having trouble of its own. A failure that nothing independent supports after six hours is shown as unconfirmed on that service's own page and is left out of every list, count, badge and alert. Pages, alerts and reports now say checks failing and checks passing, and say that the reading is ours from outside, not the service's official status.
Billing tells you what happened
Coming back from checkout, the billing page now says the payment was received and switches to the new plan on its own. If a payment fails, the account owner gets one email about it with a link that signs them in and opens the billing page.
The API and the MCP server on every plan
The REST API and the MCP server are now available on every plan, Free included. Plan limits apply exactly as they do in the dashboard, and Free accounts share a budget of 60 requests per minute across all keys.
One alert when several checks fail together, and no more flapping
When three or more of your checks go down within 90 seconds, you get one alert that lists them instead of one for each, and one when they recover. A check that goes down and recovers three times in 24 hours is held down on its next failure until it has stayed up for a clean stretch. Every channel then sees one outage instead of a stream of them. A recovery seen from several regions at once sends one recovery email.
Failed checks say why
A failed check now records a readable reason. A timeout states how long the check waited, and connection and TLS failures say what failed.
Status pages: component groups and more upstream providers
Under Status page settings, Component groups lets you add a heading and put any component under it. Provider components now cover Fly.io, OVHcloud and Resend as well as Cloudflare and Vercel, and you can hide the provider's name on your page.
The demo opens on a status page with every region's reading
The public demo now opens on a real status page built from example data, with one component down in one region. You can see how a regional problem reads before you sign up.
Signup catches a mistyped email address
The signup form offers a correction when an address looks mistyped, such as gmail.con. If a wrong address got through anyway, the waiting screen has "Wrong address? Change it", which moves the account to the right address and sends a new link.
Delete your account with an emailed link
Deleting an account no longer asks for a password, which accounts created by email link or a sign-in provider do not have. Asking sends a single-use link, good for one hour, to the owner's verified address, and the page it opens is the final confirmation.
Connected apps say what they can do, and revoking one ends its access
When you connect an AI assistant or another app to your account, the consent screen now says in plain words whether the connection is read-only or can change data. Revoking a connected app ends the whole connection at once, and a connection also ends when the person who approved it leaves the account.
Heartbeat monitors time the job, not only hear from it
A heartbeat monitor now accepts a start ping and a fail ping beside the success ping. With them you see how long each run took. You are alerted the moment a job reports a failure. You can also set a maximum runtime so a stuck run takes the monitor down. A job that fails and recovers three times in 24 hours is held down on the next failure instead of alerting on every run. A monitor that only sends the plain ping works as before.
Planned maintenance without a fake outage
A maintenance window on a status page can be marked "Planned work: no incident, no downtime". Covered components show Under maintenance, no incident opens, nothing is sent to subscribers, and the window's time is left out of uptime. A server can also be put into planned maintenance from its own page in the dashboard, which holds its offline and health alerts until the window ends.
Tell your story
Account settings has a new page, Your story, where you can write what RealUptime did for you. You then choose, box by box, whether we may publish the quote, show your name and company, and use your logo. Nothing is published before we have reviewed it, and withdrawing a story takes it down at once.
Status pages use the standard layout
Public status pages, ours and every customer's, now follow the standard hosted status page layout. A slim header carries your logo, Subscribe and the theme toggle. Below it come current status, components with their uptime history, and incidents, in the order readers already know how to scan.
Postmortems stay readable on the incident's own page
An incident's page on a status page now shows its published postmortem, even after the incident has aged out of the page's recent history. Incidents on components you manage by hand now set that component's state while they are open and restore it when they resolve, and postmortems work on those incidents too.
API and MCP usage on the API keys page
The API keys page now shows how each key is used: the last 30 days of calls per key, split between the REST API and the MCP server. You can see which integrations are active and which keys are idle.
Add your first check from the dashboard home
A new account's dashboard home now has an address field and a Start checking button, so the first check is created in place. The form accepts a bare domain like example.com, says plainly why an address was refused, and fits a phone screen.
Incident impact levels and incident-based uptime
Status page incidents carry three impact levels (degraded performance, partial outage and major outage), and component uptime is computed from incidents at those levels. Auto-detected blips shorter than five minutes that nobody wrote anything about no longer clutter the public history.
Upstream providers as status page components
A status page can carry a row for the specific piece of Cloudflare or Vercel your service depends on, read from the provider's own status. Readers see an upstream problem next to your own components.
One alert per outage, not one per region
When a check goes down in several regions, you now get one email and one Slack message when the outage opens, and one when every region has recovered. You no longer get a message for each region. Regions that join an open outage are recorded on the incident timeline.
Sign up with just your email
Signup is one field. We email a link that verifies your address and signs you in, with no password to choose.
API keys can expire, and tell you what they are doing
A new API key can be given an expiry date, with reminders 7 days and 1 day before and on the day it stops working. Key owners are also told when a key has gone unused for 90 days. They are told again the first time a key is used from a new network when no IP allowlist is set. Keys without an expiry keep working as before.
Connect RealUptime to ChatGPT and Claude
The MCP server now has its own OAuth sign-in. AI assistants with MCP connectors, including ChatGPT and Claude, connect to your account through a consent screen instead of a pasted API key. Every tool is labelled as read-only or as one that changes data.
One incident per outage, with every affected region
When several regions report the same check down, the status page opens one incident for the outage and lists the regions it affects, instead of one incident per region.
Webhook signatures with replay protection
Outbound webhooks carry a second, timestamped signature header and receivers can reject anything more than five minutes old. The original signature header stays for 90 days so existing integrations keep working, and delivery failures to your endpoint are now visible.
Domain expiry checks for more domains
Domain expiry monitoring now asks each domain's own registry, found through the IANA registry directory, and falls back when one does not answer. Checks that could not read an expiry date before now read it, and a lookup that keeps failing is shown instead of silently retried.
Recoveries close PagerDuty, Opsgenie and incident.io alerts during maintenance
A maintenance window silences new alerts. A recovery now still resolves an alert that was already open in PagerDuty, Opsgenie or incident.io, so nobody is left paged for something that came back.
Is it down in the UK? Answered by a probe in the UK
Outage pages now have per-country editions, such as /outages/github/in/uk, for the eight countries where we run a probe. Each answers with the reading our machine in that country actually took, not user reports.
Errors: alert rules you compose
Errors alerts are no longer four fixed moments. Build a rule from a trigger, an environment, and filters such as level, issue age, assignee, tag, occurrence count, regression or release. Combine the filters with AND or OR. Throttle how often each rule fires.
Errors: resolve, archive and assign from Slack, Discord and Teams
Error alerts in Slack, Discord and Microsoft Teams now have buttons to resolve, archive or assign the issue from the chat message itself. A one-time link between your chat account and your RealUptime account sets this up.
Errors: two-way sync with GitHub, Jira and Linear
Linked tickets now stay in step in both directions. Resolving, archiving or assigning an error issue updates the GitHub, Jira or Linear ticket, and closing or reopening the ticket updates the issue.
Every account includes all four products
Every new account starts with the free tier of Status, Monitor, Errors and Outages, whichever one you signed up through. Upgrade each product on its own when you need higher limits, or take the bundle.
Maintenance windows through the API
Schedule, end early and read maintenance windows with the v1 API. Every window created through the API has a hard end time, so a forgotten window never silences alerts indefinitely.
All ten probe regions on outage and status pages
Outage and status pages now show readings from all ten regions our probes run in, where they previously named only four.
A 14-day no-questions refund
Your first payment on a plan can be refunded within 14 days of the charge, for any reason, no reproduction steps asked. After that window the verifiable-issue path still applies. The terms and FAQ both carry the new policy.
The outage board now tracks more than 900 services
The free outage tracker grew from around 600 to more than 900 services, each probed from our own fleet with the same never-falsified reading rules. Many existing entries were also upgraded from homepage checks to real API endpoints, so a reading says an API answered, not that the service works for you.
Degraded gets its own place on the outage board
The outage board now sorts services three ways: reporting problems now, degraded, and everything else. Degraded is computed from each service's own latency baseline on a rolling window, so a service running well below its normal speed is visible before it fails outright.
Reliability leaderboards by category
New public leaderboard pages rank the services we track by measured reliability within a category, from our own probe data. Factual rankings only, recomputed from the same readings the outage pages show.
Vendor head-to-head comparison pages
Compare two tracked vendors side by side on measured reliability: /outages/compare pages put both services' probe history, incident counts, and current state on one page.
Outage pages in Spanish, Portuguese, and German
The public outage pages now ship localized editions with proper hreflang wiring, so a reader landing from a non-English search gets the reading in their language.
Web push notifications
Browser push is now a notification channel: alerts for your own monitors, and a subscribe option on public status pages, with no app install. Standard VAPID web push, working wherever your browser does.
An optional morning digest of your stack
One optional daily email: your monitors, your watched vendors, your error volume, and anything that happened overnight. Off by default, on with one toggle in account settings, unsubscribable from every email.
Onboarding emails that stop when you finish onboarding
A short lifecycle email sequence driven by what your account has actually done, not a calendar: a monitor with no notification channel gets a nudge, a finished setup gets nothing. Every email has a working unsubscribe.
A monitoring config advisor in the dashboard
A quiet dashboard panel flags weak configurations: a check with no assertions, a single-region monitor, a monitor with no notification channel, a heartbeat with an untuned grace window. Each nudge resolves in one click, and a clean config shows nothing.
One-click check recipes
A catalog of prefilled monitor configurations. Pick a recipe like a Stripe webhook endpoint, a Supabase Postgres, or a nightly backup heartbeat. You land in the add-check form with the right type, assertions, and interval already set.
Monitor overage forecasts before the invoice
If an account is trending toward monitor overage, the dashboard and a notice email say so before the invoice does. The notice includes the exact math and a link to manage monitors or change plan.
Errors: see how many users an issue actually hit
Issues in RealUptime Errors now carry an affected-user count alongside the event count. The issue list can sort by impact. A noisy issue that hit one user stops outranking a quiet one that hit hundreds.
Generated postmortem drafts
A closed incident can generate a postmortem draft from the data RealUptime already holds: the timeline, the regions, the checks involved, and the alerts that went out. The draft is a starting point you edit, never something published on its own.
Terraform export for existing monitors
The CLI can export your existing monitors as Terraform configuration, so a dashboard-built setup can move into code without retyping it.
An accessibility statement, and the fixes to back it
A WCAG AA pass over the status pages and dashboard landed alongside a public /accessibility statement that says plainly what conforms and what does not yet. Modal focus traps, escape-to-close, and labeling fixes shipped with it.
A read-only demo dashboard
You can now open a read-only demo dashboard with realistic data from the homepage, no signup, to see what monitoring looks like here before creating an account.
Ask Slack or Discord if a service is down
A free /isdown command for Slack and Discord answers with the same check reading as the public outage pages: verdict, per-region lines, freshness, and a link. Ambiguous names come back as a question, never a guess.
Status page visitors can subscribe their Slack workspace
A visitor to your public status page can now connect their own Slack workspace and pick a channel for incident updates, next to the existing email subscribe. Each destination gets its own unsubscribe link.
A free weekly vendor weather email
Pick vendors from the outage catalog and get a weekly summary of their measured week: incidents, degraded stretches, and quiet weeks stated as quiet. Free, no account needed, unsubscribable from every email.
Per-vendor latency charts on outage pages
Every tracked service's page now charts response times from each probe region, so a slow-but-up service is visible as exactly that.
Import your monitors by API or CSV
The monitor importer gained a direct API path for another major monitoring tool and a generic CSV path for everything else. New migration landing pages walk status-page switchers through bringing their subscribers along.
A public trust center
One page at /trust with the security posture, data handling, retention, subprocessors, and backup and failover practices, stated plainly, including what certifications we do not yet hold.
A status page grader
Paste any status page URL into the free grader and get a report card on regional visibility, incident history depth, and update cadence, from deterministic rules. For vendors we already track, it adds a claimed-versus-observed comparison against our own probe data.
A cost calculator for metered status page pricing
Enter your subscriber and check counts and see what per-subscriber metered pricing would cost against our flat rate, from public pricing pages, with the numbers dated.
Server agent: GPU, PostgreSQL, Redis, and MySQL metrics
The server agent now reads GPU utilization and memory alongside the PostgreSQL, Redis, and MySQL integrations, so a database host or a GPU box reports what actually matters about it.
Check your monitors from a GitHub Actions workflow
The RealUptime check-status action is listed on the GitHub Actions Marketplace. Add "uses: RealUptimeHQ/check-status-action@v1" to a workflow, hand it an API key and the monitor ids you care about, and the step fails when any of them is down or degraded. Which statuses count as a failure is yours to set. Needs a Growth or Scale API key.
Two-factor authentication
Add a time-based code from an authenticator app to your sign-in, under Account settings, Security. An account owner can also require a second factor from everyone on the account, so no member reaches the dashboard without one.
New accounts confirm their email before reaching the dashboard
The verification link has been sent since August 5, but the dashboard opened whether or not you clicked it. Now it waits until you do, and the holding page will send the link again if it did not arrive.
Passwords are checked against known breaches
Signing up, resetting a password, accepting an invite, and changing your password in account settings all check the password you picked against the Have I Been Pwned corpus. A password that has already leaked is refused. Only the first five characters of its hash ever leave RealUptime, so the password itself is never sent anywhere.
Browser checks
Write a short scripted journey through your site, sign in, search, add to cart, and run it against a real Chromium browser from our fleet on a schedule. A failed step fails the check, and every run keeps a screenshot and a trace so you can see where it stopped. Scale and MSP plans.
Ping monitors, for a host that is not a service
Ask whether a host is alive at all and how long it takes to answer, measured over four round trips as loss and response time. Our probe hosts cannot send raw ICMP. A ping monitor therefore establishes reachability by opening a connection on 443, 80, or 22. Every result records which transport it used rather than claiming a ping it never sent.
Publish a status page in your customers' language
A status page's own wording can be published in English, Spanish, German, French, Brazilian Portuguese, or Japanese, chosen per page. The wording covers the headings, the status words, the subscribe form, and the dates. Your component names and your incident text are printed exactly as you wrote them.
Status page subscribers can use a webhook or Slack
Alongside email, a status page's audience can subscribe with a webhook endpoint or a Slack incoming webhook. Each is verified before it receives anything. Each counts as one subscriber against your allowance. Growth and Scale plans.
Point an existing Sentry SDK at RealUptime Errors
RealUptime Errors now accepts what the Sentry SDKs send, on both their envelope and store endpoints. If you already have one installed, change the DSN and your events arrive here, with no library to swap and no code to rewrite.
Releases from Vercel, alerts to incident.io and FireHydrant
A Vercel deploy hook can announce your releases to RealUptime Errors. An issue can then say which deploy it first appeared in. incident.io and FireHydrant joined the destinations an alert can be sent to.
Open a ticket in Bitbucket or Azure DevOps
Both joined GitHub, GitLab, Jira, and Linear as places you can create an issue from an error or an incident without leaving RealUptime.
A year now costs exactly ten months
Every annual price, on every product, is exactly ten times its monthly price. Annual prices used to be rounded to end in .99, which quietly made the discount a slightly different size on each plan.
Your dashboards moved to dashboard.realuptime.io
Signing in now lands you on dashboard.realuptime.io, with Status, Monitor, Errors, and account settings all under it. Public status pages, custom domains, the documentation site, and the marketing pages are unaffected and keep the addresses they already had.
RealUptime Monitor's free tier watches 5 servers
Up from 3, still with 14 days of history and still with no card required.
Ask for a plain-English summary of an error
RealUptime Errors can summarize an issue's stack trace and context in a couple of sentences. It is off by default and never runs on its own: you ask for it, on the issue in front of you.
The MSP plan, for agencies running status pages for clients
$199 a month or $1,990 a year on the account that runs your organization. Each client keeps its own account, status pages, branding, and custom domain. Each client gets everything in Scale without paying for a plan of its own. 450 monitors and unlimited team members are pooled across the organization. Unlimited status pages, 10,000 subscribers, 30-second checks, and 90 days of public history are per client. Every time one of your managers opens a client account, it is written to that client's own audit log.
Manage RealUptime with Terraform
A Terraform provider covering monitors, status pages, components, and notification channels, so what you monitor can live in the same repository as what it watches. It is source available rather than published: you build the provider and point Terraform at your build with a dev_overrides block. The docs say so plainly, instead of handing you a source address with nothing behind it.
A command line tool, and monitoring as code
Install the RealUptime CLI from npm or Homebrew. It reads a declarative file describing your monitors. It runs plan, apply, and export against your account. Adding a monitor can then be a reviewed pull request rather than a form somebody filled in once.
Monitors: pause, tag, filter, bulk actions, and export
Pause a monitor while you work on the thing it watches, instead of deleting it and rebuilding it afterwards. Tag monitors and filter the list by tag. Select several and pause, resume, or delete them together. Export the whole list as CSV or JSON.
Recurring maintenance, quiet hours, and agreement before alerting
A maintenance window can repeat on a schedule instead of being entered by hand every time. Quiet hours hold back notices, recoveries and digests while your local clock is inside the window. They never hold back a page. An outage at 3am still wakes you, which is the only way the setting is safe to turn on. And an alert rule can require more than one region to independently confirm a failure before anyone is told.
Wallboard mode for an office screen
A full-screen, self-refreshing view of your monitors, with a share link that needs no sign-in and can be revoked at any time.
RealUptime Monitor sees more than CPU and disk
The agent now reports network throughput, processes, containers, and system services on Linux, macOS, and Windows. It alerts on any of them once your threshold has held for as long as you say, rather than on one noisy sample. Installers per operating system, and a Kubernetes DaemonSet.
Status pages: subscriber management, visitor counts, and a maintenance calendar
See and manage a page's subscribers from the dashboard, removal included. Page views and subscriber totals are reported without collecting anything that identifies a visitor. And scheduled maintenance is published as an iCal feed your customers can subscribe to in their own calendar.
Send status page email from your own domain
Verify a sending domain and your subscribers hear from you rather than from RealUptime. If the domain stops verifying, the page says so and falls back to our sender, instead of quietly failing to send.
Mirror a vendor you depend on onto your status page
Add a component that reflects a third party your service needs, drawn from RealUptime's own probes of that vendor rather than from the vendor's claim about itself.
Public, private, and internal status pages
A page now declares who it is for. Public is what it has always been. Private is readable with the shared password that shipped on August 16. Internal is readable only by someone signed in to your account, and carries no marketing footer, because nobody finds an internal status page from a marketing form.
Sign in with a passkey
Register a passkey and use Face ID, Touch ID, Windows Hello, or a hardware key instead of typing a password. Managed under Account settings, Security, alongside your other sign-in methods.
Lock an API key to your own addresses
Each API key can carry an allowlist of IP addresses or CIDR ranges. A request from anywhere else is refused even when the key itself is correct.
Error tracking SDKs for five languages
JavaScript and TypeScript, Python, Ruby, PHP and Laravel, and Go, each with adapters for the usual frameworks and each scrubbing sensitive values before anything leaves your process. Published on npm, PyPI, RubyGems, Packagist, and as a Go module.
Readable stack traces from minified code
Upload your build's source maps, with a CLI command or the Vite and webpack plugins, and a minified frame resolves to the line you actually wrote. When a release carries its repository and commit, each frame links straight to that line on GitHub or GitLab.
Errors: ownership rules, saved searches, and a question for the person who hit it
Route a new issue automatically to whoever owns the code that raised it. Save a search you run often. And attach an optional dialog that asks the person who hit an error what they were doing, scrubbed the same way everything else is.
Put a ceiling on an Errors project, and alert on a number
Set a per-project event ceiling so one runaway loop cannot eat a whole month's allowance, with the drops shown to you rather than silently discarded. Alerts can also fire on an absolute event count now, not only on a spike relative to normal.
Open a ticket from an error or an incident
Create a GitHub, GitLab, Jira, or Linear issue from an Errors issue or an incident, linked in both directions. There is also an inbound webhook, so another system can open an incident here.
Install RealUptime as an app
The dashboard installs to a desktop or a phone home screen. It carries an offline shell, so it opens and tells you it cannot reach us rather than showing a browser error page.
A Data Processing Agreement you can sign yourself
GDPR Article 28 terms at /dpa, ready to read and countersign without emailing anybody first.
A security contact, and a disclosure policy
A published security.txt and a vulnerability disclosure page, so somebody who finds a problem has an address to send it to and knows what to expect back.
Outages: your whole stack on one page
Pick the services you depend on and get a single public page covering all of them, with its own address you can bookmark or share. Free, and no account needed.
Internet weather
A public, continuously measured record of round-trip latency from each of our four regions, so "the internet is slow today" is something you can check rather than assume.
Outages says when one provider took several services down
When several services fail together because they share a cloud, a region, or a CDN, the outage pages now say so. They no longer report one event several times over as unrelated incidents.
Discounts for startups, nonprofits, and open source, and credit for a referral
Apply at /programs for 50% off Growth for 12 months. Separately, every account has a referral code: when somebody who signed up with yours pays their first invoice, both accounts get $20 of credit toward the next one.
RealUptime Errors: application error tracking
The third product. Exceptions from your code are grouped into issues, each with its stack trace, the breadcrumbs that led to it, and the release it arrived in. You are told when a new issue appears or an old one spikes. Free is 10,000 events a month with 14 days of retention. Growth is $23.99 a month for 100,000 events and 90 days. Scale is $58.99 for 750,000 events and 180 days.
Pay for events past your Errors plan, only if you choose to
Turn on overage and events past your monthly allowance cost $0.50 per 1,000, up to a monthly budget you set yourself. Leave it off, which is how it ships, and events past the allowance are dropped rather than billed.
Alerts to Discord, Microsoft Teams, Opsgenie, and anywhere that takes JSON
Four more places an alert can go, kept in one list with a test send per destination, so you find out it works before an outage does. The generic JSON destination is what to point at Zapier, or at anything else that accepts a webhook.
A record of everything that changed on your account
Account settings has an audit log: who changed what, and when, across monitors, status pages, billing, API keys, team members, and notification settings. It is append-only, with no way to edit or delete a line from inside the product.
Build a multistep check without the API
Multistep journeys, a sequence of requests where each step can use what the last one returned, can now be created and edited from the dashboard.
SMTP checks and JSON-path assertions
Check that a mail server accepts a connection and announces itself properly, and assert on one field inside a JSON response instead of matching against the whole body.
30-second checks on Scale
Scale and MSP accounts can run a monitor every 30 seconds. Free and Growth stay at one minute. A check already running faster than your plan's floor keeps running after a downgrade; you simply cannot save a new one below it.
Incident templates and postmortems
Write the wording once for the incident you keep having, and publish a postmortem attached to a resolved incident. Both are deliberate publishes, and telling subscribers is a separate decision each time. On every plan, free included.
Import a subscriber list
Upload a CSV of subscribers to a status page, after confirming they opted in wherever you are moving from. Every imported address still gets its own confirmation email before it receives anything, and one that never confirms is deleted after 30 days.
Status page themes and fonts
Pick a theme preset and a font for a public status page, rather than only an accent color.
Atom and RSS feeds
Every status page, every Outages service page, and this changelog now publish Atom and RSS, so a feed reader can follow any of them.
On-call rotations
Build a rotation and point an escalation step at it, so an alert goes to whoever is actually on call at the time instead of to one fixed person.
An OpenAPI description of the REST API
The API publishes an OpenAPI 3.1 document generated from the same schema the server validates requests against. A client generated from it cannot drift away from what the server really accepts.
Errors: triage a list, not one issue at a time
Assign an issue, snooze it, archive it, merge duplicates into one, act on several at once, and leave comments for whoever picks it up next.
Outages: follow a service without an account, embed a badge, price an SLA
Subscribe by email to any service in the outage catalog with no account at all. Embed a live badge for one on your own page. And work out what a month of measured downtime is worth against a 99.9% commitment.
Free MCP tools for outage data
An AI assistant that speaks the Model Context Protocol can read the outage catalog, current verdicts, and event history with no account and no key. The public status-page tools that shipped earlier in the month sit alongside them.
Unlimited status pages on Growth and Scale
Growth and Scale plans can now create as many status pages as they need, with no per-plan cap. Free stays at its guaranteed one. Give each product, brand, or audience its own page, each with its own branding, custom domain, and subscriber list.
Free plan raised to 10 monitors
The free plan now includes 10 monitors, up from 5. Everything else about the free plan is unchanged: four regions, checks as often as once a minute, and no card required to start.
Monitor overage rate and free-tier changes for RealUptime Monitor
The per-extra-monitor overage rate on paid Status plans is $0.50 per month, down from $2. A ceiling on how many extra monitors can be billed scales with your plan's own allowance. RealUptime Monitor's free tier now includes 3 servers (up from 2) and keeps 14 days of history (up from 7).
Watch the vendors you depend on
Paid RealUptime Monitor plans can pick services out of the Outages catalog, 10 on Growth and 50 on Scale. You are alerted through your own channels when our checks of one fail from two or more distant regions, and again when they pass. The alert comes from our own checks, not from the vendor's status page.
Every refusal has a code you can look up
When the product declines to do something, it now says why with an RU-XXXX code. Every code has a page in the knowledge base explaining what it means and what to do about it.
RealUptime Outages: a free public record of what is down
Outage pages for close to 200 services. Each page has check readings, reports from visitors as a second signal, a durable event history, and a scorecard comparing vendor incident posts with our probe events. Free, with no account needed.
RealUptime Complete: a discount for using more than one product
15% off when one account pays for any two of Status, Monitor, and Errors, and 20% off all three. Applied to your subscription automatically, with no code to remember.
Guided setup for every product
A first run now walks you to your first monitor, status page, or error project, instead of handing you an empty dashboard and a nav bar.
Browse a status page's whole history by calendar
Public status pages keep a full archive past the 90-day bar, navigated by month, so a customer can look up one specific day.
RealUptime Monitor: server monitoring, as its own product
The second product. An agent on your servers reports CPU, memory, disk, and load, with history, charts, and alerts when a threshold holds. It has its own plan ladder, separate from Status: free, Growth at $18.99 a month, and Scale at $48.99. What your Status plan buys, seats, the REST API, on-call escalation, stays with your Status plan.
A new design, everywhere
Marketing pages, the dashboard, public status pages, sign-in, documentation, and email were all redrawn against one design system. The same information, laid out to be read rather than decoded.
Short links for status pages
rlup.io links redirect to a page's canonical address, for the places where a full URL will not fit.
Documentation moved to its own site
The docs live at docs.realuptime.io now, with search across every page and the knowledge base.
Assert on more than a 200
A web monitor can require a specific status code, a string present in or absent from the body, or a particular header value. It goes down when the page technically answers but answers wrongly.
More than one status page per account
Scale accounts can publish several status pages, each with its own components, branding, and subscribers. Growth joined them, with no cap on either, on August 22.
Your logo, your color, your links on a status page
Put your logo at the top of a public status page and link it back to your own site. Set an accent color. Add a support link for people who need more than the page can tell them.
A headline uptime figure
Every component and the page as a whole now state an uptime percentage for the window on screen, instead of leaving a visitor to read it off the bars.
Subscribers hear about maintenance too
Scheduled maintenance now notifies a status page's subscribers the same way an incident does, rather than only appearing on the page for whoever happens to visit.
Renaming a status page no longer breaks its old address
Changing a page's slug leaves a redirect behind, so every link anybody saved or embedded keeps working.
Teams: invite colleagues, and choose what each of them can do
Invite people into your account as an admin, who can change almost everything, or a responder, who can work incidents and nothing else. Billing and account deletion stay with the owner either way. Free includes 3 people counting you, Growth 10, and Scale has no limit.
On-call: escalation policies and acknowledgement
Build an escalation policy with steps and delays, so an alert nobody acknowledges moves on to the next person instead of sitting unread. Acknowledging an incident records that somebody has it, so the rest of the team can see the answer to "is anyone on this".
Password-protect your status page
Growth and Scale plans can put a shared password in front of a public status page, so only the people you give it to can see it. The uptime badge and the embeddable widget stop working while a page is protected, so a private page never reports its status from somewhere else. Changing the password signs out everyone who entered the old one.
Monthly SLA reports
Growth and Scale plans get a month-by-month record for every monitor: uptime, downtime, incidents, and average and p95 response time, by region and overall. Download it as a CSV or print it to a PDF and send it on. Each figure states how much of the month it measured. A monitor added mid-month is reported against the days it existed instead of being rounded up to a full month.
Bigger plans, and monitors past your plan's limit no longer blocked
Growth now includes 25 monitors and Scale includes 150. Paid plans can also go past their included count at $2 per extra monitor per month, with a cap, instead of refusing to create the monitor. The free plan keeps its 5 and stays a hard limit, so it can never generate a bill.
DNS record monitors
Watch a hostname's DNS records and alert when they change or disappear. The fourth monitor type, alongside web addresses, ports, and heartbeats.
Remove the RealUptime attribution from your status page
Growth and Scale plans can now turn off the "Powered by RealUptime" line on their public status pages.
Clearer status colors
The green, amber, and red used for status text were too light to read comfortably against their backgrounds, and destructive buttons were hard to read in dark mode. All of them now meet the WCAG AA contrast standard. Region indicators on public status pages also carry proper labels for screen readers instead of relying on color alone.
Port and TLS monitors
Check that a server is accepting connections on a specific port, with optional TLS certificate expiry checking, for services that are not websites.
Per-region response-time charts on public status pages
Public status pages now show response time over time for each checking region, not just up or down.
Two free tools, no account needed
"Is my website down?" checks a site from all four regions right now, and the SSL certificate checker reports how many days a certificate has left.
Heartbeat monitors
For scheduled jobs that should check in on a timetable: backups, cron jobs, data syncs. Your job pings a URL when it finishes, and RealUptime alerts you when a ping does not arrive in time. Available on every plan, counting toward the same monitor allowance.
Free read-only MCP access to public status information
AI assistants that speak the Model Context Protocol can read any public status page without an account or an API key.
Sign in with Apple
Added Apple as a third sign-in option alongside email/password, Google, and GitHub.
Generic webhook notifications
Send down and recovery events to any endpoint you control, in addition to Slack and account-email alerts.
Customer-facing region selection per check
Choose which of the four checking regions (US-East, US-West, Europe, Asia-Pacific) apply to each monitor, instead of every monitor always checking from all four.
Sign in with Google and GitHub
Added OAuth sign-in as an alternative to email and password.
Verified custom domains with automatic TLS
Point your own domain at a status page on the Growth and Scale plans. Certificate issuance and renewal are automatic.
SSL certificate and domain expiration checks
Monitors can now also watch a certificate's or domain's expiration date and warn before it lapses, not just whether the endpoint responds.
Email capture for visitors not ready to sign up
A lightweight way to leave your email for occasional product updates without creating an account. This changelog is what the confirmation email points you to.
Public subscriber flow for status-page visitors
Anyone visiting your status page can subscribe by email to that page's incident updates, confirmed with a double opt-in and a one-click unsubscribe.
Incident communication: staged updates, history, and maintenance windows
Post staged incident updates, keep a public incident history on your status page, group related components, and schedule maintenance windows that suppress alerts without hiding the work.
Operator email alerts for down and recovery
Your account email now receives an alert automatically on every down and recovery transition, with no configuration required, alongside any Slack or webhook alerts you set up.
Uptime history and 90-day bars
Status pages now show a 90-day uptime history bar per monitor, backed by daily rollups instead of raw check-by-check data.
Self-service account deletion and data export
Export a full JSON copy of your account, monitors, status pages, incidents, and history at any time, and delete your account yourself from account settings.
Email verification and password reset
New accounts confirm their email address, and a forgotten password can be reset without contacting support.
Live Stripe billing
Paid plans are now billed through Stripe, with a self-service billing portal for upgrading, downgrading, and canceling.
REST API and MCP server
Growth and Scale plans can manage monitors programmatically through a REST API, or connect an AI agent like Claude directly to their monitoring through an MCP server.
RealUptime Status: public launch
The first version of RealUptime: monitor endpoints from four regions and publish the results on a public status page. This is the release everything since has built on.