OFDA Brazil Data Retrieval Limits
Introduction
Brazil's Open Finance Network sets monthly limits regarding how often you can retrieve data for a specific person or business. These operational limits are linked to a combination of:
- the user's CPF or CNPJ
- the API data you want to get (Owner, Account, Transaction, or Bill)
- the Open Finance network certificate
Once the monthly operational limit of API calls is reached, no more information can be retrieved for the CPF/CNPJ until the start of the next calendar month. However, Belvo has implemented optimizations to maximize the amount of data you can retrieve for your users according to your data needs.
The limits are outlined in the table below:
Belvo API Resource (POST calls) | Open Finance Operation Limit |
---|---|
Owners | 4 retrievals per CPF/CNP |
Accounts | 4 retrievals calls per CPF/CNPJ
|
Transactions | Depending on the time span requested:
|
Asynchronous workflow (single links)
Data frequency needs: Low
You only need to retrieve historical information once (or once a week). For example, credit lenders or ID verification.
When you create a single link using our asynchronous workflow (which uses our fetch_resources
parameter), Belvo will asynchronously retrieve the historical information for your user (up to 365 days). After you receive the webhook notification that the historical data is available, you can retrieve it using GET calls.
For any subsequent POST calls you make after link creation, the information that you retrieve will depend on the API resource (see the table below).
Belvo API Resource | Information updated on each POST call | Recommended frequency |
---|---|---|
Accounts | Balances, overdraft limits, and credit card limits | Daily or weekly |
Owners | User personal details | Monthly |
Transactions | Transactions within the last six days. | Weekly |
For each link that you create, a new consent is generated in Brazil's Open Finance network and Belvo retrieves historical data for that CPF/CNPJ, consuming the operational limits.
Asynchronous workflow (recurrent links)
Data frequency needs: High
You need balance, overdraft, and transaction information on a daily basis. For example, PFMs or ERPs.
When you create a recurrent link, Belvo will asynchronously retrieve the historical information for your user (up to 365 days). After you receive the webhook notification that the historical data is available, you can retrieve it using GET calls as usual. Depending on your refresh rate, you will receive webhooks indicating whether a new account, owner, or transaction has been retrieved from the institution, which you can also retrieve using GET calls.
Any individual POST call you make will retrieve the following information:
Belvo API Resource | Information updated on each POST call | Recommended frequency |
---|---|---|
Accounts | Balances, overdraft limits, and credit card limits | Daily or weekly |
Owners | User personal details | Monthly |
Transactions | Transactions within the last six days. | Weekly |
Single links
Data frequency needs: Very low
You only need to retrieve historical information once. For example, one-off credit analysis.
When you create a single link without historical data, you will need to make individual POST calls to retrieve data for your user.
Belvo API Resource | Information updated on the first POST call |
---|---|
Accounts | Historical account information |
Owners | Historical owner details |
Transactions | Up to 365 days of transactional data |
Any subsequent individual POST call you make will retrieve the following information:
Belvo API Resource | Information updated on each POST call | Recommended frequency |
---|---|---|
Accounts | Balances, overdraft limits, and credit card limits | Daily or weekly |
Owners | User personal details | Monthly |
Transactions | Transactions within the last six days. | Weekly |
Given the limits, is it possible that account and owner data for a recurrent link will not be updated for an entire month?
Yes, in the situation where the operational limit has been reached for a CPF/CNPJ, the recurrent link will not be updated (and new accounts or owners will not be identified). This can occur for three reasons:
- The user has created a link four times within the month.
- Clients not using asynchronous workflows have used up the operational limits for the CPF/CNPJ using POST calls.
Information regarding account balance and overdrafts limits have a higher limit (minimum of 240 API calls). As such, this information will be updated for existing accounts until the limit for those resource has been reached
Do I still receive transaction webhooks for daily or weekly refreshes?
Yes, as the limits for transactional information within the last six days are larger (240 requests), you will still receive webhooks for new transactions that occur.
What API error will I receive when the limit is reached?
When the limit is reached you will ll receive a 400
HTTP error (operational_limits_reached
), indicating that Belvo could not retrieve information for the link due to the limits being reached.
[
{
"code": "operational_limits_reached",
"message": "The institution has reached its operational limits",
"request_id": "3e7b283c6efa449c9c028a16b5c249fd"
}
]
Will my user be aware that they have reached the limit when creating their link?
As the API calls occur after the user has created their link, they will not receive any error which indicates that the application they're granting consent to won't be able to retrieve data.