CoolFace
Datasetpublic

APProjects/saas-vendor-status-pages-outages-incidents-daily

SaaS vendor status pages — 1,127 vendors mapped, 16,259 incidents, rebuilt daily Last rebuilt: 2026-09-24 12:28 UTC. An automated job re-probes every vendor's public status page daily, records each incident it publishes (title, impact, opened/resolved times, permalink) and re-uploads these files. It is the data behind approjects-vendor-status-watch.static.hf.space, where each vendor has a page with its incident history, RSS and JSON. Two tables: incidents — one row per incident… See the full description on the dataset page: https://huggingface.co/datasets/APProjects/saas-vendor-status-pages-outages-incidents-daily.

sourceHugging Facecc-by-4.0updated 3d agoView on Hugging Face
0likes493downloads
Dataset Card

SaaS vendor status pages — 1,127 vendors mapped, 16,259 incidents, rebuilt daily

Last rebuilt: 2026-09-24 12:28 UTC. An automated job re-probes every vendor's public status page daily, records each incident it publishes (title, impact, opened/resolved times, permalink) and re-uploads these files. It is the data behind approjects-vendor-status-watch.static.hf.space, where each vendor has a page with its incident history, RSS and JSON.

Two tables:

  • —`incidents` — one row per incident a vendor posted on its own status page. 16,259 rows across 635 vendors, back-filled from each platform's public incident API where one exists (Atlassian Statuspage exposes /api/v2/incidents.json; other platforms accumulate from the day we first saw them). Times are as the vendor published them (ISO-8601, vendor's offset).
  • —Derived, same job: how long each incident lasted, per vendor (MTTR / resolution time) — resolved_at - started_at for every incident with both times, plus per-vendor medians.
  • —`vendors` — the living map: 1,127 vendors → which status-page platform they use, the machine-readable base URL, whether we can parse it (804 supported today), and the state observed at the last poll.

Quickstart

python
from datasets import load_dataset
inc = load_dataset("APProjects/saas-vendor-status-pages-outages-incidents-daily", "incidents", split="train")
vendors = load_dataset("APProjects/saas-vendor-status-pages-outages-incidents-daily", "vendors", split="train")
python
import pandas as pd
df = pd.read_csv("https://huggingface.co/datasets/APProjects/saas-vendor-status-pages-outages-incidents-daily/resolve/main/data/incidents.csv")
df.groupby("vendor").size().sort_values(ascending=False).head(20)   # noisiest vendors

Schema — incidents

columnmeaning
vendor_slugstable id; page at https://approjects-vendor-status-watch.static.hf.space/v/<vendor_slug>.html (flat .html, not a directory — the host does not resolve /dir/ to an index)
vendorvendor display name
platformstatus-page platform (statuspage, statusio, instatus, betterstack, …)
incident_idthe vendor's own incident id
titleincident title as posted
impactvendor's impact label (none/minor/major/critical/maintenance)
stateinvestigating / identified / monitoring / resolved …
started_atwhen the vendor opened the incident
resolved_atwhen the vendor resolved it (blank if still open)
resolved_inferredtrue when the end time was inferred from the incident disappearing rather than posted
updated_atvendor's last update timestamp
urlpermalink on the vendor's status page
first_seenwhen this pipeline first recorded the incident

Schema — vendors

columnmeaning
slug, nameid and display name
platformdetected status-page platform, or unsupported / dead
basemachine-readable status endpoint base URL
supportedtrue if the daily poll parses this page
last_statestate at the last poll (ok / degraded / partial / major / maintenance / unknown)
last_checkedtimestamp of that poll

Freshness, coverage, limits

Rebuilt daily. 804 of 1,127 mapped vendors are parseable; the rest (bespoke HTML pages such as Apple, Microsoft 365 and Notion; platforms without a public JSON feed) are listed with supported=false rather than guessed at. AWS, Azure, Google Cloud/Firebase/Workspace/Play, Slack and Stripe are parsed from their own public feeds (platform = bespoke). A status page is what the VENDOR chose to publish — an empty history means the vendor posted nothing, not that nothing happened. We never synthesise an OK.

Browse the busiest vendors

Each row links to that vendor's incident history page — dates, durations, impact, sparkline, per-vendor RSS and JSON — regenerated from this dataset every day.

Ranked on incidents each vendor opened on its own status page in the last 90 days. Read it as disclosure volume, not a reliability league table: a busy status page means a communicative vendor as often as an unreliable one.

“≥” on 18 row(s): the source status-page API returns at most 50 incidents, and these vendors' archives begin inside the 90-day window, so the figure is a floor rather than a total. We show the bound instead of dropping the vendor, and instead of printing a number we cannot stand behind.

All 1,127 vendors · coverage by platform

Paid tier — Hosted watch, $49 / 12 months

We run the watcher for you: your vendors' public status pages are checked every 5 minutes, and every incident opened, updated or resolved appears in your own private feed within minutes — plus one check-in every 24 hours, so a quiet feed is a working feed rather than an ambiguous one.

Who this is for. For teams that cannot or will not run a GitHub Action: IT and vendor-management staff without a repo, agencies watching clients' vendors, and companies whose policy forbids third-party actions. If you have a repo and five minutes, the free template above is the same engine.

  • —Up to 50 vendors from the living map of 1,100+ SaaS status pages; type names at checkout.
  • —Checked every 5 minutes for a year by a scheduled job in Apify's cloud — not on a laptop, and not dependent on any server of ours staying up.
  • —Delivered as your own private RSS feed, which you point Slack, Teams, Discord or any reader at. We never ask for a webhook, so we hold no credential of yours.
  • —A first entry within minutes of purchase naming which vendors matched the map and which did not — nothing is silently unwatched.
  • —A vendor we cannot read is reported as CANNOT SEE, never as OK; when it is readable again you are told.
  • —No repo, no GitHub, no YAML, no account with us. Nothing to install.

Get the hosted watch — $49 / 12 months · Try it free for 30 days — up to 5 vendors, no card

One payment, no auto-renewal. Full refund within 30 days for any reason — reply to your Gumroad receipt. After that, a pro-rata refund if alerts stop for 7 consecutive days through our fault. Would rather run it yourself? The open-source GitHub Action does the same 5-minute watch for unlimited vendors inside your own account, free: https://github.com/APVentureEngine/vendor-status-watch

Not setting it up today? Join the update list → — an occasional note when this dataset's coverage or schema changes materially. The list is shared across APProjects datasets, holds an email address only, is run by Gumroad, and any message unsubscribes you. The all-vendors RSS feed at https://approjects-vendor-status-watch.static.hf.space/feed.xml needs no address at all.

Related: the same pipeline ships an MIT-licensed GitHub Actions template that alerts your Slack/Discord/Teams when the vendors you list change state — https://github.com/APVentureEngine/vendor-status-watch-template.

License & citation

CC BY 4.0. Cite as "Vendor Status Watch, https://github.com/APVentureEngine/vendor-status-watch". Source: each vendor's own public status page.

<!-- warn-feed:px:start --> <img src="https://cdn.jsdelivr.net/gh/APVentureEngine/vendor-status-watch@main/docs/assets/px/hf/saas-vendor-status-pages-outages-incidents-daily.png" width="1" height="1" alt=""> <sub>Card views are counted anonymously: one 1×1 image on a public CDN, no cookies, no script, no personal data. The count is public: <a href="https://data.jsdelivr.com/v1/stats/packages/gh/APVentureEngine/vendor-status-watch@main/files?period=month">jsDelivr stats</a>.</sub> <!-- warn-feed:px:end -->