# Clean Employee API

## Overview

This section covers basic information on the Clean Employee API endpoints.\
To learn more about the API and its endpoints, follow the links below:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td>Clean Employee API endpoints</td><td><a href="/pages/2FmsD6WwUYq3ebLsZOMh#clean-employee-endpoints">/pages/2FmsD6WwUYq3ebLsZOMh#clean-employee-endpoints</a></td></tr><tr><td>Request types</td><td><a href="/pages/2FmsD6WwUYq3ebLsZOMh#request-types">/pages/2FmsD6WwUYq3ebLsZOMh#request-types</a></td></tr><tr><td>Rate limits</td><td><a href="/pages/2FmsD6WwUYq3ebLsZOMh#rate-limits">/pages/2FmsD6WwUYq3ebLsZOMh#rate-limits</a></td></tr><tr><td>Credits</td><td><a href="/pages/2FmsD6WwUYq3ebLsZOMh#credits">/pages/2FmsD6WwUYq3ebLsZOMh#credits</a></td></tr></tbody></table>

## Clean Employee endpoints

Clean Employee API features **two search** and **two collect** endpoints.\
Use the endpoints with any API-compatible application to retrieve Clean Employee data.

| Request type | Endpoint                                                     | Function                                                             |
| ------------ | ------------------------------------------------------------ | -------------------------------------------------------------------- |
| POST         | */v2/employee\_clean/search/es\_dsl*                         | Search for relevant employee profiles using Elasticsearch DSL schema |
| POST         | */v2/employee\_clean/search/es\_dsl/preview*                 | Retrieves a small set of partial data using Elasticsearch queries    |
| GET          | */v2/employee\_clean/collect/{employee\_id}*                 | Collect employee data using IDs                                      |
| GET          | */v2/employee\_clean/collect/{profile\_url/shorthand\_name}* | Collect Clean Employee data using profile URLs or shorthand names\*  |

\*📌 Full profile URL example: [www.professional-network.com/john-doe.\\](http://www.professional-network.com/john-doe.\\)
Shorthand name example: john-doe.

### Bulk Collect

Use the following endpoints to retrieve Clean Employee API data in bulk:

| Request type | Endpoint and function                                       |
| ------------ | ----------------------------------------------------------- |
| POST         | */v2/data\_requests/employee\_clean/id\_file*               |
| POST         | */v2/data\_requests/employee\_clean/es\_dsl*                |
| POST         | */v2/data\_requests/employee\_clean/shorthand\_names*       |
| POST         | */v2/data\_requests/employee\_clean/urls*                   |
| GET          | */v2/data\_requests/{data\_request\_id}/files*              |
| GET          | */v2/data\_requests/{data\_request\_id}/files/{file\_name}* |

### Webhook subscriptions

Webhooks enable you to receive automatic, event-driven notifications when changes are detected in your subscribed employee profiles.

Use the following endpoints to subscribe to profile changes in employee data:

| Request type | Endpoint                                    |
| ------------ | ------------------------------------------- |
| POST         | */v2/subscriptions/employee\_clean/es\_dsl* |
| POST         | */v2/subscriptions/employee\_clean/ids*     |

And use the following endpoints to subscribe to employee experience updates:

| Request type | Endpoint                                                        |
| ------------ | --------------------------------------------------------------- |
| POST         | */v2/subscriptions/experience\_changes/employee\_clean/es\_dsl* |
| POST         | */v2/subscriptions/experience\_changes/employee\_clean/ids*     |
| POST         | */v2/subscriptions/experience\_changes/employee\_clean/all*     |

Learn more about <a href="/pages/YAbvBJ1gTSdquZMw5HAl" class="button secondary">Webhook subscriptions</a>

## Request types

{% hint style="warning" %}
All Clean Employee API requests must be made over HTTPS. Requests made over HTTP will fail or be redirected to HTTPS.
{% endhint %}

Clean data API supports two types of requests:

* **Search** endpoints support POST requests only.
* **Collect** endpoints support the GET requests only.

| Request type | Endpoint and function                                        |
| ------------ | ------------------------------------------------------------ |
| POST         | */v2/employee\_clean/search/es\_dsl*                         |
| POST         | */v2/employee\_clean/search/es\_dsl/preview*                 |
| GET          | */v2/employee\_clean/collect/{employee\_id}*                 |
| GET          | */v2/employee\_clean/collect/{profile\_url/shorthand\_name}* |

## Rate limits

Clean Employee API endpoints restrict the requests allowed per second.

{% columns %}
{% column %}
Search endpoints

Collection endpoints

Bulk Collect search and collection endpoints
{% endcolumn %}

{% column %}
18 requests per second

54 requests per second

27 requests per second
{% endcolumn %}
{% endcolumns %}

## Credits

**One** search **credit** is deducted for **one** **successful** (200) **request** in the search endpoints:

* */v2/employee\_clean/search/es\_dsl*
* */v2/employee\_clean/search/es\_dsl/preview*

**One** collect **credit** is deducted for **one** **successful** (200) **request** in the collection endpoints:

* */v2/employee\_clean/collect/{employee\_id}*
* */v2/employee\_clean/collect/{profile\_url/shorthand\_name}*

{% hint style="warning" %}
Remember that making one Bulk Collect request will consume more credits as you get bigger data batches.
{% endhint %}

***

Read more about the credits 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 credits</td><td><a href="/pages/B1zFzH84OnIoh2EnKrvE">/pages/B1zFzH84OnIoh2EnKrvE</a></td></tr></tbody></table>


---

# 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/clean-employee-api.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.
