# Pagination: Multi-source Jobs API

## Overview

General information about the pagination is listed in [Results Pagination](https://docs.coresignal.com/api-introduction/requests/elasticsearch-dsl/results-pagination) topic.

Learn how to use pagination in Multi-source Jobs API `/v2/job_multi_source/search/es_dsl` endpoint. Here you can find:&#x20;

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><a href="#id-5dyok">Pagination using cURL requests</a></td><td>Examples of pagination usage with cURL requests.</td></tr></tbody></table>

***

## Using pagination in cURL requests﻿ <a href="#id-5dyok" id="id-5dyok"></a>

{% hint style="info" %}
This tutorial requires prior knowledge of how to compile and execute POST requests in Multi-source Jobs API.
{% endhint %}

Use parameter `x-next-page-after` to retrieve a second page of IDs.

1. Navigate to the **Headers** section and click it:

![](https://archbee-image-uploads.s3.amazonaws.com/iNaodsHbfav9t72Jx5JdM/Xh3fndrpyjUGXyoMs7qm2_image.png)

2. Find the following information:\
   – `x-next-page-after` \
   – `x-total-pages`\
   – `x-total-results`
3. Add parameter `?after={x-next-page-after}` to the POST request to see the next results page:
4. Execute the request, and you will see the next page in the **Body** section:

```json
[
1000,
1001,
3000,
4004
]
```

### Pagination using sorting

Pagination using **ID** sorting has similar `x-next-page-after` format, but the **last updated** date is excluded.

#### **Pagination usage example (cURL request in Postman)**

1. Add parameter `?after={x-next-page-after}` to the POST request:\
   Refer to the example below for the exact parameter placement:

{% code title="Pagination (sorted by id)" %}

```json
curl -X 'POST' \
'https://api.coresignal.com/cdapi/v2/job_multi_source/search/es_dsl?after=541168785' \
  -H 'accept: application/json' \
  -H 'apikey: {API Key}' \
  -H 'Content-Type: application/json' \
  -d '{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "title": "product manager"
          }
        },
        {
          "match": {
            "location": "Los Angeles"
          }
        },
        {
          "term": {
            "application_active": 1
          }
        }
      ]
    }
  },
   "sort": [
        "id"
    ]
}'
```

{% endcode %}

**Send** the request, and you will see the next page in the **(Response) Body**.

***

Pagination using **score** sorting has a different ID format. The format difference is seen by the `x-next-page-after` parameter, showing the **score**, the **last updated** date, and the **last ID** on the page.

**Pagination usage example (cURL request in Postman)**

Add parameter `?after={x-next-page-after}` to the POST request to see the next results page. Refer to the example below for the exact parameter placement:

{% code title="Pagination (sorted by score)" %}

```json
curl -X 'POST' \
'https://api.coresignal.com/cdapi/v2/job_multi_source/search/es_dsl?after=11.881406,"2025-08-24 12:44:09",607' \
  -H 'accept: application/json' \
  -H 'apikey: {API Key}' \
  -H 'Content-Type: application/json' \
  -d '{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "title": "product manager"
          }
        },
        {
          "match": {
            "location": "Los Angeles"
          }
        },
        {
          "term": {
            "application_active": 1
          }
        }
      ]
    }
  },
   "sort": [
        "_score"
    ]
}'
```

{% endcode %}

**Send** the request, and you will see the next page in the **(Response) Body**.

## Limiting search results per page

Query parameter `?items_per_page={int}` allows you to specify the number of results retrieved per Search results page. The current limit is 1,000. Thus, this parameter lets you set a smaller limit value for the results page.

{% code title="Items per page" %}

```json
curl -X 'POST' \
'https://api.coresignal.com/cdapi/v2/job_multi_source/search/es_dsl?items_per_page=20' \
  -H 'accept: application/json' \
  -H 'apikey: {API Key}' \
  -H 'Content-Type: application/json' \
  -d '{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "title": "product manager"
          }
        },
        {
          "match": {
            "location": "Los Angeles"
          }
        }
      ]
    }
  }
}'
```

{% endcode %}
