# Next page URL pagination method

## Overview

This method is similar to the [link header](/product-documentation/developer-hub/connector-builder/building-your-own-connector/4-endpoints/endpoint-options/pagination/link-header-pagination-method.md) approach, except that the URL for the next page is included in the response body, rather than the header.

## Next page URL options

<table><thead><tr><th width="284">Option</th><th>Summary</th></tr></thead><tbody><tr><td>Next page field</td><td>Enter the location of the next page URL within the payload. </td></tr></tbody></table>

## Example

Suppose we set the following options:

<table><thead><tr><th width="284">Option</th><th>Value</th></tr></thead><tbody><tr><td>Next page field</td><td><code>links.next</code></td></tr></tbody></table>

...and we send a request to get the first page of data:

{% code lineNumbers="true" %}

```
GET https://my.shop/api/customers?page=1
```

{% endcode %}

The response will include the first page of data, together with a URL that should be used to get the next page of results. For example:

{% code lineNumbers="true" %}

```json
{
  "data": [
    {"id": 1, "name": "Alice"},
    {"id": 2, "name": "Bob"},
    {"id": 3, "name": "Charlie"},
    {"id": 4, "name": "Lyn"},
    {"id": 5, "name": "John"},
    {"id": 6, "name": "Gordon"},
    {"id": 7, "name": "Izzy"},
    {"id": 8, "name": "Mike"},
    {"id": 9, "name": "Ralph"},
    {"id": 10, "name": "Rex"}
  ],
  "links": {
    "next": "https://my.shop/api/customers?page=2"
  }
}
```

{% endcode %}

Notice the `links.next` section at the end of this response, which includes our next page URL. So, our request for the next page of results would be:

{% code lineNumbers="true" %}

```
https://my.shop/api/customers?page=2
```

{% endcode %}

## Relative URLs

When a request is sent for data using the `next page URL` pagination type, the response will include the first page of data, together with a URL that should be used to get the next page of results (i.e. the next page URL). For example:

`https://api.example.com/products?page=2`

This URL is included in subsequent pages, [until the last page](#when-does-pagination-stop). However, some APIs don't return the full URL in pagination responses - instead, they just return query parameters. For example:

`?page=2`

Patchworks recognises this as a relative URL, based on the `?` character at the start. When a relative URL is returned, the base URL from the previous request is appended to the start. So in our example, `?page=2` would be interpreted as `https://api.example.com/products?page=2`.

## When does pagination stop?

Pagination continues until the next page URL is no longer included in the payload.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.wearepatchworks.com/product-documentation/developer-hub/connector-builder/building-your-own-connector/4-endpoints/endpoint-options/pagination/next-page-url-pagination-method.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
