---
title: "Retrieve a page of profile previews with server-side filtering and sorting to optimize querying profiles. Only the properties of ProfilePreview can be filtered and sorted."
method: POST
path: "/profiles/search"
tags: ["Profile"]
---

# Retrieve a page of profile previews with server-side filtering and sorting to optimize querying profiles. Only the properties of ProfilePreview can be filtered and sorted.

`POST /profiles/search`

## Request

- Base URL: `http://localhost:5050`
- URL: `http://localhost:5050/profiles/search`
- Auth: none declared
- TypeScript: <https://skmtc.dev/kameleo-io/apis/kameleo-local-api/docs/profiles/search/post.ts> (a function with typed inputs; its response is checked against the schema)

This is an experimental endpoint, may change in the future without any notice.

## Request body

- TableRequest: TanStack Table compatible server-side state (pagination, sorting, columnFilters, globalFilter) used to query any list of items.
  - `pagination` PaginationState
    - `pageIndex` integer: Zero-based page index.
    - `pageSize` integer: Number of rows per page.
  - `sorting` SortingState[]: Sorting state. Column ids are property names of the queried item type (case-insensitive).
    - `id` string, required
    - `desc` boolean
  - `columnFilters` ColumnFilterState[]: Column filters. Column ids are property names of the queried item type (case-insensitive). The value can be a scalar, an array of values (any-of), or a two element array for ranges (dates, numbers; null means open ended).
    - `id` string, required
    - `value` unknown
  - `globalFilter` string, nullable: Value matched against every filterable column.

## Response `200`

OK.

- ProfilePreviewPagedResponse: A page of items together with the metadata in TanStack Table compatible format.
  - `items` ProfilePreview[], required: The items of the current page.
    - `id` string, uuid, required: A unique identifier of the profile
    - `name` string, required: The name of the profile
    - `tags` string[], required: Profile tags
    - `proxy` ProxyChoice, required
      - `value` 'none' | 'http' | 'socks5' | 'ssh', required: Proxy connection settings of the profiles. Possible values: 'none': Direct connection without any proxy. 'http': Use a HTTP proxy for upstream communication. 'socks5': Use a SOCKS5 proxy for upstream communication. 'ssh': Use an SSH connection for upstream communication. Basically a SOCKS5 proxy created at the given SSH host.
      - `extra` Server: Represents a server connection. It can be used as a proxy server connection as well.
        - `host` string, required: Gets or sets the hostname where the service is provided from.
        - `port` integer, required: Gets or sets the port where the service is provided from.
        - `id` string, nullable: Gets or sets the identity information provided for the service. This could be a custom id or username or anything which identifies a resource on the remote service. Use it as a proxy username. This field is optional.
        - `secret` string, nullable: Gets or sets the shared secret between the client and the service provider. Use it as a proxy password. This field is optional.
    - `createdAt` string, date-time, required: Date when the profile was created.
    - `device` Device, required
      - `type` string, required: Type of the device. Possible values are: 'desktop', 'mobile'.
      - `name` string, nullable: Name of the device. This is only available for mobile profiles.
    - `os` Os, required
      - `family` string, required: Specifies the operating system family. Possible values are 'windows', 'macos', 'linux', 'android', 'ios'.
      - `version` string, required: The specific version of the OS. For example it helps you determine the exact version of the macOS.
      - `platform` string, required: The OS's platform, indicating the processor architecture (e.g., 64-bit, 32-bit)
    - `browser` Browser, required
      - `product` string, required: Product of the browser. Possible values are 'chrome', 'firefox', 'edge', 'safari'.
      - `major` integer, required: Major version of the browser.
      - `version` string, required: Exact version of the browser.
    - `language` string, required: A language or a comma-separated list of languages for the profile. ISO 639-1 language and optionally ISO 3166-1 region code.
    - `status` StatusResponse, required: Status information about the profile
      - `lifetimeState` 'created' | 'starting' | 'running' | 'terminating' | 'terminated' | 'locked' | 'loading' | 'unknown', required: Represents the lifetime states of a profile, indicating which actions can be performed with the associated browser engine at each state. Possible values are: - Created: Profile is created; the associated browser engine is not started. - Starting: The associated browser engine is starting. - Running: The associated browser engine is currently running. - Terminating: The associated browser engine is in the process of terminating. - Terminated: The associated browser engine is not running but has been started at least once. - Locked: The profile is currently being used by another user. - Loading: The profile data or the browser engine is syncing with the cloud storage. - Unknown: State of the profile is undefined.
    - `storage` 'local' | 'cloud'
    - `folderId` string, uuid, nullable: A unique identifier of the containing folder, or empty (00000000-0000-0000-0000-000000000000) if not in a folder. This will always be empty for locally stored profiles, as only cloud profiles can be added to folders.
  - `totalCount` integer, required: Total number of rows after filtering.
  - `pageCount` integer, required: Total number of pages.
  - `pageIndex` integer, required: Zero-based index of the current page.
  - `pageSize` integer, required: Number of rows per page.

## Other responses

- `400`: Invalid filter or sorting.
- `default`: Error

## Changes

- **2026-11-09** `d3225562612a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/kameleo-io/apis/kameleo-local-api/changes/profiles/search/post.md)

---

[API](https://skmtc.dev/kameleo-io/apis/kameleo-local-api.md) - [All operations](https://skmtc.dev/kameleo-io/apis/kameleo-local-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kameleo-io/apis/kameleo-local-api/revisions/d3225562612a?raw)
