# Pagination

Collections return a `result.entityList` + `result.pageInformation` envelope.

## Parameters

| Name | Default | Max |
|  --- | --- | --- |
| `page` | 1 | — |
| `pageSize` | 50 | 100 |


## Response


```json
{
  "result": {
    "entityList": [/* ... */],
    "pageInformation": {
      "page": 1,
      "pageSize": 50,
      "totalPages": 12,
      "totalItems": 574
    }
  }
}
```

## Recommended strategy

- Use `pageSize: 100` for sync jobs — fewer calls, same cost.
- **Never** rely on `totalItems` to detect the last page: iterate while
`page < totalPages`.
- Back off if you see `429`; the rate limit is per IP, not per page.


## Pseudocode


```ts
let page = 1;
while (true) {
  const { result } = await fetchPage(page);
  await process(result.entityList);
  if (page >= result.pageInformation.totalPages) break;
  page += 1;
}
```