> ## Documentation Index
> Fetch the complete documentation index at: https://developers.everflow.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Paging

> How to paginate through results in the Everflow API.

Endpoints that return lists of resources use pagination. Paginated responses include a `paging` object:

```json theme={null}
{
  "paging": {
    "page": 2,
    "page_size": 50,
    "total_count": 150
  }
}
```

| Field         | Description                            |
| ------------- | -------------------------------------- |
| `page`        | The current page number (1-based).     |
| `page_size`   | The number of results per page.        |
| `total_count` | The total number of results available. |

## Requesting a specific page

Use the `page` and `page_size` query parameters:

```bash theme={null}
curl -H "X-Eflow-API-Key: <your-api-key>" \
  "https://api.eflow.team/v1/networks/affiliates/1?page=2&page_size=10"
```

## POST body pagination

POST-based search and reporting endpoints accept `page` and `page_size` directly in the request body instead of as query parameters.

```json theme={null}
{
  "from": "2026-03-01",
  "to": "2026-03-31",
  "timezone_id": 90,
  "currency_id": "USD",
  "columns": [{"column": "offer"}],
  "page": 2,
  "page_size": 50
}
```

The response includes the same `paging` envelope:

```json theme={null}
{
  "table": [...],
  "paging": {
    "page": 2,
    "page_size": 50,
    "total_count": 320
  }
}
```

### Iterating all pages

```python theme={null}
import requests

API_KEY = "your-api-key"
BASE = "https://api.eflow.team/v1"

page = 1
page_size = 100
all_rows = []

while True:
    resp = requests.post(
        f"{BASE}/networks/reporting/entity/table",
        headers={"X-Eflow-API-Key": API_KEY, "Content-Type": "application/json"},
        json={
            "from": "2026-03-01",
            "to": "2026-03-31",
            "timezone_id": 90,
            "currency_id": "USD",
            "columns": [{"column": "offer"}],
            "page": page,
            "page_size": page_size
        }
    )
    data = resp.json()
    rows = data.get("table", [])
    all_rows.extend(rows)

    total = data["paging"]["total_count"]
    if page * page_size >= total:
        break
    page += 1

print(f"Fetched {len(all_rows)} rows")
```

<Note>
  Aggregated reporting endpoints cap responses at **10,000 rows total** regardless of pagination. If your full result set exceeds this, use the [Entity Table Export](/api-reference/post-networksreportingentitytableexport) endpoint instead, which returns a full CSV without a row cap.
</Note>

## Defaults and limits

* When not specified, the API returns page 1 with a page size of **50**.
* The maximum page size is typically **2,000**, though some endpoints enforce a smaller limit.
* Endpoints that return paginated responses are identified as such in their documentation.
