API, badges and widgets
Last updated 10 November 2026
Everything Broken Today knows about the 387 services is available without a key or sign-up: as JSON, as RSS, as a badge for a README and as a live widget for a dashboard or intranet page. It is free for any use within the fair use rules. A link back to Broken Today is appreciated.
JSON API
All services, or a few
GET https://brokentoday.com/api/status
GET https://brokentoday.com/api/status?slugs=github,vercel,openai
Returns generatedUtc, lastPollUtc and services: per service its slug, name, category, status (operational, maintenance, degraded, partial_outage, major_outage or unknown), statusLabel, the vendor's description, lastOkUtc, officialStatusPage, activeIncidents, longRunningIncidents, problemComponents and userReports (visitors' reports in the last hour and 24 hours).
One service in detail
GET https://brokentoday.com/api/status/github
Adds every component, scheduled maintenances, the vendor's recentIncidents (up to 25), the statusChanges we observed in the last 7 days and lastError when the status page could not be read. Each incident has id, name, status, impact, createdAt, resolvedAt, latestUpdate, url (the vendor's page), postmortem (published / promised) and seenEarlyAt / seenEarlyBy (seen before the vendor).
The slug is the part of a service page's address between /is- and -down; the full list is on sources. Responses are cached for 60 seconds and the data changes at most every 2 minutes, so there is no point asking more often than once a minute. Unknown slugs return 404.
RSS feeds
/feed.xml- new incidents of all services, last 7 days./is-{slug}-down/feed.xml- incidents of one service, for example/is-github-down/feed.xml.
Badges
An SVG badge with the live status, refreshed every 2 minutes. Each service page has the code ready to copy under "Show status in your README or wiki".
[](https://brokentoday.com/is-github-down)
Live widget
A small page with the live status of up to 40 services that reloads itself every 2 minutes - for a team dashboard, an intranet or a wall screen. List the slugs separated by commas:
<iframe src="https://brokentoday.com/embed/github,openai,vercel" title="Service status" width="320" height="200" style="border:0"></iframe>
Pick your services on My stack to get the same code for exactly your list.
Alerts to a chat channel
Instead of polling, paste a Slack, Discord or Microsoft Teams incoming webhook URL into the alert form on any service or stack page. We post when a service goes from fine to Degraded or worse and again when it recovers.
Good to know
- Times are UTC in ISO 8601. Fields may be
null; new fields can be added at any time, existing ones are not renamed without notice here. - The status is what the vendor reports - read how it works before building alerts on it.
- Building something with it, or need a field that is not there? Write to hi@brokentoday.com.