# `api.contacts.search` > `POST /contacts/v2/search` — ACPortal **Python** ```python api.contacts.search(*, data: ContactSearchRequest | dict) -> list[SearchContactEntityResult] ``` **CLI** ```bash ab contacts search [--data ...] ``` POST /contacts/v2/search. Args: data: Search payload with search_text, page, and page_size. Accepts a :class:`ContactSearchRequest` instance or a dict. Request model: :class:`ContactSearchRequest` ## Request body — `ContactSearchRequest` | Field | Type | Required | Description | |---|---|---|---| | `mainSearchRequest` | `Optional[ContactSearchParams]` | no | Search filter parameters (omit for unfiltered results) | | `loadOptions` | `PageOrderedRequest` | yes | Pagination and sorting options (required) | ## Response Returns a list of `List[SearchContactEntityResult]`. | Field | Type | Required | Description | |---|---|---|---| | `contactID` | `Optional[int]` | no | Contact integer ID | | `customerCell` | `Optional[str]` | no | Customer cell phone number | | `contactDisplayId` | `Optional[str]` | no | Contact display ID | | `contactFullName` | `Optional[str]` | no | Contact full display name | | `contactPhone` | `Optional[str]` | no | Contact phone number | | `contactHomePhone` | `Optional[str]` | no | Contact home phone number | | `contactEmail` | `Optional[str]` | no | Contact email address | | `masterConstantValue` | `Optional[str]` | no | Master constant value | | `contactDept` | `Optional[str]` | no | Contact department | | `address1` | `Optional[str]` | no | Street address line 1 | | `address2` | `Optional[str]` | no | Street address line 2 | | `city` | `Optional[str]` | no | City | | `state` | `Optional[str]` | no | State/province | | `zipCode` | `Optional[str]` | no | ZIP/postal code | | `countryName` | `Optional[str]` | no | Country name | | `companyCode` | `Optional[str]` | no | Company code | | `companyID` | `Optional[str]` | no | Company UUID | | `companyName` | `Optional[str]` | no | Company name | | `companyDisplayId` | `Optional[str]` | no | Company display ID | | `isPrefered` | `Optional[bool]` | no | Whether this contact is preferred | | `industryType` | `Optional[str]` | no | Industry type classification | | `totalRecords` | `Optional[int]` | no | Total matching records (denormalized) | --- [← Back to api.contacts](../contacts.md)