Understanding API Rate Limits
To ensure the reliability and performance of our API, monday.com enforces several rate limits. These limits help manage the system load and ensure fair usage across all accounts. Hitting these limits can lead to temporary errors, but understanding them will help you avoid disruptions.
You can find technical details and examples in our developer documentation on rate limits.
Types of Rate Limits
1. Complexity Limit
Complexity defines how heavy each API call is. Most accounts will not reach this limit, because the quota is set high enough to affect only queries that could compromise the stability of the API. If you reach a complexity limit, you will see one of two errors:
- Error Message: REQUEST_MAX_COMPLEXITY_EXCEEDED. This error is returned when a single query is too heavy and exceeds the 5M complexity point limit for an individual query.
- Error Message: COMPLEXITY_BUDGET_EXHAUSTED. This error is returned when you send too many heavy queries within one minute and use up your per-minute complexity budget.
- What to do:
- Only request the data you need
- Avoid overly complex or deeply nested queries
- Use pagination with the page and limit arguments
For per-minute budgets by token type, see the complexity limit section of our developer documentation.
2. Daily Call Limit
Each API request may consist of multiple API calls, and each account has a daily cap on the number of calls allowed. To see the limits for each tier, go to the Rate limits documentation.
Error Message: DAILY_LIMIT_EXCEEDED
What to do: optimize your code to reduce unnecessary calls, or wait until the limit resets at midnight UTC.
3. Minute Rate Limit
Limits the number of queries per minute.
Error Message: Rate Limit Exceeded
What to do: reduce the frequency of requests, and use the Retry-After header to know when you can safely try again.
4. Concurrency Limit
Restricts how many API calls can be handled at once.
Error Message: Concurrency limit exceeded
What to do: send fewer requests in parallel, and add retry logic to wait before trying again.
5. IP Limit
Limits the number of requests from a single IP in a short time (5,000 requests per 10 seconds).
Error Message: IP_RATE_LIMIT_EXCEEDED
What to do: pause before retrying, as suggested by the retry_in_seconds field in the error response.
General best practices
- All requests, even failed ones, count toward your limits.
- Avoid retrying requests immediately after a rate limit error. Always check the retry_in_seconds field in the response.
- If you're using our SDK, it automatically respects rate limit responses and retries after the appropriate wait time.
If you build on the API, review the full Rate Limits Documentation to understand how limits apply based on your use case and plan.
Need help optimizing your API usage? Contact our support team for guidance.
If you have any questions, please reach out to our team right here. We’re available 24/7 and happy to help.