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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}
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}