Rate Limit Exceeded Errors
Guide to troubleshooting rate limit exceeded errors
Rate limit table
Errors of type RATE_LIMIT_EXCEEDED will occur when the rate limit for a
particular endpoint has been exceeded. Default rate limit thresholds for some of
the most commonly rate-limited endpoints are shown below. Note that this table
is not an exhaustive listing of all Plaid rate limits or rate-limited
endpoints, that some customers may experience different rate limit thresholds from
those shown, and that rate limits are subject to change at any time.
In general, Plaid default rate limits are set such that using the API as designed should typically not cause a rate limit to be encountered. If your use case requires a higher rate limit, contact your account manager or file a Support request.
ACCOUNTS_LIMIT
Too many requests were made to the /accounts/get endpoint.
Common causes
- Too many requests were made in a short period of time. In Production, requests to
/accounts/getare rate limited to 15 per minute (per Item) and 15,000 per minute (per client). In the Sandbox, they are rate limited to 100 per minute (per Item) and 5,000 per minute (per client).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "ACCOUNTS_LIMIT",
"error_message": "rate limit exceeded for attempts to access this item. please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}ACCOUNTS_BALANCE_GET_LIMIT
Too many requests were made to the /accounts/balance/get endpoint.
Common causes
- Too many requests were made in a short period of time by a single client. In Production, requests to
/accounts/balance/getare rate limited to 1,200 per minute (per client). In the Sandbox, they are rate limited to 1,200 per minute (per client).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "ACCOUNTS_BALANCE_GET_LIMIT",
"error_message": "rate limit exceeded for attempts to access this item. please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}AUTH_LIMIT
Too many requests were made to the /auth/get endpoint.
Common causes
- Too many requests were made in a short period of time. In Production, requests to
/auth/getare rate limited to 15 per minute (per Item) and 12,000 per minute (per client). In the Sandbox, they are rate limited to 100 per minute (per Item) and 500 per minute (per client).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "AUTH_LIMIT",
"error_message": "rate limit exceeded for attempts to access this item. please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}BALANCE_LIMIT
Too many requests were made to the /accounts/balance/get endpoint.
Common causes
- Too many requests were made for a single Item in a short period of time. In Production, requests to
/accounts/balance/getare rate limited to 5 per minute, 30 per hour (per Item). In the Sandbox, they are rate limited to 25 per minute, 1,500 per hour (per Item).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "BALANCE_LIMIT",
"error_message": "rate limit exceeded for attempts to access this item. please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}CREDITS_EXHAUSTED
You have used up your free API usage allocation in Limited Production
Common causes
- You ran out of free API calls for a given product in Limited Production.
- You do not yet have Production access and hit the Item creation cap in Limited Production.
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "CREDITS_EXHAUSTED",
"error_message": "Free usage exhausted, please request full Production access to continue using this product",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}IDENTITY_LIMIT
Too many requests were made to the /identity/get endpoint.
Common causes
- Too many requests were made in a short period of time. In Production, requests to
/identity/getare rate limited to 15 per minute (per Item) and 2,000 per minute (per client). In the Sandbox, they are rate limited to 100 per minute (per Item) and 1,000 per minute (per client).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "IDENTITY_LIMIT",
"error_message": "rate limit exceeded for attempts to access this item. please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}INSTITUTIONS_GET_LIMIT
Too many requests were made to the /institutions/get endpoint.
Common causes
- Too many requests were made in a short period of time. In Production, requests to
/institutions/getare rate limited to 50 per minute (per client). In the Sandbox, they are rate limited to 10 per minute (per client).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "INSTITUTIONS_GET_LIMIT",
"error_message": "rate limit exceeded for attempts to access \"institutions get by id\". please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}INSTITUTIONS_GET_BY_ID_LIMIT
Too many requests were made to the /institutions/get_by_id endpoint.
Common causes
- Too many requests were made in a short period of time. In Production, requests to
/institutions/get_by_idare rate limited to 400 per minute (per client). In the Sandbox, they are rate limited to 400 per minute (per client).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "INSTITUTIONS_GET_BY_ID_LIMIT",
"error_message": "rate limit exceeded for attempts to access \"institutions get by id\". please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}INSTITUTION_RATE_LIMIT
Too many requests were made to a given institution.
Common causes
- Too many requests were made by Plaid in a short period of time to a given institution. Because each institution has unique rate limiting behavior, Plaid cannot provide exact details of how many requests are necessary to trigger this behavior.
- This error will only trigger when calling API endpoints that request real-time data from the institution, such as
/accounts/balance/getor/transactions/refresh. - This institution-level limit is distinct from per-Item or per-client limits and is not applied to user-present traffic (e.g., within Link).
- In some cases, the cause of the rate limit may be another client and may not be your client application's behavior.
Troubleshooting steps
If your client made a very large number of requests in a short time to a real-time endpoint such as /accounts/balance/get at a single institution, consider adding logic to spread these requests over a longer time window.
Use an exponential backoff retry algorithm to try your request again later.
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "INSTITUTION_RATE_LIMIT",
"error_message": "The institution is currently receiving too many requests. Please try again later.",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}INVESTMENT_HOLDINGS_GET_LIMIT
Too many requests were made to the /investments/holdings/get endpoint.
Common causes
- Too many requests were made in a short period of time. In Production, requests to
/investments/holdings/getare rate limited to 15 per minute (per Item) and 2,000 per minute (per client). In the Sandbox, they are rate limited to 100 per minute (per Item) and 1,000 per minute (per client).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "INVESTMENT_HOLDINGS_GET_LIMIT",
"error_message": "rate limit exceeded for attempts to access this item. please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}INVESTMENT_TRANSACTIONS_LIMIT
Too many requests were made to the /investments/transactions/get endpoint.
Common causes
- Too many requests were made in a short period of time. In Production, requests to
/investments/transactions/getare rate limited to 30 per minute (per Item) and 20,000 per minute (per client). In the Sandbox, they are rate limited to 100 per minute (per Item) and 1,000 per minute (per client).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "INVESTMENT_TRANSACTIONS_LIMIT",
"error_message": "rate limit exceeded for attempts to access this item. please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}ITEM_GET_LIMIT
Too many requests were made to the /item/get endpoint.
Common causes
- Too many requests were made in a short period of time. In Production, requests to
/item/getare rate limited to 15 per minute (per Item) and 5,000 per minute (per client). In the Sandbox, they are rate limited to 40 per minute (per Item) and 5,000 per minute (per client).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "ITEM_GET_LIMIT",
"error_message": "rate limit exceeded for attempts to access this item. please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}RATE_LIMIT
Too many requests were made.
Common causes
- Too many requests were made in a short period of time.
- Sandbox credentials (the username
user_goodoruser_custom) were used to attempt to log in to Production. Because using these credentials in a live environment is a common misconfiguration, they are frequently subject to rate limiting. - A Link attempt was detected as potential attempted abuse. For example, this may occur if a user enters their credentials incorrectly too many times in a row.
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "RATE_LIMIT",
"error_message": "rate limit exceeded for attempts to access this item. please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}TRANSACTIONS_LIMIT
Too many requests were made to a transactions endpoint such as/transactions/get or /transactions/refresh.
Common causes
- Too many requests were made in a short period of time. In Production, requests to
/transactions/getare rate limited to 30 per minute (per Item) and 20,000 per minute (per client). In the Sandbox, they are rate limited to 30 per minute (per Item) and 1,000 per minute (per client).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "TRANSACTIONS_LIMIT",
"error_message": "rate limit exceeded for attempts to access this item. please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}TRANSACTIONS_REFRESH_LIMIT
Too many requests were made to the /transactions/refresh endpoint.
Common causes
- Too many requests were made in a short period of time. In Production, requests to
/transactions/refreshare rate limited to 2 per minute, 120 per hour, 2,880 per day (per Item) and 100 per minute, 18,000 per hour, 432,000 per day (per client). In the Sandbox, they are rate limited to 2 per minute, 120 per hour, 2,880 per day (per Item) and 100 per minute, 6,000 per hour, 144,000 per day (per client).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "TRANSACTIONS_REFRESH_LIMIT",
"error_message": "rate limit exceeded for attempts to access this item. please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}TRANSACTIONS_SYNC_LIMIT
Too many requests were made to the /transactions/sync endpoint.
Common causes
- Too many requests were made in a short period of time. In Production, requests to
/transactions/syncare rate limited to 50 per minute (per Item) and 2,500 per minute (500 per empty cursor request) (per client). In the Sandbox, they are rate limited to 50 per minute (per Item) and 1,000 per minute (250 per empty cursor request) (per client).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "TRANSACTIONS_SYNC_LIMIT",
"error_message": "rate limit exceeded for attempts to access this item. please try again later",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}TRIAL_CONNECTION_LIMIT
The Plaid Trial plan connection limit has been reached.
Sample user-facing error message
Trial Connection Limit Exceeded: Plaid trial plan connection limit reached. The app developer must upgrade to full production access to continue adding bank connections.Common causes
- Your application is on a Plaid Trial plan and has exceeded the maximum number of allowed bank connections (Items).
Troubleshooting steps
http code 429
{
"error_type": "RATE_LIMIT_EXCEEDED",
"error_code": "TRIAL_CONNECTION_LIMIT",
"error_message": "Trial connection limit exceeded. Upgrade to Production access to continue adding bank connections.",
"display_message": null,
"request_id": "HNTDNrA8F1shFEW"
}