# Status Page Incident Intel Extractor (`seeb/status-page-incident-intel-extractor`) Actor

Extract incident history, affected services, severity, timestamps, status updates, and customer-impact signals from public status pages.

- **URL**: https://apify.com/seeb/status-page-incident-intel-extractor.md
- **Developed by:** [Techionik](https://apify.com/seeb) (community)
- **Categories:** Developer tools, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$25.00 / 1,000 incident intels

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Status Page Incident Intel Extractor

Extract incident history, affected services, severity, timestamps, status updates, and customer-impact signals from public status pages.

### Why This Actor Is Useful

This actor turns public status-page incident updates into reliability intelligence. Instead of reading incident timelines by hand, users get rows with vendor, affected service, status, timestamps, customer impact, and latest update.

It works best on public incident summaries, status-page exports, or pasted status update text.

### What It Extracts

- `vendorName` - Vendor.
- `incidentTitle` - Incident title.
- `incidentStatus` - Status.
- `severity` - Severity.
- `affectedService` - Affected service.
- `startedAt` - Started at.
- `resolvedAt` - Resolved at.
- `customerImpact` - Customer impact.
- `latestUpdate` - Latest update.
- `sourceUrl` - Source URL.
- `evidenceText` - Evidence.

### Practical Workflows

- Monitor SaaS vendors for outage patterns.
- Prepare vendor-risk notes before renewal.
- Track affected services and customer-impact statements.
- Build reliability dashboards from public incident text.

### Input

Paste one or more public status pages, incident history pages, postmortems, or incident update URLs. The actor extracts incident title, status, severity, affected service, start and resolution time, customer impact, and latest update.

- `startUrls` - Add public status pages, incident history pages, or incident update URLs from SaaS vendors and service providers.
- `sourceText` - Optional: paste incident summaries, status updates, outage timelines, or customer-impact messages from public status pages.
- `maxResults` - Stop after this many useful rows. Most users can leave this at 100.
- `requestTimeoutSecs` - How long to wait for each URL. Increase only for slow public pages.

### Example Input

```json
{
    "sourceText": [
        "AcmeCloud Status: Investigating elevated API error rates affecting Payments API. Incident started August 8, 2026 14:05 UTC. Customers may see failed checkout requests. Latest update: engineers identified database failover latency. Status: monitoring. Resolved August 8, 2026 15:40 UTC.",
        "NimbusCRM incident report - Partial outage for email sync service. Started 2026-08-07 09:20 UTC. Major impact for EU customers. Update: queued messages are being replayed. Current status: resolved."
    ],
    "maxResults": 10,
    "requestTimeoutSecs": 20
}
```

### Example Output

```json
{
    "vendorName": "AcmeCloud",
    "incidentTitle": "Investigating elevated API error rates affecting Payments API",
    "incidentStatus": "Investigating",
    "severity": "elevated",
    "affectedService": "Payments API",
    "startedAt": "August 8, 2026 14:05 UTC",
    "resolvedAt": "August 8, 2026 15:40 UTC",
    "customerImpact": "Customers may see failed checkout requests",
    "latestUpdate": "engineers identified database failover latency",
    "sourceUrl": "pasted://source-1",
    "evidenceText": "AcmeCloud Status: Investigating elevated API error rates affecting Payments API. Incident started August 8, 2026 14:05 UTC. Customers may see failed checkout requests. Latest update: engineers identified database failover latency. Status: monitoring. Resolved"
}
```

### Reliability Notes

The actor is intentionally lightweight and fast. It does not try to bypass captcha systems, private pages, paywalls, or login walls. When a site blocks direct fetching, paste the public visible text into `sourceText`; the same actor-specific parser will still produce structured rows.

### Limitations

- The actor extracts only information present in the supplied source.
- Missing source details remain blank instead of being guessed.
- Highly unusual wording may require pasted text or cleaner source snippets for best results.

### Output

Rows are written to the default Apify dataset with actor-specific fields and source evidence. The output is designed for spreadsheets, dashboards, client audits, procurement notes, SEO reports, developer research, and other marketplace buyer workflows.

# Actor input Schema

## `startUrls` (type: `array`):

Paste one or more public status pages, incident history pages, postmortems, or incident update URLs.

## `maxResults` (type: `integer`):

Stop after this many useful rows. Leave this at 100 for normal runs.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://status.example.com"
    }
  ],
  "maxResults": 100
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://status.example.com"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("seeb/status-page-incident-intel-extractor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "startUrls": [{ "url": "https://status.example.com" }] }

# Run the Actor and wait for it to finish
run = client.actor("seeb/status-page-incident-intel-extractor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://status.example.com"
    }
  ]
}' |
apify call seeb/status-page-incident-intel-extractor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,seeb/status-page-incident-intel-extractor"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/WoGPpg4V4Jd6ZVKr9/builds/vtJsg3uIN9CUDJqSt/openapi.json
