Last updated

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
Owners4 retrievals per CPF/CNP
Accounts4 retrievals calls per CPF/CNPJ
  • Note: Balance and overdraft limit information can be updated up to 240 times per CPF/CNPJ
TransactionsDepending on the time span requested:
  • Up to 365 days from the moment of the request: 4 retrievals per CPF/CNPJ
  • Less than 6 days from the moment of the request: 240 retrievals per CPF/CNPJ

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 ResourceInformation updated on each POST callRecommended frequency
AccountsBalances, overdraft limits, and credit card limitsDaily or weekly
OwnersUser personal detailsMonthly
TransactionsTransactions within the last six days.Weekly
Avoid duplicate links

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.

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 ResourceInformation updated on each POST callRecommended frequency
AccountsBalances, overdraft limits, and credit card limitsDaily or weekly
OwnersUser personal detailsMonthly
TransactionsTransactions within the last six days.Weekly

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 ResourceInformation updated on the first POST call
AccountsHistorical account information
OwnersHistorical owner details
TransactionsUp to 365 days of transactional data

Any subsequent individual POST call you make will retrieve the following information:

Belvo API ResourceInformation updated on each POST callRecommended frequency
AccountsBalances, overdraft limits, and credit card limitsDaily or weekly
OwnersUser personal detailsMonthly
TransactionsTransactions within the last six days.Weekly

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:

  1. The user has created a link four times within the month.
  2. 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"
  }
]

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.