# Bulk Collect: Multi-source Employee 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="../../api-introduction/requests/bulk-collect">bulk-collect</a></td></tr></tbody></table>

## Endpoints

| Request type | Endpoint                                                           |
| ------------ | ------------------------------------------------------------------ |
| POST         | <p><em>/v2/data\_requests/employee\_multi\_source/ids</em><br></p> |
| POST         | */v2/data\_requests/employee\_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/employee_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/employee_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": {
          "full_name": {
            "query": "John Smith",
            "operator": "and"
          }
        }
      }
    }
  }'
```

{% endcode %}

## Credits

Your credits for Multi-source Employee 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#credits) 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 Employee API](https://docs.coresignal.com/employee-api/multi-source-employee-api) 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/employee_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 %}


---

# 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://docs.coresignal.com/employee-api/multi-source-employee-api/bulk-collect.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.
