> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paraform.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Check which candidates are already in your talent network

<Info>
  **Required scopes:** `talent_network:read`<br />
  **Rate limit:** `default` tier, 120 requests per minute per key
</Info>

Answers, for up to 500 identities at once, whether each is already a candidate in YOUR agency's talent network — the pre-flight check before a bulk submit, so your CRM neither resubmits people it already has nor skips people it does not.

Each identity is `{ email }`, `{ linkedinUrl }`, or both; at least one is required. `linkedinUrl` is matched first and wins when both are given, on the same precedence submission deduplication uses to resolve a candidate, so `inNetwork: false` means a submit would genuinely create new work. Any usual LinkedIn profile URL form is accepted, and the casing of what you send does not matter. In the rare case where a stored handle or address differs from the one you send only by letter casing, a lookup can answer false for a candidate a submit would deduplicate — resubmitting is always safe. Values are never rejected: an unparseable URL or an unknown address simply answers `inNetwork: false`. `results` is index-aligned with `identities`; duplicate identities in one request get the same answer.

`inNetwork: true` means the candidate appears in `GET /talent-network/candidates`, and `status` says whether ParaAI is currently considering them (`on_market`, with `daysRemaining` left in the window) or not (`off_market`, `daysRemaining` null). `candidateUserId` identifies the row for follow-up calls. A candidate who is in the talent network only via a different agency answers a bare `inNetwork: false`, indistinguishably from one who is not in it at all.

This endpoint only reads; it never creates or modifies anything and takes no `Idempotency-Key`.

## Body

<ParamField body="identities" type="object[]" required>
  Constraints: min items 1, max items 500.

  <Expandable title="identities properties">
    <ParamField body="email" type="string | null" />

    <ParamField body="linkedinUrl" type="string | null" />
  </Expandable>
</ParamField>

## Response

<ResponseField name="results" type="object[]" required>
  <Expandable title="results properties">
    <ResponseField name="inNetwork" type="boolean" required />

    <ResponseField name="candidateUserId" type="string" />

    <ResponseField name="status" type="string">
      Allowed values: `on_market`, `off_market`.
    </ResponseField>

    <ResponseField name="daysRemaining" type="integer | null" />
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://external-api.paraform.com/api/external/v1/talent-network/candidates/lookup" \
    -H "Authorization: Bearer $PARAFORM_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
    "identities": [
      {
        "email": "string"
      }
    ]
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "results": [
      {
        "inNetwork": true
      }
    ]
  }
  ```
</ResponseExample>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.