Developer Guides

Add a Live Uptime Badge to Your GitHub README

Add a Live Uptime Badge to Your GitHub README

Published May 2026 by SiteInformant Team

Add a Live Uptime Badge to Your GitHub README

A README badge is useful when it answers a real question at a glance: is the thing behind this repository up right now?

Build badges tell people whether CI passed. Package badges tell people what version is published. A live uptime badge does something different: it checks the public endpoint that users, customers, bots, docs, or demo environments actually touch.

Here is the basic Markdown pattern:

[![Status](https://api.siteinformant.com/api/public/status/badge.svg/api.example.com%2Fhealth?style=flat-square)](https://api.siteinformant.com/api/public/status/page/api.example.com%2Fhealth)

Replace api.example.com%2Fhealth with the public endpoint you monitor. If you monitor a root domain, use the domain only:

[![Status](https://api.siteinformant.com/api/public/status/badge.svg/example.com)](https://api.siteinformant.com/api/public/status/page/example.com)

That gives your README a small live badge that links to a public status page with more detail.

What the Badge Should Monitor

Use an endpoint that represents the thing your repository promises.

For an API library, monitor the API health endpoint:

api.example.com/health

For a demo app, monitor the deployed demo:

demo.example.com

For documentation, monitor the docs host:

docs.example.com

Try not to point the badge at an internal-only service, a local development URL, or a synthetic endpoint that always returns OK while the real application is broken. The badge is most useful when it reflects the path a real user would notice.

Step 1: Create a Public Uptime Check

Create a monitor for the site, API, docs page, or demo URL you want represented in the README.

In SiteInformant, public badges are tied to public status checks. Once the monitor exists, enable the public badge/status option for that endpoint. You can use a domain like example.com or a host plus path like api.example.com/health.

If the target includes a path, URL-encode the slash in the badge URL:

api.example.com/health
api.example.com%2Fhealth

Step 2: Copy the Markdown Badge

The README badge has two parts:

Put them together like this:

[![Status](https://api.siteinformant.com/api/public/status/badge.svg/{target})](https://api.siteinformant.com/api/public/status/page/{target})

You can also choose a badge style:

[![Status](https://api.siteinformant.com/api/public/status/badge.svg/{target}?style=flat)](https://api.siteinformant.com/api/public/status/page/{target})
[![Status](https://api.siteinformant.com/api/public/status/badge.svg/{target}?style=flat-square)](https://api.siteinformant.com/api/public/status/page/{target})
[![Status](https://api.siteinformant.com/api/public/status/badge.svg/{target}?style=for-the-badge)](https://api.siteinformant.com/api/public/status/page/{target})

For most READMEs, flat-square fits cleanly beside build, license, and package badges.

Step 3: Put It Near the Top of the README

Badges work best when they are visible without turning the README into a dashboard.

A simple layout:

# Example API

[![Status](https://api.siteinformant.com/api/public/status/badge.svg/api.example.com%2Fhealth?style=flat-square)](https://api.siteinformant.com/api/public/status/page/api.example.com%2Fhealth)
[![CI](https://github.com/example/example-api/actions/workflows/ci.yml/badge.svg)](https://github.com/example/example-api/actions)

Small API client for Example API.

The uptime badge sits beside CI, but it answers a different question. CI says the code passed tests at build time. Uptime says the public service is reachable now.

Avoid linking the badge image to itself. Link it to a public status page so readers can inspect details when the badge is not green.

A good status page helps answer:

That context matters when someone is deciding whether to open an issue, wait, retry, or investigate their own network.

Common README Badge Mistakes

The most common mistake is using an uptime badge as decoration. If nobody trusts what it represents, it becomes noise.

Avoid these patterns:

The badge should be boring in the best way: small, clear, and backed by a real external check.

When a Live Badge Is Worth Adding

A live uptime badge is especially useful for:

If the repository points readers to a public thing, the README can show whether that public thing is healthy.

Add the Badge With SiteInformant

SiteInformant provides public uptime badges, public status pages, and a clean status API for monitored endpoints.

Start with the public badge workflow here:

Public uptime badges and status pages

Developer-focused monitoring docs are here:

Developer uptime monitoring

If you want to monitor APIs specifically, including health endpoints and service paths, use:

API uptime monitoring

The end result is a README badge that does not just look nice. It gives visitors a live signal they can act on.

Try SiteInformant: Try It Free