Skip to main content
GET
Get Contact Sourcing Run
Pass either runId (the ID returned when you started the run) or companyId (to read that account’s most recent run) — not both.

The status is in the HTTP code

You can drive a polling loop from the status code alone, without parsing the body:

Reading the result

Each entry in contacts is one person of the buying committee:
leadId is a People Database ID, not a lemlist contact ID. Nobody has been added to your workspace yet — pass it to Add a Sourced Contact to create the contact.
companyName is the person’s current employer, which is not always the account that was classified: someone can match an account through a past role.

Authorizations

Authorization
string
header
required

Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.

Query Parameters

runId
string

The run to read, as returned by POST /contact-sourcing.

companyId
string

Read the LATEST run of this account instead (cpn_xxx format).

Response

The run completed.

runId
string
companyId
string
status
enum<string>
Available options:
pending,
running,
completed,
failed
ranAt
string<date-time>
completedAt
string<date-time>
reasoning
string

The AI's read-out of the account — why it picked these people, or found nobody.

error
string

Only on a failed run.

contacts
object[]