> For the complete documentation index, see [llms.txt](https://docs.coresignal.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coresignal.com/additional-sources/professional-network-data/base-jobs-api/bulk-collect.md).

# Bulk Collect: Base Jobs API

## Overview

Discover the Bulk Collect (Bulk API) capabilities and explore potential uses for efficiently retrieving deduplicated, globally sourced jobs 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.md">Bulk Collect</a></td></tr></tbody></table>

## Endpoints

Bulk Collect is an extension of Base Jobs API and consists of **two POST** and **two GET** endpoints.

Collect job posting data in bulk using a job posting ID list or search filters.

| Request type | Endpoint                                                    |
| ------------ | ----------------------------------------------------------- |
| POST         | */v2/data\_requests/job\_base/id\_file*                     |
| POST         | */v2/data\_requests/job\_base/filter*                       |
| 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.

This parameter is entirely optional. However, use it to make sure you don't use too many credits with your Bulk Collect queries.

**Request example to retrieve five records**\
The example scopes to a one-week window to keep the result set small – in production, `created_at` filters can span the full archive from August 2020, and `last_updated` filters are recommended for pipelines tracking fresh postings, as active jobs are revisited within 24 hours.

{% code title="Filters" %}

```json
curl -X 'POST' \
  'https://api.coresignal.com/cdapi/v2/data_requests/job_base/filter' \
  -H 'accept: application/json' \
  -H 'apikey: {API Key}' \
  -H 'Content-Type: application/json' \
  -d '{
    "webhook_url": "{optional_webhook_url}",
    "limit": 5,
    "filters": {
        "created_at_gte": "2023-05-01 00:00:01",
        "created_at_lte": "2023-05-07 00:00:01",
        "company_professional_network_url": "https://www.professional-network.com/company/thermo-fisher-scientific"
    }
}'
```

{% endcode %}

## Credits

Your credits for Base Jobs API will also apply to Bulk Collect data collection requests.

Learn about the credits in Bulk Collect usage in the [general Bulk Collect](/api-introduction/requests/bulk-collect.md#credits) topic.

## Rate limits

Bulk Collect endpoints have a limited number of requests allowed per second. Learn about [rate limits](/api-introduction/rate-limits.md) for Bulk Collect requests.

## 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="Search filter template" %}
{% code title="Search filter template" %}

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

{% endcode %}
{% endtab %}

{% tab title="ID file cURL template" %}
{% code title="ID file cURL template" %}

```json
curl -X 'POST' \
  'https://api.coresignal.com/cdapi/v2/data_requests/job_base/id_file' \
  -H 'accept: application/json' \
  -H 'apikey: {API Key}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'ids_file=@id_list_example.csv;type=text/csv' \
  -F 'webhook_url={optional_webhook_url}'
```

{% endcode %}
{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.coresignal.com/additional-sources/professional-network-data/base-jobs-api/bulk-collect.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
