SaaS Vendor Watch: Status Pages, Incidents, Changelog & Pricing avatar

SaaS Vendor Watch: Status Pages, Incidents, Changelog & Pricing

Pricing

from $2.00 / 1,000 vendor checkeds

Go to Apify Store
SaaS Vendor Watch: Status Pages, Incidents, Changelog & Pricing

SaaS Vendor Watch: Status Pages, Incidents, Changelog & Pricing

Watch SaaS vendors' public status pages: current status, components, active and recent incidents with durations, maintenance. Type slack or github (100 built in) or a domain. Optional changelog and pricing page change tracking. Only-changes mode for alerts.

Pricing

from $2.00 / 1,000 vendor checkeds

Rating

0.0

(0)

Developer

Signalloom

Signalloom

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Categories

Features

Limited permissions

Share

Type the SaaS tools you depend on (slack, github, openai, or any domain) and get one clean record per vendor:

  • current status and every component with its status
  • active incidents and recent incidents, each with impact, start and end time, duration in minutes, affected components, the latest update and a link
  • incident stats for the last N days: count, by impact, total and longest incident minutes
  • scheduled maintenance (upcoming and in progress), with the planned window
  • optional: the vendor's changelog / release notes (an RSS/Atom feed when there is one) and its pricing page (plans and prices), with what changed since the last run
  • Only changes mode for alerts: one record per new, resolved or escalated incident, status change, new maintenance, new changelog entry or pricing change

100 popular vendors are built in, so names just work: GitHub, Slack, OpenAI, Anthropic (Claude), Cloudflare, Notion, Zoom, Atlassian, Jira, Confluence, Trello, Zapier, Make, HubSpot, Shopify, Twilio / SendGrid, Vercel, Netlify, DigitalOcean, Supabase, MongoDB Atlas, Snowflake, New Relic, Sentry, Figma, Canva, Asana, monday.com, Linear, Dropbox, Box, 1Password, Xero, Gusto and more (full list below). For anything else, give a domain or the status page URL.

Price: $0.002 per vendor checked, $0.003 per changelog or pricing page read, and $0.005 per change alert in Only-changes mode. The prefilled example (5 vendors) finishes in about 5–10 seconds.

Use this when…

  • you run IT or ops and want one dashboard or daily report of the SaaS tools your company depends on: what is down right now, what broke this month and for how long
  • you do competitive intelligence and want to know when a competitor ships something (changelog) or changes its plans or prices (pricing page)
  • you are an MSP and report vendor uptime and incidents to clients each month
  • you build n8n, Zapier or Make workflows: schedule it every 5–15 minutes in Only-changes mode and send each change record to Slack, Teams, email or a ticket

