Employee Data
...
Base Employee API
Endpoints

Bulk Collect

13min

When creating a bulk collect data request based on ES DSL query to the new Base Employee endpoints, we strongly advise including the following clause to your query:

"term": { "is_parent": 1 }

This ensures that you get the most out of our new systematic approach to exclude duplicate records, which we can resolve with the same profile.

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

Endpoints

Bulk API (Bulk Collect) is an extension of Base Employee API and includes three POST and two GET endpoints. Collect employee data in bulk using an employee ID list, search filters, or Elasticsearch DSL schema that is already used in the Base Employee API.

Request type

Endpoint

POST

/v1/professional_network/employee_base/bulk_collect/ids

POST

/v1/professional_network/employee_base/bulk_collect/es_dsl

POST

/v1/professional_network/employee_base/bulk_collect/filter

GET

/v1/bulk_collect/{data_request_id}/files

GET

/v1/bulk_collect/{data_request_id}/files/{file_name}

Credits and tokens

Use the same token you have received for your Base Employee API usage. Your credits for Base Employee API 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.

Test POST requests using Base Employee API to see how many credits the request will consume.

The returned record count will show how many credits will be deducted for the Bulk Collect query.

Limiting returned record count

Include the parameter "limit": int to control the number of records returned by your queries in /v1/professional_network/employee_base/bulk_collect/filter and /v1/professional_network/employee_base/bulk_collect/es_dsl endpoints. This parameter is entirely optional; however, use it to make sure you don't use too many credits with your Bulk Collect queries.

Input the exact number of records you want returned, or delete the parameter if you don't need a set limit for your request.

Authorization

To start using our API, you need a (JWT) token. Your account manager or sales representative will generate the token for you upon your request for the API plan.



All Bulk Collect requests must contain an Authorization header consisting of a Bearer authentication string and the JSON Web Token (JWT).

All Employee API requests must be made over HTTPS. Requests made over HTTP will fail.

Use any API-compatible tool to authorize and start using the API. If you're unsure where to begin, check out the authorization tutorial below:

Rate limits

Bulk Collect endpoints have limited requests allowed per client's API token per second.

Request type

Endpoint

Rate limit

POST

/v1/professional_network/employee_base/bulk_collect/ids

27 requests per second

POST

/v1/professional_network/employee_base/bulk_collect/filter

27 requests per second

POST

/v1/professional_network/employee_base/bulk_collect/es_dsl

27 requests per second

GET

/v1/bulk_collect/{data_request_id}/files

27 requests per second

GET

/v1/bulk_collect/{data_request_id}/files/{file_name}

27 requests per second

Webhooks

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

Filter template
ES DSL template
ID file cURL template


Keep in mind that webhook_url is optional.

Bulk Collect Requests

Check the endpoint usage tutorials in the following articles: