Version:
Only show these results:

Rate limits in Nylas

Rate limits apply when making requests to the Nylas API and adding account information in the Dashboard. This page describes the limits you may encounter.

For best practices to mitigate rate limits, see Avoiding rate limits in Nylas.

Nylas v3 rate limits

The table below describes API rate limits for Nylas v3. These apply to all endpoints.

API Type Rate Limit Expiration
Applications General Allows up to 50 requests per application. 1 second
Authentication General Allows up to 50 requests per application. 1 second
Calendar General Allows up to 200 requests per grant. 1 second
Connectors General Allows up to 50 requests per application. 1 second
Contacts General Allows up to 200 requests per grant. 1 second
Email General Allows up to 200 requests per grant. 1 second
Grants General Allows up to 50 requests per application. 1 second
Send application/json Allows up to 200 requests per grant. 1 second
Send multipart/form-data Allows up to 10 requests per grant. 1 second
Webhooks General Allows up to 50 requests per application. 1 second

Threads rate limits

⚠️ The Return all threads endpoint makes a significant number of calls to the provider for each request you make. Because of this, Nylas strongly recommends using query parameters to limit the threads data you receive.

Because of the number of calls Nylas makes to the provider for each GET /v3/grants/<NYLAS_GRANT_ID>/threads request, you might encounter rate limits when working with large threads of email messages. You can take the following steps to avoid rate limits:

  • Specify a lower limit to reduce the number of results Nylas returns.
  • Add query parameters to your request to filter for specific information.

Nylas v2 rate limits

The table below describes API and Dashboard rate limits for Nylas v2. These apply to all endpoints, except the endpoints listed for concurrent and IP address endpoint rate limits.

Scope Type Rate Limit Expiration
Applications General Allows up to 500 requests per endpoint. 1 second
Accounts General Allows up to 50 requests per endpoint. 1 second

Scope

Nylas v2 implements rate limits in two ways: by application, and by account. This scope indicates that the rate limit applies to either your entire Nylas application, or to an individual connected account.

For individual accounts, the rate limit is applied to the access_token used to make an API call.

Concurrent rate limits

Scope Type Rate Limit Endpoints
Account Concurrent Allows up to 10 concurrent requests. /delta/streaming
Account Concurrent Allows up to 10 concurrent requests. /delta/longpoll
Account Concurrent Allows up to 5 concurrent requests. /messages
/threads
/contacts

IP address endpoint rate limits

The v2 GET /a/<client_id>/ip_addresses endpoint has its own rate limit: it allows up to 10 requests per endpoint, per hour.

429 error code response

If you receive a 429 error code response from Nylas, it includes information about why the request was rate-limited, as well as information about how long you should wait until you make another request.

The response includes two headers: X-RateLimit-Limit and X-RateLimit-Reset. The former indicates the rate limit, and the latter specifies the time until the limit expires, in seconds.

{
'X-RateLimit-Limit': '500',
'X-RateLimit-Reset': '10'
}

Nylas indicates what type of rate limit was applied to a request in the body of a 429 error code response, as in the snippet below.

{
'message': 'Too many requests',
'type': 'invalid_request_error'
}

The following table describes the rate limit messages you may encounter in the body of a 429 error code response.

Message Description
"Too many requests from this application" You reached the application rate limit.
"Too many requests" You reached the account rate limit for a single endpoint.
"Too many concurrent streaming requests" You made too many concurrent requests to the /delta/ endpoints for a single account.
"Too many concurrent query requests" You made too many concurrent requests to the /messages and /threads endpoints for a single account.

Provider rate limits

🔍 Not all IMAP providers publish information about their rate limits. If you have questions, contact your provider's customer support team.

Nylas API calls are also subject to the rate limits for the underlying providers, so keep these in mind when you build your Nylas application. The following sections outline the rate limits for common providers.

Google rate limits

⚠️ As of February 2024, Gmail has new requirements for accounts that send more than 5,000 email messages per day. For more information, see Google's official documentation.

Google has several sets of rate limits to keep in mind:

  • Overall usage limits: Per-user rate limit of 600 quota units per minute.
  • Email message sending limits: 2,000 email messages per day (see Google's Gmail sending limits in Google Workspace documentation).
  • Gmail API limits: Per-user rate limit of 250 quota units per second (see Google's Gmail usage limits documentation).
  • Google Calendar API limits: API usage quotas, general usage limits, and operational limits (see Google's Calendar quotas documentation).

Microsoft rate limits

Microsoft has different rate limits, depending on the platform you use:

  • Microsoft 365: 30 email messages per minute (see Microsoft's Exchange Online limits documentation).
  • Graph (Outlook): 10,000 API requests per 10-minute period (see Microsoft's Service-specific limits documentation). This includes both email and calendar requests.

iCloud rate limits

Apple limits the number of email messages you can send to 1,000 per day. For more information, see Apple's Mailbox size and message sending limits documentation.