Plans and limits
Last checked: 2026-10-09 · Maintainer: UptimeObserver Support
Use Free, Indie, and Pro consistently. In these docs, paid plans means Indie and Pro; the dashboard sometimes calls these features Premium. All plans includes Free. Third-party services can charge separately.
Advertised capacities
The public pricing page is the reference for advertised capacities and current prices. These are advertised allowances, not a claim that every limit is enforced by the API.
| Capacity | Free | Indie | Pro |
|---|---|---|---|
| Monitors | 20 | 50 | 200 |
| Minimum check interval | 5 minutes | 1 minute | 30 seconds |
| Status pages | 1 | 5 | 10 |
| Email alert recipients | 1 | 3 | 10 |
| Webhook alerts | 2 | 20 | 50 |
| Custom status-page domains | Not included | Included | Included |
Pricing and implementation differences
The backend currently uses monitor limits of 20 / 100 / 500, rather than the advertised 20 / 50 / 200 above. Do not depend on the larger implementation limits as a subscription entitlement. Webhook-alert allowances are advertised, but matching enforcement was not verified in the current service implementation.
Pricing includes Email alerts on Free, and the backend supports one Free email recipient, but the current dashboard hides Email configuration controls on Free. Contact support if you cannot configure an advertised feature; do not assume upgrading is the required fix.
Monitoring controls
Control ranges and Heartbeat/body-assertion restrictions were checked against the product source confirmed by the owner as production behavior. SSL/domain-expiry inclusion follows public pricing; inclusion is not a claim that every API path enforces a paid-plan gate.
| Control or feature | Free | Indie | Pro |
|---|---|---|---|
| HTTP, DNS, TCP Port, and Ping monitors | Available | Available | Available |
| HTTP / Port / Ping timeout control | 1–15 seconds | 1–300 seconds | 1–300 seconds |
| Regions per actively checked monitor | 1 | Up to 4 | Up to 4 |
| Heartbeat monitors | Not available | Available | Available |
| HTTP response-body assertions | Not available | Available | Available |
| Automatic SSL-expiry checks and alerts | Not included | Included | Included |
| Automatic domain-expiry checks | Not included | Included | Included |
| Alert retrigger for Monitor Down | Not available | Available | Available |
| Maintenance windows (backend defaults) | Not available | 3 | 20 |
| Monitors per maintenance window (backend defaults) | Not available | 10 | 100 |
Timeouts apply to individual attempts, not necessarily the total check duration. DNS monitoring uses a separate fixed 1-second query timeout. Heartbeats receive pings rather than polling your endpoint, and use their own schedule and grace period.
See the bot reference for region names and firewall addresses. A region allowance does not guarantee that a particular region is available at every moment.
Integrations
Availability below refers to UptimeObserver, not to the third-party provider's subscription. Email follows advertised pricing with the dashboard caveat above; Free Mobile has a separate known setup restriction.
| Integration | Availability | Additional requirement |
|---|---|---|
| All plans in pricing; Free dashboard setup restricted | Recipient configuration; see discrepancy above | |
| Telegram | All plans | Connect the account to the bot |
| Pushover | All plans | Pushover account and device license |
| Slack | Paid plans | Workspace app-install permission |
| Discord | Paid plans | Discord channel webhook |
| PagerDuty | Paid plans | PagerDuty account and service |
| Webhooks | All plans, subject to advertised webhook allowance | Accessible HTTP receiver |
| Twilio SMS / WhatsApp | Via Webhooks on all plans | Twilio charges; WhatsApp production templates need approval |
| Ntfy / Zenduty | Via Webhooks on all plans | Provider account or self-hosted receiver |
| Free Mobile | Current dashboard requires a paid plan to add credentials | Free Mobile subscription in France; commercial availability needs confirmation |
| MCP API Keys | All plans | An active private key; not a notification channel |
Connecting an integration does not attach it to every monitor. Follow Add an alert to a monitor and configure both Monitor Down and Monitor Up.
Status pages and components
Status-page counts and custom-domain availability are in the advertised-capacities table. Custom domains currently require manual support activation.
Components (Beta): the current component service and dashboard do not show a plan gate or a numeric subscription cap. Pricing does not specify a component allowance. The older claim that components require a paid plan is therefore unconfirmed; ask support before relying on a particular entitlement. A service returning only a page of results is not a subscription limit.
The backend's default subscriber limits are 5 / 50 / 200 per status page for Free / Indie / Pro. These are implementation defaults, not a separately advertised pricing commitment.
MCP key limits
All plans can create up to 20 active MCP keys per account. Keys expire after 90 days by default; custom expiry is at most 365 days. Revoking or expiring a key is different from deleting monitoring data. See MCP API Keys for setup and safe storage.
If a limit or feature looks wrong
Check your current plan in the dashboard and compare it with public pricing. Send support your plan name, the feature, the exact error, and a screenshot with secrets removed. Accounts can have individual overrides; never include passwords, API keys, webhook URLs, or heartbeat URLs in a public report.
This page distinguishes pricing allowances from observed implementation behavior. The discrepancies above require product review and must be rechecked after billing or dashboard changes.