Companies

Filter companies

Filter and sort the workspace's companies, one keyset page at a time, each with its stats. `where` ANDs its clauses: `name`, `description` and `headquarters_location` (`contains`, `not_contains`, or `

POST /v2/companies/filter

Request body

Content-Type: application/json

where
object required
where.name
object
where.name.operator
string enum
Possible values: "contains", "not_contains", "eq"
where.name.value
string
where.description
object
where.description.operator
string enum
Possible values: "contains", "not_contains"
where.description.value
string
where.headquarters_location
object
where.headquarters_location.operator
string enum
Possible values: "contains", "not_contains", "eq"
where.headquarters_location.value
string
where.employees
object
where.employees.in
array<string enum>
where.connections
object
where.connections.operator
string enum
Possible values: "eq", "gte", "lte"
where.connections.value
integer
where.country_code
object
where.country_code.operator
string enum
Possible values: "in", "not_in"
where.country_code.values
array<string>
where.linkedin_industry
object
where.linkedin_industry.operator
string enum
Possible values: "in", "not_in"
where.linkedin_industry.values
array<string>
where.linkedin_company_type
object
where.linkedin_company_type.operator
string enum
Possible values: "in", "not_in"
where.linkedin_company_type.values
array<string enum>
where.assignee
object
where.assignee.operator
string enum
Possible values: "in", "not_in"
where.assignee.values
array<string enum>
where.tags
object
where.tags.operator
string enum
Possible values: "any", "all", "none"
where.tags.tag_ids
array<string (uuid)>
where.starred
boolean
where.archived
boolean
where.custom_fields
array<object>
where.custom_fields[].field_id
string (uuid)
where.custom_fields[].operator
string enum
Possible values: "contains", "eq", "in", "not_in", "present", "absent", "gte", "lte"
where.custom_fields[].value
string
sort
object required
sort.field
string enum required
Possible values: "name", "contacts_count", "connections_count", "created_at", "team_last_interaction_at"
sort.direction
string enum required
Possible values: "asc", "desc"
limit
integer required
cursor
string

Example

{
  "where": {},
  "sort": {
    "field": "contacts_count",
    "direction": "desc"
  },
  "limit": 100
}

Responses

200 — Successful response

Content-Type: application/json

data
object required
data.companies
array<object> required
data.companies[].id
string (uuid) required
data.companies[].user_id
string required
data.companies[].workspace_id
string (uuid) | null required
data.companies[].assignee_id
string | null required
data.companies[].name
string required
data.companies[].description
string | null required
data.companies[].linkedin_description
string | null required
data.companies[].logo_url
string | null required
data.companies[].logo_source
string enum required
Possible values: "upload", "auto", "dismissed"
data.companies[].logo_source_domain
string | null required
data.companies[].website_url
string | null required
data.companies[].linkedin_slug
string | null required
data.companies[].facebook_slug
string | null required
data.companies[].x_slug
string | null required
data.companies[].instagram_slug
string | null required
data.companies[].headquarters_location
string | null required
data.companies[].country_code
string | null required
data.companies[].email
string | null required
data.companies[].phone_number
string | null required
data.companies[].arr_estimate
integer | null required
data.companies[].number_of_employees
integer | null required
data.companies[].linkedin_data
object | null required
data.companies[].linkedin_data.industry
string | null
data.companies[].linkedin_data.company_type
string | null
data.companies[].linkedin_data.size_range
string | null
data.companies[].linkedin_data.specialities
array<string>
data.companies[].linkedin_data.founded_year
integer | null
data.companies[].linkedin_data.tagline
string | null
data.companies[].linkedin_data.linkedin_url
string | null
data.companies[].linkedin_data.linkedin_internal_id
string | null
data.companies[].linkedin_data.follower_count
integer | null
data.companies[].linkedin_data.provider
string | null
data.companies[].linkedin_data.fetched_at
string | null
data.companies[].ignore_merge
boolean required
data.companies[].name_is_placeholder
boolean required
data.companies[].archived_at
string (date-time) required
data.companies[].geocode_attempts
integer
data.companies[].geocode_failed_at
string (date-time)
data.companies[].created_at
string (date-time) required
data.companies[].updated_at
string (date-time) required
data.companies[].companies_custom_fields
array<object> required
data.companies[].companies_custom_fields[].custom_field_id
string (uuid) required
data.companies[].companies_custom_fields[].text_value
string | null required
data.companies[].companies_custom_fields[].array_value
array<string> required
data.companies[].companies_custom_fields[].date_value
string (date-time) required
data.companies[].companies_custom_fields[].member_user_id
string | null required
data.companies[].companies_custom_fields[].number_value
number | null required
data.companies[].companies_custom_fields[].boolean_value
boolean | null required
data.companies[].companies_custom_fields_contacts
array<object> required
data.companies[].companies_custom_fields_contacts[].custom_field_id
string (uuid) required
data.companies[].companies_custom_fields_contacts[].linked_contact_id
string (uuid) required
data.companies[].companies_custom_fields_companies
array<object> required
data.companies[].companies_custom_fields_companies[].custom_field_id
string (uuid) required
data.companies[].companies_custom_fields_companies[].linked_company_id
string (uuid) required
data.companies[].tag_ids
array<string (uuid)> required
data.stats
array<object> required
data.stats[].company_id
string (uuid) required
data.stats[].contacts_count
integer required
data.stats[].connections_count
integer required
data.stats[].last_interaction_at
string (date-time) required
data.stats[].team_last_interaction_at
string (date-time) required
data.pagination
object required
data.pagination.nextCursor
string | null
data.pagination.count
integer

