openstatus logoPricingDashboard

Status pages your users actually trust

Create a public or private status page in minutes. Show real-time uptime, incidents and maintenance on a fully branded page with a custom domain.

Free to start, with a 14-day Starter trial and no card needed. Paid plans from $30/mo.

Checkout API
99.94%
45 days ago
Today
Webhooks
99.99%
45 days ago
Today

powered by openstatus

status.piedpiper.dev

Pied Piper's status page during a degraded Checkout API, built from the real status-page blocks: grouped components with 45-day uptime bars and a Get updates menu offering Email, Slack, RSS, JSON and SSH.

Trusted by teams who ship transparency

Cal.comTwentyDocumensoTraefikPassboltHankoWhiteBITSuperwallOpenPanelProboRoundtableSmplrspace

Why you need one

It deflects support load

During an outage every user asks the same question. A status page answers it once, for everyone, while your team fixes the thing. See reducing support tickets.

Enterprise buyers ask for one

Security questionnaires ask how you notify customers during an incident. A public URL with a year of history is the strongest answer. See status pages for enterprise sales.

Auditors want the evidence

SOC 2 CC2.3 asks you to prove external communication. Every report is timestamped and archived, so the trail exists before they ask. See status pages for compliance.

Components, groups and external services

Attach monitors and the uptime fills in from your checks. Add the services you depend on but do not run, and group everything the way your customers think about it.

Components4 monitors · 1 external
Checkout API
99.94%
Webhooks
99.99%
Stripe
Dashboard
100%
Docs
100%

The components list: Checkout API, Webhooks, Dashboard and Docs synced from monitors, Stripe set by hand as an external service, grouped into Payments and Platform. A group takes the worst status of its members.

Subscriptions

Get updates1,337 email subscribers
Get email notifications whenever a report has been created or resolved

The Get updates popover with 1,337 email subscribers: an email form, the RSS URL for Slack's feed app, RSS and Atom URLs, the JSON feed at status.piedpiper.dev/feed/json and the SSH command.

Users subscribe once and get every status report and maintenance by email, RSS, Atom or JSON. Teams pull the same feed into Slack.

Translations

Set a default locale and turn on the switcher. The page chrome and the canonical status copy are translated; your updates stay in the language you wrote them.

English, French, German, Turkish, Hindi, Korean and Japanese today, with more from community contributions.

status.piedpiper.dev
Checkout API
Webhooks
Dashboard

The same page in French: a "Performances dégradées" banner, components labelled Opérationnel or Dégradé, and a switcher offering English, Deutsch, Français and 日本語.

Slack agent

#incidentsthread
G
Gilfoyle09:44
@openstatus checkout API is returning 503s from every EU region, US is fine. Open a status report?
os
openstatusAPP09:44
Draft status report
Title
Elevated errors on Checkout API
Status
Investigating
Affected
Checkout API
Message
We are investigating elevated error rates on the Checkout API from European regions. Payments outside Europe are not affected.
os
openstatusAPP09:44
Published to status.piedpiper.dev. 1,337 subscribers notified. Reply here to post the next update.

The Slack thread where @openstatus drafts "Elevated errors on Checkout API" with Approve, Approve & notify and Cancel buttons, then confirms it is live on status.piedpiper.dev.

Mention @openstatus in any thread. It drafts the report, you approve, it publishes. Follow up in the same thread with "it's fixed" and it drafts the next update.

Every action asks for confirmation before anything goes public, and every action is written to the audit log.

Branded, on your domain

Pick a theme from the store or override any CSS variable, separately for light and dark. Point status.yourdomain.com at it, and even white label it to drop the "Powered by" line.

status.piedpiper.dev
Checkout API
99.94%
45 days ago
Today
Domain status.piedpiper.dev · verified--success · --warning · --primary · --radius

The same status blocks re-skinned with a Theme Store theme: banner, component and uptime bar follow its CSS variables such as --success, --warning and --radius, in light and dark.

Internal and private pages

status.piedpiper.devpublic
Checkout API
Webhooks
Dashboard
Docs
internal.piedpiper.devpassword · IP allowlist
Protected PageEnter the password to access the status page.

Public and internal pages side by side: the public one lists all four components, the internal one shows a password prompt with an IP allowlist of 203.0.113.0/24 switched on.

Public by default. Protect a page with a password, magic-link login, or a CIDR allowlist so internal teams and named clients see more than the public does.

Maintenance windows

Schedule the window ahead of time. Subscribers are told when it is planned, the banner flips to maintenance while it runs, and affected components stop counting against uptime.

