# Bulk Collect

## Introduction to Bulk Collect

**Bulk Collect** allows you to retrieve large sets of data in a single request. It’s designed for efficiency, allowing you to collect multiple records at once instead of making repeated individual queries. Use it when you need to gather high volumes of data quickly and reliably.

### Discover products

Find APIs bulk collect endpoints, request samples and additional information.

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Multi-source Company API bulk collect</td><td><a href="../../company-api/multi-source-company-api/bulk-collect">bulk-collect</a></td></tr><tr><td>Clean Company API bulk collect</td><td><a href="../../company-api/clean-company-api/endpoints/bulk-collect">bulk-collect</a></td></tr><tr><td>Base Company API bulk collect</td><td><a href="../../company-api/base-company-api/endpoints/bulk-collect">bulk-collect</a></td></tr><tr><td>Multi-source Employee API bulk collect</td><td><a href="../../employee-api/multi-source-employee-api/bulk-collect">bulk-collect</a></td></tr><tr><td>Clean Employee API bulk collect</td><td><a href="../../employee-api/clean-employee-api/endpoints/bulk-collect">bulk-collect</a></td></tr><tr><td>Base Employee API bulk collect</td><td><a href="../../employee-api/base-employee-api/endpoints/bulk-collect">bulk-collect</a></td></tr><tr><td>Multi-source Jobs API bulk collect</td><td><a href="../../jobs-api/multi-source-jobs-api/bulk-collect">bulk-collect</a></td></tr><tr><td>Base Jobs API bulk collect</td><td><a href="../../jobs-api/base-jobs-api/endpoints/bulk-collect">bulk-collect</a></td></tr></tbody></table>

## Credits

Your credits for the chosen index will also apply to Bulk Collect data collection requests. The credits are deducted after making the POST request.

The number of credits deducted from your account depends on the data records you download. For instance, collecting 100 profiles will consume 100 credits.

{% hint style="success" %}
Test POST requests using regular endpoints to see how many credits the request will consume. The returned record count indicates the number of credits that will be deducted for the Bulk Collect query.
{% endhint %}

Check the [frequently asked questions](https://docs.coresignal.com/api-introduction/credits) about credits.

## Count limits

Bulk Collect requests' retrieved profiles **limit is 10,000**. Requests that exceed the limit will be rejected.

* If your **ID list** request to `data_request` endpoint exceeds 10,000 IDs, the request will be rejected. You will not be able to create a request that exceeds the limit.
* If the results that match the Bulk Collect Search filter or the Bulk Collect Elasticsearch DSL exceed 10,000 IDs, the request will be rejected in another way. Here, you will be able to create a request, and when the results exceed the limit while collecting the data, the request will be rejected. Several ways to know about this situation:
  * While trying to collect the results
  * A webhook about the failure will be sent if a webhook\_url is given

## Limiting the returned record count

Since Bulk Collect queries might use more credits than expected, you can use a limit to control your record count. Parameter `"limit": int` allows control the number of records returned by your queries.&#x20;

Input the exact number of records you want to be returned, or delete the parameter if you don't need a set limit for your request – this parameter is entirely optional.&#x20;

{% code title="General request template" %}

```json
curl -X 'POST' \
'https://api.coresignal.com/cdapi/v2/data_requests/{entity}/{query-type}' \
  -H 'accept: application/json' \
  -H 'apikey: {API Key}' \
  -H 'Content-Type: application/json' \
  -d '{
   "limit": {optional_integer}
}'
```

{% endcode %}
