SignalWatch

Public page monitoring

SignalWatch

Know when a page changes, goes down, or comes back.

SignalWatch watches the public URLs you choose and alerts website owners, developers, operators, and researchers by email, Slack, Discord, or a signed webhook — with the text diff, the outage, or the certificate warning.

No card required. 3 monitors on the free plan.

Pasting a URL previews the text we would watch. The form creates a free account. See how it works · API docs.

example payload CHANGED
{
  "event": "content.changed",
  "url": "https://example.com/pricing",
  "status_code": 200,
  "change_ratio": 0.031,
  "diff": "-Pro $12/mo\n+Pro $15/mo"
}

How it works

Four steps. The first check is a baseline, so you are not alerted for the page as it looks today.

  1. 01
    Add any public URLA pricing page, status page, changelog, policy, or docs URL. One monitor is one URL. Preview the text first if you want to see what the fetch returns.
  2. 02
    Choose what mattersVisible text on the whole page, a CSS selector such as #pricing, whether the fetch fails or recovers, and TLS expiry on HTTPS. Downtime and certificate checks ride along with every monitor.
  3. 03
    Pick a schedule and quiet the noiseFree checks every 15 minutes, Pro every 5, Business every 2. Optional: an ignore regex for timestamps, a minimum-change percentage, and ignore-order so a reshuffled list does not page you.
  4. 04
    Get an alert you can act onEmail, Slack, Discord, or a signed JSON webhook with the diff, the outage, or the certificate warning. Baseline, change, downtime, recovery, and certificate events stay in history for 45 days. Wire the webhook into n8n, a script, or CI.

What people watch

Each card is one public URL. SignalWatch does not crawl the rest of the site. Alerts follow your plan’s check interval: 15, 5, or 2 minutes.

Competitor pricing

Know when prices, plans or discounts change.

Monitor a public pricing page and receive a diff when it changes.

Status pages

Catch incidents and recoveries.

Monitor a public status page for incident, degraded, or recovered wording. A failed fetch is downtime; the next success is recovery.

Changelogs

See new releases without checking manually.

Monitor release notes, changelogs, or documentation pages.

Policy and documentation

Track changes to terms, privacy policies and docs.

Useful for compliance, research, and public-information monitoring. The alert is the text diff.

TLS expiry

Avoid a certificate-expiry surprise.

Get alerted before a certificate expires: once inside 14 days, then again inside 3, on each HTTPS URL you monitor.

Automation

Send changes to the tools you already use.

Use signed JSON webhooks with n8n, CI systems, or your own service. Slack and Discord incoming URLs get a formatted message.

What you can watch

The useful part is the alert. These are the controls that decide when it fires and where it goes.

Watch precisely

  • Visible text. The comparison uses the text a reader would see in the HTML, not a pixel screenshot.
  • CSS selector. Limit the hash to #pricing, main, or a status banner.
  • Downtime and recovery. check.down when the fetch fails, check.up when it succeeds again.
  • TLS expiry. cert.expiring inside 14 days, then again inside 3, on HTTPS URLs.

Avoid alert noise

  • Ignore regex. Strip timestamps and “3 minutes ago” before the comparison.
  • Minimum change. Skip edits smaller than a percentage of the watched text.
  • Ignore line order. A reshuffled list is not a change.
  • Unified diff. The alert and the dashboard show the lines that moved. History is kept for 45 days.

Send alerts where work happens

  • Email to the address on the account.
  • Slack and Discord via an incoming webhook URL. Those hosts receive a short message and a fenced diff.
  • Test alerts. Send a synthetic event before you wait for a real change.

Automate with the API

  • Signed JSON webhooks to any other HTTPS endpoint, with retries on failure. Payload and signature.
  • REST API and OpenAPI at /docs, using a per-account X-API-Key. Same plans as the dashboard. Examples.

Alerts you can act on

Illustrations of the wording email, Slack, and Discord actually send. Delivery waits for the next scheduled check — every 15, 5, or 2 minutes — so these are examples, not a live customer account.

Email / Slack / Discord alerts

Content change

SignalWatch

Pricing changed

https://example.com/pricing

HTTP 200 · Changed: 3.1% of text

-Pro — £19/month
+Pro — £24/month

Open dashboard

Email subject: [SignalWatch] Pricing changed. Slack and Discord use the same headline, URL, and a fenced diff.

Downtime and recovery

SignalWatch

Status page is DOWN

https://status.example.com

Error: HTTP 503

SignalWatch

Status page recovered

https://status.example.com

HTTP 200

Open dashboard

A failed fetch sends check.down. The next successful fetch sends check.up.

TLS expiry

SignalWatch

Example certificate expiring

https://example.com

Certificate: 12 days left · Issuer: Example CA

Certificate expires in 12 days on 2026-10-15 (Example CA)

Open dashboard

HTTPS monitors alert once inside 14 days, then again inside 3. Not on every check.

