# Pagination

In the previous tutorial, we discussed how you can set your desired time zone. Before we dive into the extra details of our API, we need to discuss one of the fundamentals of our API: pagination.

*“How is it possible that I cannot find all the data I requested?”*

Responses sometimes return more than 1.000 results. With that much data, requests can become slow and hard to work with. That’s why these endpoints use something called pagination. Instead of returning all 1.000+ results, you'll get 25 results per page.

### Create your request&#x20;

Let's request all the available fixtures in the free plan. We can do this by using the [GET All Fixtures endpoint:](https://docs.sportmonks.com/v3/endpoints-and-entities/entities/fixture)

{% code overflow="wrap" %}

```javascript
https://api.sportmonks.com/v3/football/fixtures?api_token=YOUR_TOKEN
```

{% endcode %}

<details>

<summary>Response</summary>

```javascript
 ],
  "pagination": {
    "count": 25,
    "per_page": 25,
    "current_page": 1,
    "next_page": "https://api.sportmonks.com/v3/football/fixtures?page=2",
    "has_more": true
  },
```

</details>

If you navigate to the end of the response, you can see information about pagination. You can see that there are 25 results returned per page, the current page, the link to the next page and an indicator `has_more` that is `true` or `false`.  You can paginate using the `has_more` parameter to determine if you can still propagate through the results.

*"So, how do I get to the second page then?’"*  Excellent question. Going to the second page is easy! Simply add `&page=2` to your request.&#x20;

```javascript
https://api.sportmonks.com/v3/football/fixtures?api_token=YOUR_TOKEN&page=2
```

The request also contains a `next_page` field with the same includes and parameters of your previous request. See the example below

<pre class="language-json" data-line-numbers><code class="lang-json">"pagination": {
<strong>    "count": 25,
</strong>    "per_page": 25,
    "current_page": 1,
    "next_page": "https://api.sportmonks.com/v3/football/fixtures?leagues=2&#x26;page=2",
    "has_more": true
},
</code></pre>

Now that you know about pagination, we can explore our API’s endless possibilities in the next chapter: enriching your response.​

{% hint style="warning" %}
Note that every page called counts against the rate limiter. So a call to pages 1,2,3,4 and 5 counts as 5 calls in the rate limiter
{% endhint %}

## Request more or fewer results per page

Do you want the API to return more or fewer results per page? That’s also possible! You can determine the number of results per page (range 1-50) by adding `&per_page= {number}` to your request. Please note that the per\_page parameter only affects the results of the base entity. So, includes are not paginated.&#x20;

## Initial data load

It is now possible to add the *`filters=populate`* to your query parameter. This parameter allows for a higher pagination limit (`max 1000`), so you can populate your database in a more convenient way instead of using the default pagination limit of `25`. To prevent our services from overloading, using includes is disabled when this filter is added to the request.
