SaaS Status Page Monitor avatar

SaaS Status Page Monitor

Pricing

from $6.50 / 1,000 target checkeds

Go to Apify Store
SaaS Status Page Monitor

SaaS Status Page Monitor

Monitor public status pages, incidents, component states, and status-history changes.

Pricing

from $6.50 / 1,000 target checkeds

Rating

0.0

(0)

Developer

junipr

junipr

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Compare public SaaS status page snapshots and turn component, incident, and overall service changes into structured dataset rows and a concise operations report.

What It Monitors

  • Overall service indicators and descriptions.
  • Component additions, removals, and status changes.
  • Incident openings, resolutions, removals, and update changes.
  • Incident impact, start time, resolution time, and latest message when the source supplies them.

The parser accepts Statuspage summary JSON, generic JSON component or incident collections, structured status records, and HTML elements with explicit data-component-* attributes. It does not infer outages from arbitrary page prose.

Input

Use targets for multiple comparisons, or provide the direct single-target fields at the top level.

FieldPurpose
targetsPrevious/current comparisons with IDs, titles, snapshots, records, and optional source URLs.
sourceUrl / urlsPublic current-state URLs. Retrieval occurs only when fetchUrls is true and no current snapshot is supplied.
previousSnapshot / currentSnapshotStatuspage JSON, supported generic JSON, or explicit component HTML.
previousEntities / currentEntitiesStructured overall, component, or incident records.
recordsPre-paired records containing old and new values.
includeUnchangedInclude comparable entities whose supported fields did not change.
includeReportWrite results, summary, and Markdown report records.
maxTargetsTarget cap, from 1 through 50.
maxEntitiesPerTargetEntity cap per side, from 1 through 5,000.
maxItemsDataset row cap.
maxTextBytesSnapshot size cap, up to 1,000,000 bytes.
fetchTimeoutMsHTTP timeout, from 1,000 through 30,000 milliseconds.
{
"sourceId": "payments-status",
"title": "Payments status",
"previousEntities": [
{ "id": "api", "type": "component", "name": "API", "status": "operational" }
],
"currentEntities": [
{ "id": "api", "type": "component", "name": "API", "status": "partial_outage" },
{ "id": "incident-42", "type": "incident", "name": "Elevated API errors", "status": "investigating", "impact": "minor" }
],
"maxItems": 25,
"includeReport": true
}

Dataset Rows

Each row identifies one changed or diagnostic entity. Important fields include:

  • entityType, entityKey, serviceName, component, and incidentTitle.
  • changeType, oldStatus, newStatus, oldMessage, and newMessage.
  • impact, startedAt, resolvedAt, severity, and score.
  • sourceId, sourceUrl, sourceType, checkedAt, and recommendation.
  • diagnosticCode and sourceError for blocked retrieval or unrecognized content.

Change types are overall-status-changed, component-added, component-removed, component-status-changed, incident-opened, incident-resolved, incident-updated, incident-removed, and unchanged.

Stored Artifacts

  • Dataset: one row per changed, unchanged, or diagnostic entity that passes the configured filters and caps.
  • SAAS_STATUS_PAGE_MONITOR_RESULTS.json: emitted rows.
  • SAAS_STATUS_PAGE_MONITOR_SUMMARY.json: target and change counts, diagnostics, and charge-limit status.
  • SAAS_STATUS_PAGE_MONITOR_REPORT.md: readable incident and component digest.

When report charging is unavailable, the actor records why the report was skipped instead of writing an unpaid report.

Usage Charges

The actor uses pay per event. Platform usage is included in these event prices.

EventPriceWhen charged
actor-start$0.02000Once before paid work starts.
target-checked$0.00650Before each target is processed.
snapshot-compared$0.00650Before a successfully prepared snapshot pair is compared.
change-detected$0.01300Before each changed entity row is emitted.
digest-generated$0.05000Before JSON result and summary records are written.
executive-report-generated$0.10000Before the Markdown report is written.

If Apify reports that a charge was limited or only partly accepted, the actor stops before the corresponding paid output. Set includeReport to false when KVS report artifacts are not needed.

Public Tasks

Five capped task inputs cover component state changes, new incidents, incident resolutions, overall health, and an operations digest. Each task compares actor-specific status records and limits output volume.

Retrieval Safety

  • Only http and https URLs are accepted.
  • Credentials in URLs and redirects are rejected.
  • Loopback, link-local, and private network destinations are blocked unless allowPrivateUrls is explicitly enabled for controlled testing.
  • Response length, retained snapshot bytes, target count, entity count, and request duration are bounded.
  • Fetch failures and empty parses produce explicit diagnostic rows. The actor does not invent component states or incidents.

Limitations

  • JavaScript-only pages must expose a JSON endpoint or provide a snapshot; the actor does not run a browser.
  • HTML parsing requires explicit component data attributes. Free-form prose is not converted into status facts.
  • Scheduling and baseline retention are managed by the caller. Pass the prior snapshot or records into each comparison.
  • Private status pages and credentialed endpoints are not supported.