Free · €0 / month

Monitor websites. Stay on Free.

10 monitors for websites and APIs, checks from two regions and one status page. Detect outages and keep your customers informed.

No time limit. No credit card. Checks every 5 minutes.

Perstat’s own statusstatus page

From your first monitor to a test alert

01

Enter an address

Create an HTTP monitor for your website or API. Choose regions and an interval available in your plan.

02

Choose an alert destination

Enable push on your iPhone or choose an existing connector. Personal SMS starts at Pulse; on-call with phone calls starts at Sentinel.

03

Receive a test alert

Make an endpoint you own fail in a controlled test. Wait for the confirmed outage and check the alert. Then restore the endpoint.

The Test button only checks the monitor. It does not create a stored incident or replace this alert test. Use a test service, not a customer service.

Enter an address
Original Perstat interface captures with sample data. They show setup and an alert, not a recording of this test.

From outage to recovery

A check fails. Once quorum is reached, Perstat opens an incident. Someone acknowledges it; confirmed recovery closes it. Automatic incidents and acknowledgment are in every plan. On-call with SMS and phone calls starts at Sentinel for €89 net per month.

Open the guide

Keep your client websites in view

Example: ten clients, each with a project and a status page on its own domain. Sentinel includes five pages; five extra pages total €89 + 5 × €9 = €134 net per month. White-label requires Command at €249 with up to 20 pages.

Projects are not private client consoles. HTTP content checks test one request, not a complete browser checkout or every image on a website.

Open the guide

Know when a scheduled job goes missing

Create a heartbeat, copy its secret ping URL and send the first ping. Report only genuine success to that URL and failures to the failure URL. To test alerts, let a test job miss its deadline after its first ping.

if /path/to/job.sh; then
  curl --fail --silent --show-error "$PERSTAT_PING_URL"
else
  curl --fail --silent --show-error "$PERSTAT_PING_URL/fail"
  exit 1
fi

Free includes two heartbeats. The signal confirms a job report, not a successful backup restore.

Open the guide

Spot outages and know where to act

Four public incident reports show the value of an outside view.

  1. Check independently

    Check availability from outside your own platform.

    Google Cloud

    During the cloud outage, some customers’ monitoring failed too.

  2. Monitor your own URL

    A check of your customer-facing URL gives you your own outage signal.

    Atlassian

    The first customer ticket arrived 8 minutes after the outage began.

  3. Notice DNS failures

    DNS checks show when a domain name stops resolving.

    Marketo

    A DNS problem made the sign-in page unreachable.

  4. Notice missing jobs

    A heartbeat alerts you when an expected success signal is missing.

    GitLab

    Backup jobs failed, and their error emails were rejected.

Perstat replaces checks, status pages, and uptime on-call

Perstat covers the chain from the failing check to the evidence. It is not an observability suite, by design.

  • Uptime checks

    Instead of UptimeRobot, Pingdom, or the uptime checks of a broader suite: 13 check types from named regions.

  • Status page

    Instead of Atlassian Statuspage: public or protected pages, fed by the same monitors and incidents.

  • Uptime on-call

    Instead of the uptime slice of Opsgenie or PagerDuty: acknowledgment on the phone, plus schedules and escalation.

Logs, traces, APM, and alerts from other tools stay where they are. Perstat does not ingest them.

Let pipelines and agents act without risking history

The MCP endpoint that registers monitors also serves agents and scripts. Every write is attributed to the person who created the key, whose current role is checked on each call.

Read the MCP documentation
Write tools over MCPtools/call
  • create_projectCreate a project
  • create_monitorCreate a monitor
  • update_monitorEdit name, settings, interval, or regions
  • set_monitor_enabledPause or resume a monitor
  • archive_monitorArchive a monitor and free its plan slot
  • restore_monitorRestore an archived monitor, paused
  • acknowledge_incidentAcknowledge an incident
  • resolve_incidentResolve an incident
  • delete_monitorDoes not exist, because deleting a monitor would also delete its incident history.
