Feature
Multi-channel alerts
Four notification channels, configurable thresholds, and severity-aware delivery so you only get paged for things that actually matter.
Channels
Delivered via Resend. Available on every plan.
Slack
Incoming Webhooks. Available on every plan.
Discord
Channel webhooks. Available on every plan.
Generic webhook
JSON POST to any HTTPS endpoint, with optional HMAC signing. Every plan.
Configurable thresholds
Pick which "X days before expiry" milestones fire alerts. Defaults are 30, 14, 7, 3, and 1 day.
- › Free: 1-day threshold only
- › Hobby: 14, 7, 3, 1 day
- › Pro & Agency: 30, 14, 7, 3, 1 day — fully configurable
What triggers an alert
- › SSL expiry — at each configured threshold.
- › Domain registration expiry — at each configured threshold.
- › Downtime & recovery — when uptime monitoring confirms your site is down, and again when it recovers (with the outage duration). See uptime monitoring.
- › Certificate change — rekey, issuer swap, SAN drift, weakened crypto, chain regression. See change detection.
- › Self-signed certificate — fires once per 24 hours at critical severity.
- › Check failure — when Xpiry can't reach the host or the handshake fails. Includes the configured port so you can fix it without guessing.
- › Monitoring broken — after five consecutive failed checks of any type, with a 24h debounce.
Smart deduplication
Xpiry tracks recent alerts per type and won't re-fire the same one inside its debounce window — typically 24 hours. So a flapping endpoint won't fill your inbox, and a one-day-out reminder won't repeat itself every six hours. Downtime alerts are the deliberate exception: they re-fire every 30 minutes while the outage continues, until you acknowledge it or the site recovers.
Start monitoring in minutes
Free for one domain. No credit card required.
Get started freeSee the full feature list or pricing.