API requests are rate-limited per minute to keep the service stable. There are no daily or monthly request quotas. Every plan with API access gets the same per-minute limits, and they 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. |
| 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. |
| 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 plan with API access. 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