MCP
Read monitors and incidents, create and edit monitors, and acknowledge and resolve incidents. Creating monitors needs an organization-wide API key.
REST and webhook
Read, create and update monitors through REST, plus a signed webhook for your own automation.
Notifications
Slack, Microsoft Teams, Discord, Google Chat, PagerDuty, and Opsgenie.

Native apps for iPhone, iPad, and Apple Watch

The apps show full-screen alerts, let you acknowledge with a swipe, and put the open incident on the Lock Screen as a Live Activity. There is no native Android app, but SMS from Pulse and on-call phone calls from Sentinel reach any phone.

View in the App Store
25 seconds · no audio
The alarm reaches the on-call responder. Real iPhone app. English recording with example data. Alarm → Silence → Acknowledge. The service remains unavailable until the fault is fixed.

Start free. Upgrade when you need more

Free costs €0 per month with no time limit. Pay for more monitors and additional features when you need them.

Choose a plan for the job

Monitor for free · Free

€0 per month. 10 monitors, two heartbeats and one status page. Automatic incidents and acknowledgment included.

Personal SMS · Pulse

Personal SMS, 50 monitors and three seats. €29 net/month.

Organize on-call · Sentinel

Rotations, SMS and calls, 150 monitors and 15 seats. €89 net/month.

Manage client sites · Sentinel / Command

Custom status domains from €89, white-label from €249 net/month. Check page allowances.

Swipe sideways to compare every plan

Compact comparison of the five Perstat plans
What changes with each planFree€0/ monthNo time limitPulse€29/ monthSentinel€89/ monthCommand€249/ monthEnterprisefrom €690/ month
Monitors1050150500custom
Seats131530custom
Shortest interval300 s60 s30 s15 s10 s
Probe regions2 of 63 of 6all 6all 6all 6
Public history*7 days30 days90 days1 year2 years
Status pages11520custom
On-call, manual incidents, post-mortemsnonoincludedincludedincluded

Prices per month in EUR, net, excluding VAT. Enterprise starts at the amount shown. *These values limit the public history of resolved incidents. Other data objects currently follow separate storage and deletion rules. Review the documented retention limits before procurement.

  • EU control plane

    Operated by Datargo GmbH in Germany.

  • Named regions

    Probe locations are listed by name instead of hidden behind a world map.

  • Inspectable status

    Product captures, the public status page, the sample report, and current procurement limits are visible without a login.

Illustrative walkthrough

Set up at deploy. Alerted on failure

A sample agent conversation shows the setup. The Perstat images are real product views with sample data, not a recording of this conversation.

1 / 4

Include monitoring in your deployment

Your website or API is ready to go live. Ask your connected coding agent to include monitoring, without opening a second setup form.

The example assumes Perstat is connected and the agent has permission to manage this project.

Explore uptime monitoring
Your project · coding agentExample
You

Deploy this release.

Agent

Deployment is complete. Perstat is connected. Shall I monitor the public health URL?

You

Yes, with the agreed regions and interval.

Agent

The URL monitor is set up. The first check is still pending. You can keep working.

2 / 4

Confirm the URL and the monitor

The agent can create a URL monitor over MCP or update an existing one. It reports what was configured in the conversation.

Monitor creation is separate from the first check. Intervals and regions depend on your plan.

Explore uptime monitoring
Monitor setupExample
You

Monitor the health URL in this project. Use the regions and interval we selected.

Agent

Monitor configured. The first check is still pending. You can open its details in Perstat.

3 / 4

Perstat checks while you keep working

Perstat checks the URL from outside your service. Results and response times appear in the monitor, even after you close the coding agent.

A successful HTTP check verifies the configured endpoint. It does not test an entire checkout journey.

Explore uptime monitoring
Perstat monitor view of Order API with its check regions, uptime, response times, and certificate details
Real product view, sample data. Six regions are available from Sentinel. Enlarge product view
4 / 4

