# Pagination

Read long lists page by page with limit and offset.

Search endpoints take a `limit` and an `offset` in the body:

- `limit` is how many records to return.
- `offset` is how many records to skip.

```json
{
  "fields": ["id", "fullName"],
  "orderBy": { "id": "ASC" },
  "limit": 50,
  "offset": 100
}
```

This returns records 101 to 150.

> [!WARNING]
> Always set `limit`. On many endpoints, leaving it out returns every record, and `limit` has no maximum there. Some endpoints accept at most 500.

## Getting the total

Search responses contain only the records. To get the total number of matching records, call the matching count endpoint with the same filters, for example [Count clients](/reference/clients-searchcount).

## Stable pages

Always set `orderBy` when you page through results. Without it, the order is not guaranteed and a record could appear twice or be missed.

Picker endpoints, whose names begin with "List", use `skip` instead of `offset`.
