Hello, I can’t take it anymore – is there a kind soul out there who could explain pagination in n8n for Baserow? Thank you so much.
Maybe @frederikdc or @joffcom can help with this question?
@David8012 : what exactly would you like to know about the pagination?
There are 2 options:
- Using the Baserow Get Many node and switching the Return all button on. This avoids the pagination issue and returns all records over all pages
- Use an HTTP node an make a call directly to the Baserow API. This is a bit more complex. The call returns an object that will always have 4 properties
count
: the total amount of records
next
: the url to the next set of results. This is null is there is no next set of results
previous
: the url to the previous set of results. This is always null on the first page
results
: an array with the actual results.
If you want to implement this in n8n, you need to create a loop.
- Step 1: Make an API call without page
- Step 2: store the results in a global variable
- Step 3: check if the next property has a value
- Step 3.1: if yes, make a new API call with the url of the next property (and go back to Step 1)
- Step 3.2: if no: we are ready, the results are in the global variable
Hello, thank you very much for your response.
At the moment, I’ve successfully built a manual loop using a node that retrieves the page number after each GET request, which then passes through an IF node to return to the HTTP request. However, I would also like to use the built-in pagination option of the HTTP Request node in n8n, but I haven’t had any success with it so far.
Regarding your version using the Baserow “Get Many” node, I’m having trouble connecting with credentials. Can you confirm whether I should log in using my email address and the password I set when I first signed up on the Baserow URL?
Now, the main issue I’m facing is that my workflow doesn’t wait for the completion of all loop iterations before continuing. As a result, the process ends with missing data — for example, 1 item is often missing at the end.
I’ve tried different approaches, but nothing seems to work. The data arrives in batches into my Merge node — even if it’s almost instantaneous — which prevents me from having complete results. What I observe on the loop branch is a split treatment, like 10 / 25 / 43 items over a fraction of a second, instead of getting all 43 at once, even though my condition says to continue only when next = null.
I tried approaches that I thought were foolproof — using a condition to proceed only when next is null, using a second merge, even a Wait node — but the structure still behaves incorrectly.
Thank you for your interest in my question and for reaching out to others to try and help answer it .