What it shows
The badge is the share of our probes that succeeded over a fixed window (30 or 90 days), for one service on the outage tracker. The window is printed on the badge itself, so the number always says what period it covers. It is not an uptime SLA and it is not the service's own claim: it is exactly what our probes measured, from the regions that service is monitored from.
A badge is the one surface we cannot correct after it is cached on someone else's site, so it follows the same honesty rules as every reading on this tracker, stricter if anything:
- No data is never green. A service with no recorded readings shows a neutral "no data" badge, never a percentage we do not have.
- Stale is its own state. If our last reading for that service is older than its probe cadence allows, the badge says "stale" instead of showing an old percentage as if it were current.
- The window is always on the badge. "99.9%" with no period attached is not a claim; ours always says over how many days.
Live example
This is the actual badge for GitHub, rendered live from /outages/github/badge.svg, the exact same route and the exact same reading a visitor to GitHub's own outage page sees.
Get your own
Every service tracked on the outage tracker has its own badge at https://realuptime.io/outages/<slug>/badge.svg. The easiest way to get the exact copy-paste snippet is to open that service's own page and scroll to the badge block there, which renders the same component this page does with that service's slug filled in. If a service is not yet on the tracker, it has no badge yet.
Add ?days=90 to the badge URL for a 90-day window instead of the 30-day default (30, 90 are the only supported windows).
Cost and limits
Free, with no account and no API key. The badge is served with a five-minute cache and a stale-while-revalidate window, so hotlinking it from a busy README does not add per-request load to our probes. Nothing about embedding it collects any data from the page it is embedded on.
See the methodology page for exactly what a probe reading does and does not prove.