Pagination

Some cool info and strategies about how to handle Belvo's pagination.

🚧

Use the link query parameter when listing

We strongly recommend that you use the link query parameter in your List requests so that you only receive results for a given link.id.

Increase page_size

When using the List method, by default you will receive 100 results per page. However, you can increase this to a maximum of 1000 results using the page_size query parameter:

curl --request GET \
--url 'https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000'

Navigation properties

In the response for any List request, you will receive navigation properties in the root of the response to aid you in your subsequent requests:

{
  "count": 3542,
  "next": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=2",
  "previous": null,
  "results": [] // Up to 1000 results, depending on page_size parameter.
}
ParameterDescription
countThe total number of results for your query.
nextIf available, the next page of results. If no page is available, this is set to null.
previousIf available, the previous page of results. If no page is available, this is set to null.
resultsAn array of results for your query.

In the case that there are more results than the upper limit set by page_size, You will need to use the value of the next parameter to receive the next page of results (which uses the page query parameter).

For example, in the case that you make the following List call, setting page_size to 1000:

curl --request GET \
     --url 'https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000' \
     --header 'accept: application/json'

You will receive the following JSON response:

{
  "count": 3542,
  "next": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=2",
  "previous": null,
  "results": [] // Up to 1000 results
}

📘

Propagated query parameters

As you can see in the examples, any query parameters that you provide are then propagated to the next value. For example, in the initial request we send through ?link=link_id&page_size=1000, and in the response, we can see that these query parameters are persisted in the new URL in the next parameter: ?link=link_id&page_size=1000&page=2.

You can then use the URL in the next parameter to make your following API calls until next is equal to null. In the code block below we provide you an example of all the responses given this situation:

{
  "count": 3542,
  "next": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=2",
  "previous": null,
  "results": [] // Up to 1000 results
}
{
  "count": 3542,
  "next": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=3",
  "previous": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=1",
  "results": [] // Up to 1000 results
}
{
  "count": 3542,
  "next": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=4",
  "previous": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=2",
  "results": [] // Up to 1000 results
}
{
  "count": 3542,
  "next": null,
  "previous": "https://sandbox.belvo.com/api/transactions/?link=link_id&page_size=1000&page=3",
  "results": [] // Up to 1000 results
}