# Bulk Collect: Multi-source Jobs API

## Overview

Discover the Bulk Collect (Bulk API) capabilities and explore potential uses for efficiently retrieving employee data in batches. Find all Bulk Collect related information in the following topic:

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>General information about Bulk Collect</td><td><a href="broken-reference">Broken link</a></td></tr></tbody></table>

## Endpoints

| Request type | Endpoint                                                    |
| ------------ | ----------------------------------------------------------- |
| POST         | */v2/data\_requests/job\_multi\_source/ids*                 |
| POST         | */v2/data\_requests/job\_multi\_source/es\_dsl*             |
| GET          | */v2/data\_requests/{data\_request\_id}/files*              |
| GET          | */v2/data\_requests/{data\_request\_id}/files/{file\_name}* |

### Limiting returned record count

Include the parameter `"limit": int` to control the number of records returned by your queries in `/v2/data_requests/job_multi_source/es_dsl` endpoint.

**Request example to retrieve five records**

{% code title="Elasticsearch DSL example" %}

```json
curl -X 'POST' \
'https://api.coresignal.com/cdapi/v2/data_requests/job_multi_source/es_dsl' \
  -H 'accept: application/json' \
  -H 'apikey: {API Key}' \
  -H 'Content-Type: application/json' \
  -d '{
   "webhook_url": "{optional_webhook_url}",
   "limit": 5,
   "es_dsl_query": {
      "query": {
         "match":{
            "location":{
               "query":"New York",
               "operator":"and"
            }
         }
      }
   }
}'
```

{% endcode %}

## Credits

Your credits for Multi-source Jobs API will also apply to Bulk Collect data collection requests.

Learn about the credits in Bulk Collect usage in the [general Bulk Collect](https://docs.coresignal.com/api-introduction/requests/bulk-collect) topic.

## Rate limits

Bulk Collect endpoints have limited requests allowed per second. Learn about rate limits in Bulk Collect usage in the main [Multi-source Jobs API](https://docs.coresignal.com/jobs-api/multi-source-jobs-api/..#rate-limits) topic.

## Webhooks

POST endpoints allow you to add webhooks and get notified when your data request is ready.

{% hint style="info" %}
Keep in mind that `webhook_url` is **optional.**
{% endhint %}

{% tabs %}
{% tab title="Elasticsearch DSL template" %}
{% code title="Elasticsearch DSL template" %}

```json
{
  "webhook_url": "{optional_webhook_url}",
  "es_dsl_query": {}
}
```

{% endcode %}
{% endtab %}

{% tab title="IDs cURL template" %}

```json
curl -X 'POST' \
  'https://api.coresignal.com/cdapi/v2/data_requests/job_multi_source/ids' \
  -H 'accept: application/json' \
  -H 'apikey: {API Key}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'webhook_url={optional_webhook_url}'\
  -F 'ids={list of ids}'
```

{% endtab %}
{% endtabs %}
