PingWhen

Page change notification

We hash the visible text of the HTML we receive and ping you once when it moves.

Starter $9/mo · 10 watches · every 15 min. Plus $19/mo · 40 watches · every 5 min.

What to watch

We watch the HTML we receive; JavaScript-only apps are not supported. Webhook POSTs JSON. We sign it. Cancel anytime.

Why text, not screenshots or raw HTML

Raw HTML changes constantly for reasons nobody cares about: cache-busting asset names, CSRF tokens, analytics snippets, reordered attributes. Screenshots change when a font loads late or a banner slides in. PingWhen compares the visible text instead, so an alert usually means a person would notice the difference too.

How a check works

On your plan's interval we fetch the URL with PingWhenBot/1.0. For HTML we drop scripts, styles and comments, keep the visible text, collapse whitespace, lowercase it, and mask ISO-8601 timestamps. We hash that text. The first successful fetch is the baseline and never alerts. After that, a different hash means a change alert with a one-line excerpt of what is new.

What the notification looks like

Email subject: Changed example.com. Body: Changed on example.com/pricing — text now includes "$19/mo". followed by a link to your watches. Starter excerpts are up to 240 characters; Plus goes to 500.

Webhook destinations get a JSON POST with event, watch_id, url, checked_at, http_status and excerpt, signed in the X-PingWhen-Signature header. If your endpoint fails we retry, and if it answers 410 Gone we delete the watch.

No alert storms

Honest limits

Pricing

Starter $9/month: 10 watches, every 15 minutes. Plus $19/month: 40 watches, every 5 minutes. Email, SMS (US/CA), or webhook on both.

Related