Database upgrade · October 3 at 9:00 PM - 11:00 PM (UTC) (for 2 hours)
We are upgrading the primary database. Expect up to five minutes of elevated latency on checkout and delayed webhook delivery.
Checkout APIWebhooks
Scheduled 3 days ahead1,337 subscribers notified at scheduling

A scheduled maintenance banner, "Database upgrade": a two-hour window three days out affecting Checkout API and Webhooks, with 1,337 subscribers notified when it was scheduled.

Import from another provider

Import from Atlassian Statuspagepreview
API key
Components5
Groups2
Status Reports37
Maintenances3
Subscribers1,337
Monitors4
Nothing is written until you confirm.

The import preview for Atlassian Statuspage: 5 components, 2 groups, 37 status reports, 3 maintenances, 1,337 subscribers and 4 monitors, shown before anything is written.

Paste an API key from Atlassian Statuspage, Better Stack or Instatus. Preview components, incidents, maintenances and subscribers before anything is written.

For terminals and agents

The same page over SSH for people in a terminal, and as markdown for the agents and LLMs your customers point at it. No screenshots, no scraping.

terminalssh
$ ssh pied-piper@ssh.openstatus.dev

  ▲  Degraded Performance
  Pied Piper Status

  5 components · 1 degraded
status.piedpiper.dev/.mdmarkdown
# Pied Piper Status

`~` **Degraded** · Sep 30, 2026, 09:52 (GMT+0)

## Active incidents

- x **Elevated errors on Checkout API** — Identified · affects: Checkout API

## Components

**Checkout API** — 99.94% · `30d ago → today`
`+++++++~++++++++++++++++++++++~`

The page over SSH, ssh pied-piper@ssh.openstatus.dev, printing "Degraded Performance · Pied Piper Status · 5 components · 1 degraded", and the same page as markdown with a 30-day bar of + and ~ characters.

Get started

Free to start, with a 14-day Starter trial and no card needed. Paid plans from $30/mo.

Frequently asked questions

What is a status page?

A status page is a dedicated webpage where companies communicate the real-time health of their services to users. It shows which systems are operational, degraded, or experiencing outages, and provides timestamped incident updates. Status pages reduce support tickets during incidents, build user trust through transparency, and satisfy compliance requirements like SOC 2.

When should I use a public vs private status page?

A public status page is customer-facing and indexed — it deflects support tickets and answers vendor questionnaires. A private (internal) status page is for staff, contractors, or a single client, with access controlled by password protection, magic link authentication, or an IP allowlist. You can run both from the same workspace.

What's the difference between monitors and external services in page components?

Monitors are automatically synced with your openstatus uptime monitoring data and update in real-time. External services are manually managed components for third-party dependencies or systems you don't directly monitor but want to report status for.

Can I translate my status page into other languages?

Yes, status pages support multiple languages (currently English, French, German, Turkish, Hindi, Korean, and Japanese). You can set a default locale and enable a locale switcher so visitors choose their preferred language. Translations are open source — you can contribute new languages by adding a locale to the shared registry and running the dev server to generate the translation file.

Can I use my own domain for the status page?

Yes, you can configure custom domains to host your status page on your own domain (e.g., status.yourcompany.com) instead of the default openstatus subdomain. This keeps the experience consistent with your brand.

How do status page subscriptions work?

Users can subscribe to receive updates when you post status reports or maintenance notices. We support email notifications, RSS/Atom feeds for feed readers, and JSON feeds for programmatic consumption. Subscribers are automatically notified when you publish updates.

Can I customize the appearance of my status page?

Yes. Pick a community theme from the Theme Store or contribute your own. For a private look, the Custom Theme editor lets you override any CSS variable of the base theme for light and dark mode — included on Pro and Scale, or a $20/mo add-on on Starter. You can also define which data to share (uptime percentages, response times, or manual reports only).

How do I create a status page?

Sign up, create a status page, give it a name and a slug, then add page components — either monitors synced from your uptime monitoring or external services you manage by hand. Point a custom domain at it if you want status.yourcompany.com, pick a theme, and publish. Most teams are live in under ten minutes on the free plan.

How much does a status page cost?

The free Hobby plan includes one status page with three components and no credit card. Paid plans start at $30/month for Starter (one status page, 20 components, custom domain, subscribers), $100/month for Pro, and $500/month for Scale. Annual billing gives you two months free. Extra status pages are $20/month each.

What is the Slack agent and what can it do?

The Slack agent lets you manage your status page directly from Slack using natural language. @mention @openstatus in any channel or thread to create incidents, post updates, and resolve reports — without leaving Slack. No slash commands required.