Bank API Rate Limits
This article might be out of date
Please note we've moved to the new Help Center, hence this article might be outdated.
Please visit our new Help Center to access the latest articles.
To control the use of their APIs, banks set a daily API rate limit - a limit on the number of API calls per day.
Since the limit is set by the bank, unfortunately, it is outside of Nordigen's control. Each bank has a different logic how rate limits are applied, which can depend on data scope used, count of accounts and even transaction amount, therefore, we at Nordigen are not able to derive rate limits for any given bank in a uniform way.
While the limit is often not documented, we do know that the mandatory minimum the banks should provide is 4 requests per day.
Also, while each bank might count in its own way, it is safe to assume that every call to the bankβs API which requests data about a specific account will count towards the limit.
Usually, the limit applies to a specific bank account. This means that if the bank account is connected to more than one company, the limit can be exhausted faster, since all the API requests made by the companies are summed up and counted towards the limit.
If the limit is reached, the RateLimitError is returned whenever you try to make an API call:
{ "summary": "Couldn't update <transactions> / <account details> / <balances>", "detail": "Daily request limit set by the Institution has been exceeded.", "type": "RateLimitError" }
If the RateLimitError is received, unfortunately, the only thing you can do is wait for tomorrow to execute your request. There is no need to reconnect the account before executing requests on the next day.
Alternatively, you could try to reconnect the account to reset the request counter, however, this workaround solution might not work for all the banks.
To avoid hitting the limit repeatedly, there is a number of things you can do:
- Do not make more than 4 requests per day for an account or a group of accounts under one requisition
- Do not hard-code the number of refreshes per day, but keep it as a separate variable for each institution/bank
Additionally, we recommend preparing for this situation in advance to be able to handle it gracefully from your users' experience point of view.