# Get a list of browser profiles

List the browser profiles visible to the authenticated member, page by page.
- **Effect**: none. Read-only. Safe to retry with bounded backoff.
- **Filtering**: `keyword` matches profile name, remark, tag name and group name. `groupId` of `0` means ungrouped.
- **Note**: proxy passwords are withheld for ordinary members and for platform or dynamic proxies.
- **Paging**: starts at 1. `dataList` is an empty array when there are no results.

Endpoint: POST /env/page
Version: 2026-09-05
Security: OpenApiBearer

## Security:

  - `OpenApiBearer` (unknown)
    http bearer JWT

## Request fields (application/json):

  - `uniqueIds` (array)
    Profile sequence numbers. Up to 100 items.
    Example: [1001]

  - `envId` (string)
    Profile ID. The request also accepts the field alias `id`.
    Example: 1800000000000001

  - `envName` (string)
    Profile name.
    Example: marketing-01

  - `keyword` (string)
    Keyword filter. Matches profile name, group name, tag name, and remark.
    Example: marketing

  - `groupId` (string)
    Group ID. `0` means ungrouped.
    Example: 0

  - `pageSize` (integer, required)
    Number of items per page.
    Example: 10

  - `pageNo` (integer, required)
    Current page number, starting from 1.
    Example: 1

  - `onlyMainAccount` (boolean)
    Whether to return only profiles owned by the main account.
    Example: false

## Response 200:

  - `200` (unknown)
    Success

## Response 200 fields (application/json):

  - `code` (integer, required)
    Return result code. `0` means success; other codes indicate exceptions.
    Example: 0

  - `msg` (string | null, required)
    Error message. Usually `null` on success.
    Example: null

  - `requestId` (string)
    Operation request ID. This field may be present when the request passes through the API gateway.
    Example: 1d4f3ea968664593860b94b35d4ebf5e

  - `data` (object, required)

  - `data.total` (string, required)
    Total number of records.
    Example: 1

  - `data.current` (string, required)
    Current page number.
    Example: 1

  - `data.pages` (string, required)
    Total number of pages.
    Example: 1

  - `data.dataList` (array, required)
    Profiles on the current page. Empty array when there are no results.

  - `data.dataList.id` (string)
    Browser profile (environment) ID. Serialized as a decimal string to avoid JavaScript
precision loss on 64-bit integers.
    Example: 1800000000000001

  - `data.dataList.envName` (string)
    Profile name.
    Example: marketing-01

  - `data.dataList.groupId` (string)
    Group ID. `0` means ungrouped.
    Example: 0

  - `data.dataList.groupName` (string | null)
    Group name.
    Example: Marketing

  - `data.dataList.tagInfos` (array)
    Tags on the profile. Empty array when there are none.

  - `data.dataList.tagInfos.id` (string)
    Tag ID.
    Example: 1800000000000301

  - `data.dataList.tagInfos.tagName` (string)
    Tag name.
    Example: important

  - `data.dataList.envRemark` (string | null)
    Profile remark.
    Example: Created through the Open API

  - `data.dataList.proxyId` (string | null)
    Proxy ID bound to the profile.
    Example: 1800000000000101

  - `data.dataList.proxy` (any)
    Proxy details. `null` when no proxy is bound.

  - `data.dataList.proxy.id` (string)
    Proxy ID.
    Example: 1800000000000101

  - `data.dataList.proxy.proxyName` (string)
    Proxy name.
    Example: proxy-a

  - `data.dataList.proxy.proxyType` (integer)
    Proxy protocol:
- `0` — HTTP
- `1` — HTTPS
- `2` — SOCKS5
- `3` — SSH
    Enum: 0, 1, 2, 3

  - `data.dataList.proxy.proxyProvider` (integer)
    Proxy type. `0` to `3` mean a plain proxy of the matching protocol; `4` and above identify a
commercial proxy type:
- `0` — HTTP
- `1` — HTTPS
- `2` — SOCKS5
- `3` — SSH
- `4` — Oxylabs
- `5` — Proxys.io
- `6` — GeoSurf
- `7` — Luminati
- `8` — Lumauto
- `9` — Oxylabsauto
- `10` — Trojan
- `11` — Shadowsocks
- `12` — vmess
- `13` — ABCProxy
- `14` — LunaProxy
- `15` — IPHTML
- `16` — PiaProxy
- `17` — 922S5
- `18` — 360Proxy

Treat unknown future values as a generic commercial proxy type.
    Example: 0

  - `data.dataList.proxy.proxyCategoryType` (integer)
    Proxy category:
- `1` — cloud platform
- `2` — self-owned IP
    Enum: 1, 2

  - `data.dataList.proxy.proxyCheckStatus` (integer)
    Connectivity check status:
- `0` — pending
- `1` — succeeded
- `2` — failed
- `3` — unknown error
    Enum: 0, 1, 2, 3

  - `data.dataList.proxy.proxyStatus` (integer)
    Proxy status:
- `0` — normal
- `1` — pending allocation
- `2` — upgrading
- `3` — expired
    Enum: 0, 1, 2, 3

  - `data.dataList.proxy.state` (string | null)
    Proxy state or province. Uses detected exit-IP location when available, otherwise the configured location; may be null or empty.
    Example: California

  - `data.dataList.proxy.city` (string | null)
    Proxy city. Uses detected exit-IP location when available, otherwise the configured location; may be null or empty.
    Example: Los Angeles

  - `data.dataList.proxy.proxyPort` (integer | null)
    Proxy connection port, not a port inferred from the proxy name. May be null when unavailable.
    Example: 1080

  - `data.dataList.proxy.proxyIp` (string)
    Proxy host or IP address.
    Example: 127.0.0.1

  - `data.dataList.proxy.exportIp` (string | null)
    Exit IP address.
    Example: 203.0.113.10

  - `data.dataList.proxy.countryCode` (string | null)
    Country code.
    Example: US

  - `data.dataList.proxy.expiryTime` (string | null)
    Expiry time as a Unix timestamp in milliseconds.
    Example: 1786320000000

  - `data.dataList.proxy.username` (string | null)
    Proxy username.
    Example: user

  - `data.dataList.proxy.password` (string | null)
    Proxy password.
    Example: pass

  - `data.dataList.proxy.refreshUrl` (string | null)
    Proxy refresh URL.
    Example: https://example.com/refresh

