Enter your domain and copy a badge for your GitHub README, docs or wiki: one shows how many days are left on the site's SSL certificate, the other whether the website is up. Free, no key, no signup; the badge is a plain SVG image that re-checks the site on its own.
Format:
| Badge | Meaning |
|---|---|
| SSL, days left on the certificate (github.com, live) green from 30 days, yellow under 30, red under 14, expired, invalid (untrusted chain or wrong hostname) or TLS failed. Re-checked every 6 hours, or after 10 minutes when the check itself failed. | |
| Expired certificate (expired.badssl.com, live) the same check as our SSL checker; click the badge for the full report. | |
| Website up (github.com, live) up, orange with the status code for an error page (e.g. 503), red for down (timeout, DNS, refused). A bot wall counts as up, since the server answered. Re-checked every 5 minutes. |
Each badge links to the matching checker (SSL checker or is it down?) prefilled with your domain, so anyone who sees a red badge can see why. Use a bare domain; add :8443 for a certificate on another port.
We check each domain at most once per window (6 hours for SSL, 5 minutes for uptime) and share the result with everyone who shows that badge, so a popular README doesn't hammer your server. The SVG is sent with Cache-Control: max-age=3600 (SSL) or max-age=300 (uptime), so GitHub's image proxy and browsers pick up a change within that time.
A badge only helps when someone looks at it. For a cron job, Make or n8n scenario that warns you before the certificate expires, call the same checks as JSON with a free key; they cost 0 credits, 500 a day:
curl -s "https://shotmint.creasework.com/v1/check?type=ssl&url=example.com" -H "X-API-Key: YOUR_KEY" \
| jq -e '.days_left > 21' > /dev/null || echo "Renew the example.com certificate"
The same endpoint takes type=up, redirects, headers and links (docs). Need to see what the page actually looks like? The Shotmint API takes screenshots and PDFs, 25 free renders a month.