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

# Bulk Contacts

## Request

#### Header

<ParamField header="Accept-Language" type="string" default="EN">
  * NL: Dutch - FR: French - EN: English
</ParamField>

#### Body

<ParamField path="companies" type="array">
  <Expandable title="company properties">
    <ResponseField name="companyId" type="string" required>
      Obfuscated companyId returned by the search endpoint.
    </ResponseField>

    <ResponseField name="countryCode" type="string" required>
      Any supported country code — see [Supported countries](/api-reference/v2/supported-countries).
    </ResponseField>
  </Expandable>

  <Note>You can request up to 100 companies at once.</Note>
</ParamField>

<ParamField body="filters" type="object">
  <Expandable title="filter properties">
    <ParamField body="q" type="string">
      You can query on name or jobTitle.
    </ParamField>

    <ParamField body="onlyOfficialRoles" type="boolean" default="false">
      Return only contacts with official roles.
    </ParamField>

    <ParamField body="seniorities" type="string">
      <Tip>
        You can chain multiple seniorities.

        <br />

        For example, use `C_LEVEL,NON_MANAGEMENT` to search for both C-Level and
        Non-Management roles.
      </Tip>

      <Accordion title="Available Seniorities">
        * `C_LEVEL`
        * `FOUNDER`
        * `OWNER`
        * `OFFICIAL_DIRECTOR`
        * `PARTNER`
        * `VP`
        * `DIRECTOR`
        * `SENIOR`
        * `MANAGER`
        * `ENTRY`
        * `INTERN`
        * `NON_MANAGEMENT`
      </Accordion>
    </ParamField>

    <ParamField body="departments" type="string">
      <Tip>
        You can chain multiple departments.

        <br />

        For example, use `SOFTWARE_ENGINEERING,PRODUCT_MANAGEMENT` to search for
        both Software-engineering and Product-Management departments.
      </Tip>

      <Accordion title="Available Departments">
        * `C_SUITE`,
        * `ENGINEERING_AND_IT`,
        * `DESIGN`,
        * `EDUCATION`,
        * `FINANCE`,
        * `HUMAN_RESOURCES`,
        * `LEGAL`,
        * `MARKETING`,
        * `MEDICAL_HEALTH`,
        * `OPERATIONS`,
        * `CONSULTING`,
        * `SALES`,
        * `BOARD_OF_DIRECTORS`,
        * `RESEARCH_AND_DEVELOPMENT`,
        * `AGRICULTURE`,
        * `MANUFACTURING`,
        * `CONSTRUCTION`,
        * `HOSPITALITY`,
        * `MEDICAL_AND_HEALTH`,
      </Accordion>
    </ParamField>

    <ParamField body="officialRoles" type="string">
      <Tip>
        You can chain multiple official roles.

        <br />

        For example, use `FOUNDER,COOWNER` to search for both Founder and Co-owner
        official roles.
      </Tip>

      <Accordion title="Available Official Roles">
        * `ACTING_BAILIFF`
        * `ADMINISTRATOR`
        * `ASSOCIATE`
        * `AUDITOR`
        * `BOARD_MEMBER`
        * `CHAIRMAN`
        * `CHAIRMAN_OF_STATUTORY_AUDITORS`
        * `CHARTERED_ACCOUNTANT`
        * `CURATOR`
        * `DEPUTY_MANAGING_DIRECTOR`
        * `DEPUTY_PERMANENT_REPRESENTATIVE`
        * `EXTERNAL_ACCOUNTANT`
        * `FOUNDER`
        * `GENERAL_ADMINISTRATOR`
        * `GENERAL_AGENT`
        * `GOVERNMENT_COMMISSIONER`
        * `JUDICIAL_BOARD`
        * `JUDICIAL_TRUSTEE`
        * `LEGAL_REPRESENTATIVE`
        * `MANAGER`
        * `MANAGING_DIRECTOR`
        * `MAYOR`
        * `MEMBER_OF_AREA_ASSOCIATION`
        * `PERMANENT_REPRESENTATIVE`
        * `AUDITOR_PERMANENT_REPRESENTATIVE`
        * `PERSON_IN_CHARGE`
        * `PROPERTY_MANAGER`
        * `REGISTERED_AUDITOR`
        * `REGISTERED_TAX_EXPERT`
        * `REPRESENTATIVE`
        * `REPRESENTATIVE_NON_ADMIN`
        * `SEQUESTER`
        * `SUPPLY_SOLICITOR`
        * `TREASURER`
        * `TRUSTEE`
        * `VICE_PRESIDENT`
        * `SHAREHOLDER`
        * `OTHER`
        * `CIC_MANAGER`
        * `LLP_MEMBER`
        * `MANAGER_OF_AN_EEIG`
        * `MEMBER_OF_A_MANAGEMENT_ORGAN`
        * `MEMBER_OF_A_SUPERVISORY_ORGAN`
        * `MEMBER_OF_AN_ADMINISTRATIVE_ORGAN`
        * `NOMINEE_DIRECTOR`
        * `NOMINEE_SECRETARY`
        * `SECRETARY`
        * `DIRECTOR`
        * `GENERAL_PARTNER_IN_A_LIMITED_PARTNERSHIP`
        * `JUDICIAL_FACTOR`
        * `LIMITED_PARTNER_IN_A_LIMITED_PARTNERSHIP`
        * `LLP_DESIGNATED_MEMBER`
        * `PERSON_AUTHORISED_TO_ACCEPT`
        * `PERSON_AUTHORISED_TO_REPRESENT_AND_ACCEPT`
        * `RECEIVER_AND_MANAGER`
        * `ABSOLUTE_PARENT`
        * `MEMBER`
        * `MANAGEMENT_CONTROLLER`
        * `ACCOUNT_CONTROLLER`
        * `OTHER_MAJORITY_PARTNER`
        * `JOINT_INDEFINITELY_AND_SEVERALLY_LIABLE_MANAGER_PARTNER`
        * `JOINT_INDEFINITELY_LIABLE_MANAGER_PARTNER`
        * `LIQUIDATOR`
        * `SOLE_PARTNER_ACTIVE_IN_EURL`
        * `PRESIDENT_OF_BOARD_OF_DIRECTORS`
        * `PRESIDENT_OF_EXECUTIVE_BOARD`
        * `GENERAL_DIRECTOR`
        * `FOREIGN_ENTITY_FOREIGN_EXECUTIVE`
        * `FOREIGN_ENTITY_FRENCH_EXECUTIVE`
        * `PRESIDENT_AND_GENERAL_DIRECTOR_OF_BOARD`
        * `PRESIDENT_OF_SUPERVISORY_BOARD`
        * `EXECUTIVE_BOARD_MEMBER`
        * `SUPERVISORY_BOARD_MEMBER`
        * `PERSON_AUTHORIZED_TO_REPRESENT_COMPANY`
        * `PERSON_AUTHORIZED_TO_REPRESENT_ESTABLISHMENT`
        * `CHIEF_EXECUTIVE_OFFICER`
        * `DEPUTY_GENERAL_DIRECTOR`
        * `STATUTORY_AUDITOR`
        * `ALTERNATE_AUDITOR`
        * `PRESIDENT_OF_SAS`
        * `JOINT_INDEFINITELY_AND_SEVERALLY_LIABLE_PARTNER`
        * `JOINT_INDEFINITELY_LIABLE_PARTNER`
        * `FOREIGN_COMPANY_FRENCH_SOCIAL_REPRESENTATIVE`
        * `FOREIGN_COMPANY_FRENCH_FISCAL_REPRESENTATIVE`
        * `COOWNER`
        * `OPERATOR_FOR_COOWNERSHIP`
        * `PHYSICAL_PERSON_OPERATING_TOGETHER`
        * `SPECIAL_AGENT`
        * `TEMPORARY_ADMINISTRATOR`
        * `UNSALARIED_MEMBER_PARTICIPATING_IN_WORK`
        * `PARTNER_INVOLVED_IN_MANAGEMENT`
        * `UNSALARIED_PARTNER`
        * `ACQUIRER`
        * `ENTREPRENEUR`
        * `DEPUTY`
        * `DESIGNATED_DECISION_MAKER`
        * `ACCOUNTANT`
        * `COOWNER_HEIR`
        * `LESSOR`
        * `BENIFICIAL_OWNER`
        * `TAX_AGENT`
        * `VICE_PRESIDENT_MANAGEMENT`
        * `VICE_PRESIDENT_ORIENTATION_AND_SURVEILLANCE`
        * `PRESIDENT_ORIENTATION_AND_SURVEILLANCE`
        * `MEMBER_ORIENTATION_AND_SURVEILLANCE`
        * `SOLE_PARTNER_ASSET_RECOVERY`
        * `GENERAL_PARTNER`
        * `PRESIDENT_OF_EPIC`
        * `LAWYER`
        * `TAX_REPRESENTATIVE`
        * `BENFICIAL_MEMBER`
        * `PERSON_AUTHORIZED_TO_REPRESENT_ENTITY`
        * `PRESIDENT`
        * `GENERAL_SECRETARY`
        * `UNION_BOARD_MEMBER`
        * `UNION_BOARD_PRESIDENT`
        * `PERSON_DESIGNATED_BY_BYLAWS`
      </Accordion>
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="limit" type="number" default="4">
  Number of items to return per page. (max 500)
