Skip to main content
POST
Request an email enrichment
Starts an asynchronous lookup of a work or personal email address for a LinkedIn profile. The call returns immediately with a request _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.
Each completed lookup costs 1 enrichment credit. Credits are charged only when an email is found (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

FieldTypeRequiredDescription
linkedin_urlstringYesLinkedIn profile URL. Must be a linkedin.com/in/<username> URL.
typestringYesEmail type to find — work or personal.
callback_urlstring (URL)NoWebhook POSTed when the enrichment finishes. Retried up to 3 times with backoff.
external_idstring (≤256)NoOpaque value echoed back in the callback for client-side correlation.

Example Request

Response (201)

Persist the _id — it is the handle for polling and the identifier referenced in the callback.

Callback payload

If you supplied a callback_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

StatusDescription
400Validation failed — linkedin_url is not a linkedin.com/in/<username> URL, or type is not work/personal
402Insufficient enrichment credits

Authorizations

x-api-key
string
header
required

Body

application/json
linkedin_url
string
required

LinkedIn profile URL. Must be a linkedin.com/in/ URL.

Example:

"https://www.linkedin.com/in/username"

type
enum<string>
required

Which email type to find.

Available options:
work,
personal
callback_url
string<uri>

Optional. Webhook URL POSTed when the enrichment finishes. Retried up to 3 times.

Example:

"https://example.com/webhooks/enrichment"

external_id
string

Optional. Echoed back in the callback payload for client-side correlation.

Maximum string length: 256
Example:

"lead-42"

Response

Enrichment request accepted. Poll the returned _id, or wait for the callback.

_id
string

Enrichment request ID. Use this to poll GET /v1/api/enrichment/email/{id}.

Example:

"507f1f77bcf86cd799439011"

status
enum<string>

Current state of the request. completed means an email was found; not-found means none was available.

Available options:
pending,
processing,
completed,
not-found,
failed
linkedin_url
string
Example:

"https://www.linkedin.com/in/username"

enrichment_type
enum<string>

Present once the lookup resolves. Reflects the requested email type.

Available options:
work_email,
personal_email
email
object | null

Populated when status is completed. Null when status is not-found.

external_id
string

The external_id supplied on the original request, if any.

Example:

"lead-42"