Request an Email Enrichment
Starts an asynchronous lookup of a work or personal email address for a LinkedIn profile. Returns immediately with a request _id and a status of pending; the result is delivered later either by polling GET /v1/api/enrichment/email/{id} or via the optional callback_url webhook. Each completed lookup costs 1 enrichment credit (charged only when an email is found). Requires a positive credit balance.
_id and a status of pending. The actual lookup runs in the background — collect the result either by polling the returned _id, or by providing a callback_url that we POST to when the lookup finishes.
status: "completed"), never for not-found. The request is rejected with 402 if the team has no remaining credits — check your balance with Get Enrichment Credits.Request Body
| Field | Type | Required | Description |
|---|---|---|---|
linkedin_url | string | Yes | LinkedIn profile URL. Must be a linkedin.com/in/<username> URL. |
type | string | Yes | Email type to find — work or personal. |
callback_url | string (URL) | No | Webhook POSTed when the enrichment finishes. Retried up to 3 times with backoff. |
external_id | string (≤256) | No | Opaque value echoed back in the callback for client-side correlation. |
Example Request
Response (201)
_id — it is the handle for polling and the identifier referenced in the callback.
Callback payload
If you supplied acallback_url, we POST a JSON body to it once the lookup resolves:
status is completed (with email) or not-found (email is null). Delivery is attempted up to 3 times; if every attempt fails, fall back to polling.
Errors
| Status | Description |
|---|---|
| 400 | Validation failed — linkedin_url is not a linkedin.com/in/<username> URL, or type is not work/personal |
| 402 | Insufficient enrichment credits |
Authorizations
Body
LinkedIn profile URL. Must be a linkedin.com/in/ URL.
"https://www.linkedin.com/in/username"
Which email type to find.
work, personal Optional. Webhook URL POSTed when the enrichment finishes. Retried up to 3 times.
"https://example.com/webhooks/enrichment"
Optional. Echoed back in the callback payload for client-side correlation.
256"lead-42"
Response
Enrichment request accepted. Poll the returned _id, or wait for the callback.
Enrichment request ID. Use this to poll GET /v1/api/enrichment/email/{id}.
"507f1f77bcf86cd799439011"
Current state of the request. completed means an email was found; not-found means none was available.
pending, processing, completed, not-found, failed "https://www.linkedin.com/in/username"
Present once the lookup resolves. Reflects the requested email type.
work_email, personal_email Populated when status is completed. Null when status is not-found.
The external_id supplied on the original request, if any.
"lead-42"