How to use it

  1. Add vendors, one per line: a built-in name (slack), a domain (acme.com) or a status page URL (https://status.acme.com).
  2. Optional: incident history (days) (default 30), max recent incidents (default 10), component list on or off.
  3. Optional: turn on Watch changelog and/or Watch pricing page. The tool finds the links on the vendor's homepage. If it can't, or you want a specific page, add it under Changelog URLs / Pricing URLs as vendor | URL, for example github | https://github.blog/changelog/.
  4. For alerts: turn on Only changes, give the task a Monitor ID, and schedule it. The first run is a baseline: it reports only incidents that are ongoing right now. After that, each run outputs only what changed.

Recipe: vendor outage alerts in Slack. A saved task with your 10–30 vendors, Only changes on, Monitor ID it-alerts, scheduled every 10 minutes. Connect the dataset to Slack with Zapier, Make or n8n and post the summary field. A quiet run costs $0.002 per vendor and outputs nothing.

Recipe: monthly MSP report. Incident history 31 days, Only changes off, run on the 1st of each month. incidentStats gives incidents, minutes and the longest outage per vendor.

Output

One record per vendor. Real records from a run of the prefilled input (build 0.1.3, 2026-11-13; long lists shortened):

{
"vendor": "GitHub",
"vendorKey": "github",
"input": "github",
"matchedBy": "directory",
"statusPageUrl": "https://www.githubstatus.com",
"statusProvider": "statuspage",
"status": "operational",
"statusIndicator": "none",
"statusDescription": "All Systems Operational",
"componentsTotal": 12,
"componentsNotOperational": [],
"components": [
{ "name": "Git Operations", "group": null, "status": "operational" },
{ "name": "Webhooks", "group": null, "status": "operational" }
],
"componentsTruncated": false,
"activeIncidents": [],
"recentIncidents": [
{
"id": "nwbjzl7nfrc2",
"name": "Disruption with Email Delivery",
"status": "resolved",
"impact": "minor",
"startedAt": "2026-11-12T19:36:45.556Z",
"resolvedAt": "2026-11-12T21:43:56.551Z",
"durationMinutes": 127,
"ongoing": false,
"affectedComponents": [],
"lastUpdate": "This incident has been resolved. Thank you for your patience and understanding as we addressed this issue. A detailed root cause analysis will be shared as soon as it is available.",
"lastUpdateAt": "2026-11-12T21:43:56.551Z",
"updatesCount": 8,
"scheduledFor": null,
"scheduledUntil": null,
"url": "https://stspg.io/lr8v4v8t7gs2"
}
],
"incidentStats": {
"days": 30,
"incidents": 34,
"byImpact": { "minor": 20, "critical": 7, "major": 6, "none": 1 },
"totalIncidentMinutes": 3297,
"longestIncidentMinutes": 662,
"lastIncidentAt": "2026-11-12T19:36:45.556Z",
"historyAvailable": true
},
"maintenance": [],
"robotsNote": "robots.txt Disallow: /api/; the documented public status API is used",
"baseline": false,
"changes": [],
"changeCount": 0,
"checkedAt": "2026-11-13T00:58:30.532Z"
}

Cloudflare in the same run (degraded; 69 of 475 components not operational), with an active incident and a scheduled maintenance:

{
"vendor": "Cloudflare",
"status": "degraded",
"statusDescription": "Partially Degraded Service",
"componentsTotal": 475,
"activeIncidents": [
{
"id": "9zxr2bkqoct7",
"name": "Durable Objects increased error rates in North America",
"status": "monitoring",
"impact": "minor",
"startedAt": "2026-11-12T22:39:40.553Z",
"resolvedAt": null,
"durationMinutes": 139,
"ongoing": true,
"affectedComponents": ["Durable Objects", "Developer Services - Durable Objects"],
"lastUpdate": "Durable Objects saw an increased error rate in North American colos due to a sudden increase in traffic. Impact has subsided. We are now monitoring.",
"url": "https://www.cloudflarestatus.com/incidents/9zxr2bkqoct7"
}
],
"maintenance": [
{
"id": "q4grj8hp2ifu",
"name": "BOS (Boston) on 2026-11-13",
"status": "scheduled",
"impact": "maintenance",
"durationMinutes": 360,
"affectedComponents": ["Boston, United States - (BOS)", "North America - Boston, United States - (BOS)"],
"scheduledFor": "2026-11-13T05:30:00.000Z",
"scheduledUntil": "2026-11-13T11:30:00.000Z",
"url": "https://www.cloudflarestatus.com/incidents/q4grj8hp2ifu"
}
]
}

With Watch changelog and Watch pricing page on (real run, Linear; links found on its homepage):

{
"vendor": "Linear",
"changelog": {
"url": "https://linear.app/changelog",
"foundBy": "homepage-link",
"source": "feed",
"feedUrl": "https://linear.app/rss/changelog.xml",
"entriesFound": 20,
"latestEntries": [
{ "title": "Bring your own key (BYOK)", "date": "2026-11-12T16:36:46.000Z", "url": "https://linear.app/changelog/2026-11-12-bring-your-own-key" },
{ "title": "Mobile Diffs", "date": "2026-11-05T17:49:55.000Z", "url": "https://linear.app/changelog/2026-11-04-mobile-diffs" }
]
},
"pricing": {
"url": "https://linear.app/pricing",
"foundBy": "homepage-link",
"plans": ["Basic", "Business"],
"prices": [
{ "plan": "Basic", "price": "$10 per user/month" },
{ "plan": "Business", "price": "$16 per user/month" }
],
"textHash": "3a30b16d6fb74c1815b39a4161b0f5e366ccf3c7"
}
}

In Only changes mode each change is its own record. A real record from the baseline run of an alert monitor (Notion had an ongoing incident at that moment):

{
"vendor": "Notion",
"vendorKey": "notion",
"statusPageUrl": "https://www.notion-status.com",
"currentStatus": "degraded",
"changeType": "incident_new",
"atBaseline": true,
"incident": {
"id": "01M78NX55B86FBTY90PH64KV7R",
"name": "Issues with outlook connections",
"status": "investigating",
"impact": "minor",
"startedAt": "2026-11-12T20:06:39Z",
"durationMinutes": 287,
"ongoing": true,
"url": "https://www.notion-status.com/incidents/01M78NX55B86FBTY90PH64KV7R"
},
"summary": "Notion: new incident [minor]: Issues with outlook connections",
"monitorId": "apify-alerts",
"detectedAt": "2026-11-13T00:53:57.050Z"
}

Change types: incident_new, incident_resolved, incident_impact_changed, status_changed, maintenance_scheduled, changelog_entry, pricing_changed (with pricesAdded, pricesRemoved, textAdded, textRemoved). Every change record has a one-line summary for chat messages.

A run summary (vendors read, errors, changes, seconds) is saved as OUTPUT in the run's key-value store.

Built-in vendors (100)

1Password, Airtable, Akamai, Anthropic (Claude), Apify, Asana, Atlassian, Attio, Bitbucket, Box, Brevo, Brex, BrowserStack, Calendly, Canva, CircleCI, ClickUp, Cloudflare, Cloudinary, CockroachDB, Cohere, Coinbase, Confluence, Confluent, Contentful, DigitalOcean, Discord, Docker, Dropbox, Duo, Elastic, ElevenLabs, Figma, Fly.io, Front, GitBook, GitHub, Gong, Grafana, Grammarly, Groq, Gusto, HashiCorp, Help Scout, Honeycomb, Hotjar, HubSpot, Hugging Face, Intercom, Jira, Klaviyo, LaunchDarkly, Linear, Linode, LogRocket, Loom, MailerLite, Mailgun, Make, Miro, Mixpanel, monday.com, MongoDB Atlas, Netlify, New Relic, Notion, npm, OpenAI, Perplexity, Pinecone, Plaid, PlanetScale, Postman, Reddit, Render, Retool, Rippling, Sanity, Segment, Sentry, Shopify, Slack, Smartsheet, Snowflake, Square, Squarespace, Supabase, SurveyMonkey, TeamViewer, Trello, Twilio (incl. SendGrid), Typeform, Upstash, Vercel, Vimeo, Webflow, Wix, Xero, Zapier, Zoom.

Every entry was checked live on 2026-11-12 (all 100 answered).

Supported status pages

Status page typeWhat you get
Atlassian Statuspage (most vendors)status, components, active and last ~50 incidents, maintenance
incident.io pages with the Statuspage-compatible JSONstatus, components, active and last ~25 incidents
Slack Status APIstatus, active incidents and history (Slack publishes no component list)
Better Stackstatus, resources with availability, the 5 most recent reports
Instatusstatus and components only (no incident history)
incident.io widget onlyongoing incidents only

Limitations

  • Not every vendor has a readable status page. Some use custom pages with no public feed (for example Stripe, GitLab, Heroku, PagerDuty, Zendesk, Datadog, Auth0, Salesforce, Okta, PayPal). For those the record says so with an error, and you are not charged for the vendor.
  • Incident history is what the vendor publishes: about the last 50 incidents on Statuspage, 25 on incident.io, 5 on Better Stack. Long windows on busy vendors can be cut off. incidentStats counts what is visible. It is not an SLA or uptime measurement.
  • Durations run from the incident's start to its resolution as the vendor reports them. Ongoing incidents show time so far.
  • Pricing pages: prices loaded by JavaScript after the page opens, or "contact sales" plans, can't be read. The record then has a note. Price matching is pattern-based ("$10 per user/month"), so check priceContext before acting on a change. Text changes on busy marketing pages can be cosmetic.
  • Changelog discovery uses the homepage's links. When the homepage blocks automated clients (for example openai.com), or has no changelog link, add the URL yourself.
  • Websites protected by bot checks are never bypassed. The page is skipped and the record says why.
  • Unknown names are tried as <name>.com. Give the domain or status URL to be sure.

Data sources and how they are used (legitimacy review)

  • Public sources only, no login. Vendors' public status pages, homepages, changelog and pricing pages. No accounts, keys, cookies, proxies or browsers.
  • Status pages through their documented public APIs:
    • Atlassian Statuspage pages publish a JSON API for programmatic access (append /api to any Statuspage URL to see its docs). The tool reads /api/v2/summary.json and /api/v2/incidents.json.
    • Atlassian-hosted pages carry Disallow: /api/ in robots.txt. That line keeps search crawlers out; it does not restrict the documented API. Atlassian's Acceptable Use Policy allows access through its "publicly supported interfaces" and limits automated load to what a person with a browser could send. So the tool uses the documented API, makes 2 requests per vendor per run, and says so in robotsNote.
    • The Slack Status API is documented by Slack (api.slack.com/docs/slack-status).
    • incident.io and Better Stack pages have no robots.txt restrictions on these paths.
  • robots.txt is obeyed for every web page (homepages, changelog, pricing and feeds), on every redirect. An unreadable robots.txt counts as "disallowed". Crawl-delay is honoured, and sites asking for more than 10 seconds are skipped.
  • Polite:
    • at least 0.7 seconds between requests to the same host, at most 4 vendors at a time
    • retries with backoff on errors
    • an honest client name (saas-vendor-watch/0.1, Apify Actor)
  • No personal data. Records hold company status information, incident notices and public product and pricing text. Status page contact emails are not copied.
  • Read-only. The tool never subscribes, signs up, submits forms or takes any action on an account.
  • Status, incident, changelog and pricing texts belong to their vendors. The tool reports short facts and links back to the source.

Questions and issues

Open an issue on this tool's page: https://apify.com/signalloom/saas-vendor-watch. Requests to add a vendor to the built-in list are welcome.