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 these tables
are 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.
Production rate limits
Endpoint | Max requests per Item | Max requests per client |
---|---|---|
/accounts/balance/get | 5 per minute | 1,200 per minute |
/accounts/get | 15 per minute | 15,000 per minute |
/asset_report/create | 5 per minute | 50 per minute |
/asset_report/get | 15 per minute (per asset report) | 1,000 per minute |
/asset_report/pdf/get | 15 per minute (per asset report) | 50 per minute |
/asset_report/refresh | 5 per minute (per asset report) | 50 per minute |
/auth/get | 15 per minute | 12,000 per minute |
/identity/get | 15 per minute | 2,000 per minute |
/identity_verification/create | N/A | 200 per minute |
/identity_verification/get | N/A | 500 per minute |
/identity_verification/list | N/A | 400 per minute |
/identity_verification/retry | N/A | 200 per minute |
/institutions/get | N/A | 50 per minute |
/institutions/get_by_id | N/A | 400 per minute |
/investments/holdings/get | 15 per minute | 2,000 per minute |
/investments/transactions/get | 30 per minute | 20,000 per minute |
/item/get | 15 per minute | 5,000 per minute |
/item/remove | 30 per minute | 2,000 per minute |
/liabilities/get | 15 per minute | 1,000 per minute |
/network/status/get | N/A | 1,000 per minute |
/processor/token/create | N/A | 500 per minute |
/signal/evaluate | 70 per hour, 10 per transaction per hour | 20 per second |
/signal/decision/report | N/A | 4,000 per minute |
/signal/prepare | N/A | 2,000 per minute |
/signal/return/report | N/A | 4,000 per minute |
/transactions/enrich | N/A | 100 per minute |
/transactions/get | 30 per minute | 20,000 per minute |
/transactions/recurring/get | 20 per minute | 1,000 per minute |
/transactions/refresh | 2 per minute | 100 per minute |
/transactions/sync | 50 per minute | 2,500 per minute |
/transfer/authorization/create | 100 per hour | 2,500 per minute |
/transfer/cancel | N/A | 250 per minute |
/transfer/create | N/A | 2,500 per minute |
/transfer/event/sync | N/A | 5,000 per minute |
/transfer/intent/create | N/A | 5,000 per minute |
/transfer/migrate_account | N/A | 250 per minute |
/transfer/recurring/cancel | N/A | 250 per minute |
/transfer/recurring/create | N/A | 5,000 per minute |
/transfer/refund/cancel | N/A | 250 per minute |
/transfer/refund/create | N/A | 5,000 per minute |
/transfer/*/get | N/A | 5,000 per minute |
/transfer/*/list | N/A | 100 per minute |
/watchlist_screening/* | N/A | 2,000 per minute |
/payment_initiation/recipient/create | N/A | 240 per minute |
/payment_initiation/recipient/get | N/A | 240 per minute |
/payment_initiation/recipient/list | N/A | 240 per minute |
/payment_initiation/payment/create | N/A | 240 per minute |
/payment_initiation/payment/get | N/A | 240 per minute |
/payment_initiation/payment/list | N/A | 240 per minute |
/payment_initiation/payment/reverse | N/A | 240 per minute |
/payment_initiation/consent/create | N/A | 100 per minute |
/payment_initiation/consent/get | N/A | 240 per minute |
/payment_initiation/consent/revoke | N/A | 100 per minute |
/payment_initiation/consent/payment/execute | N/A | 100 per minute (5 per consent) |
Sandbox rate limits
Endpoint | Max requests per Item | Max requests per client |
---|---|---|
/accounts/balance/get | 25 per minute | 100 per minute |
/accounts/get | 100 per minute | 5,000 per minute |
/asset_report/create | N/A | 100 per minute |
/asset_report/get | 1,000 per minute | 1,000 per minute |
/asset_report/refresh | N/A | 100 per minute |
/auth/get | 100 per minute | 500 per minute |
/identity/get | 100 per minute | 1,000 per minute |
/identity_verification/* | N/A | 60 per minute |
/institutions/get | N/A | 10 per minute |
/institutions/get_by_id | N/A | 400 per minute |
/investments/holdings/get | 100 per minute | 1,000 per minute |
/investments/transactions/get | 100 per minute | 1,000 per minute |
/item/get | 40 per minute | 5,000 per minute |
/item/remove | 100 per minute | 500 per minute |
/liabilities/get | 10 per minute | 1,000 per minute |
/network/status/get | N/A | 1,000 per minute |
/processor/token/create | N/A | 500 per minute |
/signal/evaluate | 70 per hour, 10 per transaction per hour | 30 per second |
/signal/decision/report | N/A | 4,000 per minute |
/signal/prepare | N/A | 2,000 per minute |
/signal/return/report | N/A | 4,000 per minute |
/transactions/enrich | N/A | 100 per minute |
/transactions/get | 80 per minute | 1,000 per minute |
/transactions/recurring/get | 20 per minute | 1,000 per minute |
/transactions/refresh | 2 per minute | 100 per minute |
/transactions/sync | 50 per minute | 1,000 per minute |
/transfer/authorization/create | 100 per hour | 100 per minute |
/transfer/create | N/A | 100 per minute |
/transfer/intent/create | N/A | 100 per minute |
/transfer/recurring/create | N/A | 100 per minute |
/transfer/refund/create | N/A | 100 per minute |
/watchlist_screening/* | N/A | 500 per minute |
/payment_initiation/recipient/create | N/A | 240 per minute |
/payment_initiation/recipient/get | N/A | 240 per minute |
/payment_initiation/recipient/list | N/A | 240 per minute |
/payment_initiation/payment/create | N/A | 100 per minute |
/payment_initiation/payment/get | N/A | 240 per minute |
/payment_initiation/payment/list | N/A | 240 per minute |
/payment_initiation/payment/reverse | N/A | 240 per minute |
/payment_initiation/consent/create | N/A | 100 per minute |
/payment_initiation/consent/get | N/A | 240 per minute |
/payment_initiation/consent/revoke | N/A | 100 per minute |
/payment_initiation/consent/payment/execute | N/A | 100 per minute (10 per consent) |
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. Requests to
/accounts/get
in Production are rate limited at a maximum of 15 requests per Item per minute and 15,000 per client per minute. In the Sandbox, they are limited at a maximum of 100 per Item per minute and 5,000 per client per minute.
Troubleshooting steps
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "ACCOUNTS_LIMIT",5 "error_message": "rate limit exceeded for attempts to access this item. please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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.
Requests to
/account/balance/get
in Production are client rate limited to 1,200 requests per client per minute. In the Sandbox environment, they are client rate limited at a maximum of 100 requests per client per minute.
Troubleshooting steps
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "ACCOUNTS_BALANCE_GET_LIMIT",5 "error_message": "rate limit exceeded for attempts to access this item. please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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. Requests to
/auth/get
in Production are rate limited at a maximum of 15 requests per Item per minute and 12,000 per client per minute. In the Sandbox, they are rate limited at a maximum of 100 requests per Item per minute and 500 requests per client per minute.
Troubleshooting steps
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "AUTH_LIMIT",5 "error_message": "rate limit exceeded for attempts to access this item. please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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.
Requests to
/account/balance/get
in Production are Item rate limited at a maximum of 5 requests per Item per minute. In the Sandbox environment, they are Item rate limited at a maximum of 25 requests per Item per minute.
Troubleshooting steps
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "BALANCE_LIMIT",5 "error_message": "rate limit exceeded for attempts to access this item. please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "CREDITS_EXHAUSTED",5 "error_message": "Free usage exhausted, please request full Production access to continue using this product",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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. Requests to
/identity/get
in Production are rate limited at a maximum of 15 requests per Item per minute and 2,000 per client per minute. In the Sandbox environment, they are rate limited at a maximum of 100 requests per Item per minute and 1,000 requests per client per minute.
Troubleshooting steps
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "IDENTITY_LIMIT",5 "error_message": "rate limit exceeded for attempts to access this item. please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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. Requests to
/institutions/get
in Production are rate limited at a maximum of 25 per client per minute. In the Sandbox environment, they are rate limited at a maximum of 10 requests per client per minute.
Troubleshooting steps
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "INSTITUTIONS_GET_LIMIT",5 "error_message": "rate limit exceeded for attempts to access \"institutions get by id\". please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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. Requests to
/institutions/get_by_id
are rate limited at a maximum of 400 requests per client per minute.
Troubleshooting steps
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "INSTITUTIONS_GET_BY_ID_LIMIT",5 "error_message": "rate limit exceeded for attempts to access \"institutions get by id\". please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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. Requests to
/investments/holdings/get
in Production are rate limited at a maximum of 15 requests per Item per minute and 2,000 per client per minute. In the Sandbox environment, they are rate limited at a maximum of 100 requests per Item per minute and 1,000 requests per client per minute.
Troubleshooting steps
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "INVESTMENT_HOLDINGS_GET_LIMIT",5 "error_message": "rate limit exceeded for attempts to access this item. please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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. Requests to
/investments/transactions/get
in Production are rate limited at a maximum of 30 requests per Item per minute and 20,000 per client per minute. In the Sandbox environment, they are rate limited at a maximum of 100 requests per Item per minute and 1,000 requests per client per minute.
Troubleshooting steps
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "INVESTMENT_TRANSACTIONS_LIMIT",5 "error_message": "rate limit exceeded for attempts to access this item. please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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. Requests to
/item/get
in Production are rate limited at a maximum of 15 requests per Item per minute and 5,000 per client per minute. In the Sandbox environment, they are rate limited at a maximum of 40 requests per Item per minute and 5,000 requests per client per minute.
Troubleshooting steps
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "ITEM_GET_LIMIT",5 "error_message": "rate limit exceeded for attempts to access this item. please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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_good
oruser_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
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "RATE_LIMIT",5 "error_message": "rate limit exceeded for attempts to access this item. please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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. Requests to
/transactions/get
in Production are rate limited at a maximum of 30 requests per Item per minute and 20,000 per client per minute. In the Sandbox environment, they are rate limited at a maximum of 80 requests per Item per minute and 1,000 requests per client per minute.
Troubleshooting steps
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "TRANSACTIONS_LIMIT",5 "error_message": "rate limit exceeded for attempts to access this item. please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}
Was this helpful?
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. Requests to
/transactions/sync
in Production are rate limited at a maximum of 50 requests per Item per minute and 2,500 per client per minute. In the Sandbox environment, they are rate limited at a maximum of 50 requests per Item per minute and 1,000 requests per client per minute.
Troubleshooting steps
1http code 4292{3 "error_type": "RATE_LIMIT_EXCEEDED",4 "error_code": "TRANSACTIONS_SYNC_LIMIT",5 "error_message": "rate limit exceeded for attempts to access this item. please try again later",6 "display_message": null,7 "request_id": "HNTDNrA8F1shFEW"8}