A confirmed outage gets your attention

When the configured failure rules are met, Perstat opens an incident and notifies you through your configured channels.

Regional checks require confirmation from two regions by default. Acknowledging an alert does not repair the service.

Explore uptime monitoring
Full-screen Perstat outage alert for Order API on iPhone with a swipe control to acknowledge
Real Perstat iPhone app with sample data. The configured alert channel delivers the notification.
1 / 4

Track a scheduled job

A job may stop running while its server still responds. A heartbeat tells Perstat when that job reports in.

This example follows a scheduled report. The same pattern can monitor a backup job.

Explore heartbeat monitoring
Your project · coding agentExample
You

Add monitoring for our hourly report job.

Agent

A heartbeat fits this job. Let us confirm the expected interval, the grace period, and who should receive alerts.

2 / 4

Report only after the job succeeds

Create the heartbeat and add its private ping address to the job. Send the success signal after the job finishes successfully.

Keep the address secret. MCP support depends on the connected server and client version.

Explore heartbeat monitoring
Heartbeat setupExample
Job configuration

Run the report. Send the success signal only when the report completes.

Perstat

The monitor waits for its first signal. Configuring the monitor alone does not confirm that the job ran.

3 / 4

Verify the first successful run

Run the job and check that Perstat received its signal. Future runs report on the same schedule.

A backup heartbeat confirms the job signal. It does not verify that a backup can be restored.

Explore heartbeat monitoring
First-run checklistExample
Job

The report completed. Its success signal was sent.

Your next check

Open the monitor and verify the recorded signal before relying on its schedule.

4 / 4

Notice when a run is missing

If the next signal is late beyond the expected interval and grace period, Perstat can open an incident and notify the configured recipients.

Heartbeat checks use the job schedule, without regional quorum.

Explore heartbeat monitoring
Configured notificationExample
Example incident

The hourly report has not checked in within its configured window.

Your next step

Inspect the failed or missing run. Acknowledge the incident when you take responsibility.

Automate monitoring in your next deployment

API and MCP are additional setup options. The sequence below is a labelled example.

