Get Many Contacts
Retrieves contacts by IDs/emails, or searches by name, email, contact list, or campaign membership.
Query modes
This endpoint supports two query modes:| Mode | Parameters | Response format |
|---|---|---|
| By IDs/emails | idsOrEmails | Array of contacts |
| Search/filter | search, email, listId, and/or notInAnyCampaign | Paginated object with data, total, limit, offset |
Filtering by contact list
Use thelistId parameter to retrieve contacts belonging to a specific list. Get valid list IDs from GET /contacts/lists.
You can combine listId with search or email to further narrow results within a list.
Filtering contacts not in any campaign
UsenotInAnyCampaign=true to find contacts that are not part of any campaign (orphan contacts). This can be used alone or combined with other filters like search, email, or listId.Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Query Parameters
A comma separated string of either valid contact IDs (MongoDB ObjectId) or valid email addresses. Optional — when omitted, returns the paginated list of all contacts of the team.
Search contacts by name or other text fields. Must be at least 2 characters.
Search contacts by exact email address.
Filter contacts by contact list ID (clt_xxx format). Can be combined with search or email, or used alone to list all contacts in a list. Get valid IDs from GET /contacts/lists.
^clt_[a-zA-Z0-9]+$When set to true, only returns contacts that are not part of any campaign (orphan contacts). Can be used alone or combined with other filters such as search, email, or listId.
Filter contacts by attached company ID (cpn_xxx format). Use this when you already know the lemlist company id (for example after fetching GET /companies?crmSyncStatus=unique_index_error_company). Mutually exclusive with companyDomain, companyLinkedinUrl, and companySalesnavUrl.
^cpn_[a-zA-Z0-9]+$Filter contacts by their company's website domain. Resolved to a companyId against the Companies collection. If no company matches, the endpoint returns an empty list (total: 0). Mutually exclusive with the other company* filters.
Filter contacts by their company's LinkedIn URL. Resolved to a companyId against the Companies collection. If no company matches, the endpoint returns an empty list (total: 0). Mutually exclusive with the other company* filters.
Filter contacts by their company's LinkedIn Sales Navigator URL. Resolved to a companyId against the Companies collection. If no company matches, the endpoint returns an empty list (total: 0). Mutually exclusive with the other company* filters.
Maximum number of contacts to return (1–500). Defaults to 100.
1 <= x <= 500Number of contacts to skip for pagination. Defaults to 0.
x >= 0Response
Success. When using idsOrEmails, returns an array of contacts. Otherwise, returns a paginated object with data, total, limit, and offset.
- object[]
- object
A contact record in your CRM. Not to be confused with a lead which is a contact specifically added to a campaign.
Unique contact identifier
Team identifier the contact belongs to
Contact's calculated full name
Contact's primary email address
Custom fields associated with the contact
List of campaigns the contact is associated with
ID of the user who owns this contact
Contact creation timestamp
ID of the user who created the contact
Whether the contact is globally unsubscribed. When true, no outreach will be sent to this contact.