Developer webhooks

Signed JSON

Any HTTPS URL that is not Slack or Discord receives this body. Slack and Discord still get the signature headers. Failed deliveries retry on network errors, HTTP 429, and 5xx, up to 8 times over about four hours. Verify the signature.

X-SignalWatch-Event: content.changed
X-SignalWatch-Timestamp: 1710000000
X-SignalWatch-Signature: sha256=…

{
  "event": "content.changed",
  "check_id": 42,
  "name": "Pricing",
  "url": "https://example.com/pricing",
  "status_code": 200,
  "change_ratio": 0.031,
  "diff": "-Pro — £19/month\n+Pro — £24/month"
}

Security and account protection

SignalWatch does not publish a compliance certification. Questions: [email protected].

Pricing

A monitor is one public URL you add. You pay for more of those URLs and for faster checks. SignalWatch does not crawl the rest of a site. Diffs, downtime, TLS expiry, email, Slack, Discord, signed webhooks, and the API are on every plan, including Free.

Free

$0

  • 3 URL monitors · checked every 15 minutes
  • 45-day history
  • No card required
Start monitoring free
Plan limits for Free, Pro, and Business
Limit Free Pro Business
Price $0 $12/month $29/month
URL monitors 3 50 500
Check frequency Every 15 minutes Every 5 minutes Every 2 minutes
Change history 45 days 45 days 45 days
Email, Slack, Discord Included Included Included
Signed webhooks Included Included Included
REST API Included Included Included
Card required No At checkout At checkout
Selector, ignore rules, minimum change Included Included Included
Support Email Email Email

Each monitor is one public URL. SignalWatch does not crawl the rest of a site. Cancel any time from the billing portal. 14-day refund on the first payment. Prices in USD. Tax is handled at checkout by Creem.

FAQ

What can SignalWatch monitor?

Public HTTP(S) URLs you are allowed to fetch. Each monitor watches visible text, whether the fetch succeeds, and the TLS certificate on HTTPS URLs. It does not log in, render JavaScript, or crawl a whole site.

Can I monitor any public URL?

Any public http or https URL that is not a private network address, and that you are allowed to fetch. Logins, paywalls, and CAPTCHAs are not bypassed. If the important text only appears after JavaScript runs, SignalWatch will not see it. The signup preview shows the text that would be watched.

How frequently are pages checked?

Free checks every 15 minutes. Pro checks every 5 minutes. Business checks every 2 minutes. Checks are scheduled, not instant. The first check runs when you create the monitor and becomes the baseline.

How does change detection work?

SignalWatch fetches the page, extracts visible text (optionally inside a CSS selector), strips text that matches your ignore regex, and compares what remains with the last baseline. The first successful fetch is the baseline. A later fetch that differs by at least your minimum-change threshold sends content.changed with a unified diff.

Can I monitor only a section of a page?

Yes. Set a CSS selector such as #pricing or .status-banner. Only text inside that element is compared. If the selector matches nothing, the monitor reports that error instead of treating the page as empty.

How do ignore rules and minimum-change settings reduce noise?

An ignore regex removes matching text before the comparison, which is how you drop timestamps and “3 minutes ago”. A minimum-change setting skips edits smaller than a percentage of the watched text. Ignore-order treats reshuffled lines as unchanged. The diff in an alert shows what still counted.

Does SignalWatch monitor downtime and recovery?

Yes. A failed fetch sends check.down. A later successful fetch sends check.up. A page that stays HTTP 200 but changes its status banner is a content change, not downtime.

Does it monitor TLS certificates?

Yes, on HTTPS URLs. You get cert.expiring when the certificate is inside 14 days, and again inside 3 days. It does not alert on every check. Details are on the TLS certificate expiry monitoring page.

Can I receive Slack, Discord and webhook alerts?

Yes, on every plan including Free. Per monitor you can turn on email and one webhook URL. Slack and Discord incoming webhook URLs receive a formatted message with a diff. Any other HTTPS URL receives the JSON event.

Are webhooks signed?

Yes. JSON webhooks include X-SignalWatch-Signature, an HMAC-SHA256 of the timestamp and raw body, using a per-account secret. Slack and Discord URLs receive a formatted message; the signature headers are still set. Deliveries retry on failure. Use Send test alert to confirm the path. The webhook guide explains the payload.

Is there a free plan?

Yes. 3 URL monitors, checks every 15 minutes, no card required. Email, Slack, Discord, signed webhooks, the API, diffs, and 45-day history are included. The same history length is on Pro and Business.

Can I use the API?

Yes. The REST API uses an X-API-Key header. OpenAPI documentation is at /docs. The same actions as the dashboard are available over the API, on every plan.

How does SignalWatch differ from a full-site crawler?

SignalWatch monitors the individual URLs you add. It does not discover or crawl the rest of a site. To watch several pages, add each URL as its own monitor.

Where can I get support?

Email support@litework.me from the address on your account.