Overview
Use these endpoints when you need more than the basic list query params:POST /v1/contacts/searchPOST /v1/companies/search
searchfor full-text matchingincludefor positive filtersexcludefor negative filterspageandpageSizefor paginationfieldson contact search when you want extra contact/company-backed fields returned
Start With The Fields Endpoints
Treat the fields endpoints as the schema source of truth for filtering:GET /v1/contacts/fieldsGET /v1/companies/fields
id: the exact key to use ininclude,exclude, and contactfieldslabel: the human-readable namedataType: how to shape the filter valuefieldType: whether the field is standard, AI, CRM, formula, or empty
GET /v1/contacts/fields already includes valid company-backed field IDs such as companyName, so start there first.
If your workspace exposes scoring fields like icpScore, scoreBand, or custom AI/formula fields, use the exact id returned by the fields endpoint before adding them to search filters.
Enrichment-Backed Company Fields
GET /v1/companies/fields also returns fields that come from enrichment providers rather than the base company record — ecommerce store data (Store Leads), web traffic (Similarweb), funding (fundraising data), job openings, headcount, and technologies. They are used the same way: request them in fields, or filter on them in include.
Ecommerce examples:
ecommerceStoreEstimatedSalesandecommerceStoreEstimatedSalesYearly— estimated monthly / yearly sales (GMV)ecommerceStoreProductCount,ecommerceStoreAvgPriceecommerceStoreEstimatedVisits,ecommerceStoreEstimatedPageViewsecommerceStoreTrustpilotRating,ecommerceStoreTrustpilotReviewCountecommerceStoresPlatform,ecommerceStoresShippingCarriers,ecommerceStoresShipsToCountriesecommerceStores— the full per-store payload, including the installed technology stack
Important Filters First
These are the highest-signal filters to reach for first:idIf you already know a single record ID, preferGET /v1/contacts/{contactId}orGET /v1/companies/{companyId}. Useidinside search when you need to combine exact IDs with other filters.leadsGrouporcompanyGroupList IDs for contact lists or company lists.campaignsCampaign IDs when you want outreach-related slices.isInCRMorisCompanyInCRMCRM presence filters.leadsCountornumberOfEmployeesGood first-pass sizing filters for companies and account selection.- Workspace scoring fields like
icpScoreUse only after confirming the field exists in/fields. contactTagsorcompanyTagsTag IDs fromGET /v1/contacts/tagsorGET /v1/companies/tags, with""meaning no tag. Contact search acceptscontactTagsand company search acceptscompanyTags. See Contact and company tags.
Filter Value Schema
include and exclude are plain JSON objects whose keys are special filter names or field IDs from /fields.
Use these value shapes:
Notes:
- Range filters are inclusive.
- You can leave one side open for numeric ranges, for example
["80", ""]. - Contact search also accepts company-backed field IDs in
include,exclude, andfields.
Contact Search Examples
Contact list ID + CRM presence
Contact IDs + company-backed filters
Workspace scoring field
ReplaceicpScore with the exact scoring field ID from GET /v1/contacts/fields.
Company Search Examples
Company list ID + employee range
Company IDs + lead count + CRM presence
Workspace scoring field
ReplacescoreBand with the exact scoring field ID from GET /v1/companies/fields.
Reference Endpoints
- Contact fields:
GET /v1/contacts/fields - Company fields:
GET /v1/companies/fields - Contact search:
POST /v1/contacts/search - Company search:
POST /v1/companies/search