Overview

Rate Limiting

API requests are rate-limited per minute to keep the service stable. There are no daily or monthly request quotas. Paid plans share the same per-minute limits; the free plan's read-only tier has a smaller budget. Limits never run out.

Current Limits

Scope Limit Notes
Standard API requests 120/min All monitor, group, incident, status page, report, and webhook-endpoint routes. Counted per account. The free plan's read-only tier is limited to 30/min.
On-demand URL checks 20/min GET /check-url runs real probes from every region, so it has its own budget, shared with the MCP check_url tool. Requires a paid plan.
Manual monitor re-checks 20/min POST /monitors/{id}/check
Webhook endpoint tests 10/min POST /webhook-endpoints/{id}/test
MCP server 60/min AI assistant tool calls, counted separately from REST requests.

No request quotas

Some monitoring APIs cap you at a few thousand requests per day per plan. Sentinel doesn't. At 120 requests per minute you could make over 170,000 requests a day on any paid plan. Automation, CI runs, Terraform plans, and AI agents don't need to budget requests.

Rate Limit Headers

Every API response includes headers with rate limit information:

X-RateLimit-Limit: 120
X-RateLimit-Remaining: 118
X-RateLimit-Reset: 1704800400
Header Description
X-RateLimit-Limit Maximum requests allowed per minute
X-RateLimit-Remaining Requests remaining in current window
X-RateLimit-Reset Unix timestamp when the limit resets

Exceeding the Limit

When you exceed the rate limit, you'll receive a 429 Too Many Requests response:

{
  "message": "Too Many Attempts.",
  "retry_after": 45
}

Best Practices

  • Implement exponential backoff when retrying failed requests
  • Cache responses where appropriate to reduce API calls
  • Use webhooks instead of polling where possible
  • Monitor your rate limit headers to avoid hitting limits