Skip the story
Skip the story
  1. Every release adds something to watch

    order-api 2.16.0 adds a payments webhook. Of the last 8 deploys, 3 shipped an endpoint, a job, or a service without a monitor, because creating one was a separate task.

    Deploy logExample
    1. 09-10 14:02order-api 2.16.0+ /webhooks/paymentsno monitor
    2. 09-10 11:47search-indexer 1.9.3worker poolmonitored
    3. 09-09 17:20checkout-web 4.2.0+ /api/cart/v2no monitor
    4. 09-09 09:15auth-service 3.1.1token rotationmonitored
    5. 09-08 16:40image-resizer 0.7.0new serviceno monitor
    6. 09-08 10:05mail-relay 1.4.2patchmonitored
    7. 09-05 15:30order-api 2.15.4patchmonitored
    8. 09-05 08:12status-sync 0.3.0cron jobmonitored

    3 of 8 deploys added something without a monitor

  2. Put the monitor into the deploy

    A step after the release job creates the monitor through the REST API. Use an organization API key with monitors:write and access to the project. HTTP errors fail the job.

    deploy.ymlExample
    # after the release job: register the monitor
    - name: Register monitor
      run: |
        curl --silent --show-error --fail-with-body \
          "https://api.perstat.io/projects/$PERSTAT_PROJECT_ID/monitors" \
          --header "Authorization: Bearer $PERSTAT_API_KEY" \
          --header "Content-Type: application/json" \
          --data '{
            "name": "Order API", "type": "http",
            "config": {"url": "https://orders.example.com/health"},
            "interval_seconds": 300,
            "regions": ["na", "eu", "as", "sa", "af", "oce"]
          }'
  3. One monitor, however often you deploy

    The API returns the monitor with its ID. Keep that ID and use PATCH for later changes. Creating the same name again returns a conflict; it does not silently count as success.

    REST API · 201 Created · response excerptExample
    {
      "id": "mon_…",
      "name": "Order API",
      "type": "http",
      "enabled": true,
      "interval_seconds": 300,
      "regions": [
        "na",
        "eu",
        "as",
        "sa",
        "af",
        "oce"
      ]
    }
    Next deploy

    Update the saved monitor ID with PATCH /monitors/{monitor_id}.

  4. Six regions start checking

    Probe nodes on 6 continents run the check at its interval. Perstat stores every result with the region that measured it.

    Perstat monitor view with response times per region and a breakdown of results by region
    • naNorth America
    • saSouth America
    • euEurope
    • afAfrica
    • asAsia
    • oceOceania
  5. Two regions confirm the outage

    A failure in one region is a quiet notice, not a page. When a second region reports a failure too, the default quorum confirms the outage and opens exactly one incident.

    Quorum for Order APIExample
    • naewrNewarkFailed
    • sagruSão PauloOK
    • eufraFrankfurtOK
    • afjnbJohannesburgOK
    • assgpSingaporeFailed
    • ocesydSydneyOK

    na (Newark) reports a failure: a quiet notice, nobody is paged yet.

    as (Singapore) reports a failure too: quorum reached, incident opened at 02:41:12 UTC.

  6. Alerts escalate until someone acknowledges

    Perstat alerts iPhone and Apple Watch, and Slack, Teams, or PagerDuty through connectors. On-call escalation moves on to SMS and a phone call until someone acknowledges.

    On-call escalation: Sentinel and above

    Full-screen Perstat outage alert for Order API on iPhone with a swipe control to acknowledge
    On-call escalation until someone acknowledges
    1. PushNative notification on iPhone and Apple Watch.
    2. SMSA timed stage of on-call escalation.
    3. Phone callThe last stage of on-call escalation, on any phone.
    4. AcknowledgedOwnership is visible, and the remaining devices go quiet.
    Also through connectors
    • Slack
    • Microsoft Teams
    • Discord
    • Google Chat
    • PagerDuty
    • Opsgenie
    • Webhook

    Personal SMS alerts without a rotation: Pulse and above

    acknowledge_incidentOr from the terminal: your agent calls acknowledge_incident over MCP, attributed to the owner of the key.

  7. Customers see it on the status page

    The incident opened by the quorum appears on the linked status page with its current phase, and the component switches to Down. Nobody has to copy it over by hand.

    status.example.comExample

    Major outage

    • Order APIDown
    • StorefrontOperational
    • SearchOperational
    AcknowledgedOrder API02:41:12 UTC
  8. The incident goes into the availability record

    When the regions report recovery, the incident closes with its confirmed start, end, and duration. Announced maintenance is excluded for its window. Perstat calculates availability from the same record.

    Availability recordExample
    Order APIQ2 2026
    1. 2026-05-03 02:41:12Incident, confirmed by quorum00:07:12
    2. 2026-05-17 22:00:00Maintenance, announced and excluded01:30:00
    Availability, gross
    99.925%
    After excluding announced maintenance
    99.994%

    Export: PDF report per monitor for 7 to 90 days. CSV with manifest on request.

  9. Your customers see the state before they ask

    Your status page on your own domain shows the state, like this scheduled database upgrade. The page and the badge on your site read from the record behind the availability figure.

    Own domain: Sentinel and above

    status.example.comSample data
    A customer-facing status page with grouped components, 90-day availability bars, and a scheduled maintenance notice
    Status badge: operational <img src="https://status.example.com/badge.svg" alt="Service status"> The same badge on your site, served under your domain. It shows what the page shows.
Every check type and its options Open the sample SLA report See Perstat’s public status page

Set up your first free monitor

Start with a website or API. Free includes 10 monitors, two check regions and one status page, with no credit card or time limit.