Tested on:
- Seatable self-hosted 6.0 and 6.1
- Various browsers
- API Access through n8n and Python Scripts
Problem:
Depending on certain filter settings, I’m getting different record sets when watching the same view in the GUI and retreiving it via the API. This has nothing to do with 500 Internal Server Error when listing rows via API (n8n) with AND + OR filter groups on Big Data tables , but indicates that the API works quite differently from the GUI when filtering views.
Two instances we were able to isolate.
Less critical: Link columns
When using a filter "Link column does not contain ", the hint rightly says that seatable will choose a random value, so I’m not expecting much:
However, the API uses a different random process. In my example, one record is visible via API, but not via the GUI, because a different linked record is used for the filter. We will work around this to secure a certain outcome, but the fact remains that APi and GUI act inconsistently.
More critical: Date filter
We had a date filter that said “Date column is on or 7 days before today”:
![]()
Around the critical 6th / 7th day (Today is 2026-05-13, date column showed 2026-05-06, 15:00), the GUI shows 2 records, the API returns none. Changing the filter to just “6 days before today” (without “on or”) seems to work as intended.
We do not know whether the “on or before” filter of the API is off by a whole day, or maybe just regards the date’s time as well, while the GUI doesn’t - all speculation. What remains is the fact that GUI and API are inconsistent.