Example

{
  "data": {
    "companies": [
      {
        "id": "00000000-0000-0000-0000-000000000000",
        "user_id": "string",
        "workspace_id": "00000000-0000-0000-0000-000000000000",
        "assignee_id": "string",
        "name": "string",
        "description": "string",
        "linkedin_description": "string",
        "logo_url": "string",
        "logo_source": "upload",
        "logo_source_domain": "string",
        "website_url": "string",
        "linkedin_slug": "string",
        "facebook_slug": "string",
        "x_slug": "string",
        "instagram_slug": "string",
        "headquarters_location": "string",
        "country_code": "string",
        "email": "string",
        "phone_number": "string",
        "arr_estimate": 0,
        "number_of_employees": 0,
        "linkedin_data": {
          "industry": "string",
          "company_type": "string"
        },
        "ignore_merge": false,
        "name_is_placeholder": false,
        "archived_at": "2026-10-27T17:27:24.889Z",
        "created_at": "2026-10-27T17:27:24.889Z",
        "updated_at": "2026-10-27T17:27:24.889Z",
        "companies_custom_fields": [
          {
            "custom_field_id": "00000000-0000-0000-0000-000000000000",
            "text_value": "string",
            "array_value": [
              null
            ],
            "date_value": "2026-10-27T17:27:24.889Z",
            "member_user_id": "string",
            "number_value": 0,
            "boolean_value": false
          }
        ],
        "companies_custom_fields_contacts": [
          {
            "custom_field_id": "00000000-0000-0000-0000-000000000000",
            "linked_contact_id": "00000000-0000-0000-0000-000000000000"
          }
        ],
        "companies_custom_fields_companies": [
          {
            "custom_field_id": "00000000-0000-0000-0000-000000000000",
            "linked_company_id": "00000000-0000-0000-0000-000000000000"
          }
        ],
        "tag_ids": [
          "00000000-0000-0000-0000-000000000000"
        ]
      }
    ],
    "stats": [
      {
        "company_id": "00000000-0000-0000-0000-000000000000",
        "contacts_count": 0,
        "connections_count": 0,
        "last_interaction_at": "2026-10-27T17:27:24.889Z",
        "team_last_interaction_at": "2026-10-27T17:27:24.889Z"
      }
    ],
    "pagination": {
      "nextCursor": "string",
      "count": 0
    }
  }
}

400 — Request body failed validation.

Content-Type: application/json

(body)
any

401 — Missing or invalid API key.

Content-Type: application/json

(body)
any

403 — Valid key, insufficient permission.

Content-Type: application/json

(body)
any

404 — Resource does not exist.

Content-Type: application/json

(body)
any

409 — Request conflicts with the current state of the resource.

Content-Type: application/json

(body)
any

429 — Rate limit exceeded.

Content-Type: application/json

(body)
any

500 — Unexpected server error.

Content-Type: application/json

(body)
any

Code samples

curl https://api.prod.getdex.com/v2/companies/filter \
  --request POST \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "where": {},
  "sort": {
    "field": "contacts_count",
    "direction": "desc"
  },
  "limit": 100
}'
Copyright © 2026