</ParamField>

<ParamField body="offset" type="number" default="0">
  Number of items to skip. `companies.length x limit` may not exceed 500.
</ParamField>

## Response

<Note>
  The same limit and offset are shared over all companies.
</Note>

<Warning>
  **Warning:** While it is possible for `contactId` values to change, this will not happen often and should not occur regularly.<br /><br /> However, it is important not to rely solely on `contactId` values in your workflows, as they could fluctuate in the future.<br /><br /> For more consistent results, consider using other identifiers or attributes when working with contacts.
</Warning>

<ResponseExample>
  ```json Response - 200 theme={null}
  [
    {
      "identifier": {
          "countryCode": "BE",
          "companyId": "1778186251",
          "name": "Bizzy ",
      },
      "data": [
          {
              "identifier": {
                  "contactId": "1740201639",
                  "firstName": "Steve",
                  "lastName": "Declercq"
              }
          },
          {
              "identifier": {
                  "contactId": "1280731968",
                  "firstName": "Hendrik",
                  "lastName": "Keeris"
              }
          },
          {
              "identifier": {
                  "contactId": "1858956880",
                  "firstName": "David",
                  "lastName": "Du Pré"
              }
          },
          {
              "identifier": {
                  "contactId": "1122224600",
                  "firstName": "Piet",
                  "lastName": "Casneuf"
              }
          }
      ],
      "pagination": {
          "limit": 4,
          "offset": 0,
          "total": 39
      },
      "message": null
    },
    { // Example error
      "identifier": {
          "countryCode": "BE",
          "companyId": "123",
          "name": ""
      },
      "data": null,
      "pagination": null,
      "message": "Company not found"
    }
  ]
  ```
</ResponseExample>
