# Advanced create browser profile

Endpoint: POST /api/env/create/advanced
Version: 1.0.0

## Request fields (application/json):

  - `browserTypeId` (integer, required)
    Browser type ID; 1=Chrome, 2=Firefox

  - `operatorSystemId` (integer, required)
    OS type ID; 1:Windows 2:macOS 3:Android 4:IOS 5:Linux

  - `isEncrypt` (integer)
    Whether to encrypt the profile; 0=No, 1=Yes

  - `startupParams` (array)
    Additional browser startup parameters

  - `accountInfo` (object)

  - `accountInfo.customerUrl` (string)
    Custom platform URL — required if platformId=9999, must be a valid URL

  - `accountInfo.password` (string)
    Password; max length:50 characters

  - `accountInfo.platformId` (integer)
    Platform ID; use 9999 for custom URL. Refer to /api/system/platform/list.

  - `accountInfo.siteId` (integer)
    Site ID; obtain via ""Get Configurable Platforms"" API (/api/system/platform/list)

  - `accountInfo.username` (string)
    Username; max length:64 characters

  - `advancedSetting` (object)
    Advanced browser fingerprint and behavior configuration.

  - `advancedSetting.ua` (string)
    Customize the profile User-Agent (UA). Must follow standard UA format.
Available via the “Get Browser UA” API.

  - `advancedSetting.time_zone` (object)

  - `advancedSetting.time_zone.switcher` (integer)
    Timezone option. Default:1. 1 = Match IP, 2 = Custom.

  - `advancedSetting.time_zone.value` (string)
    Required when switcher=2.
Timezone ID from “Get Timezone & Language List” API.

  - `advancedSetting.web_rtc` (object)

  - `advancedSetting.web_rtc.switcher` (integer)
    WebRTC policy. Default:2. 1 = Privacy, 2 = Replacement, 3 = Real, 4 = Disabled, 5 = Forwarding.

  - `advancedSetting.geo_location` (object)

  - `advancedSetting.geo_location.switcher` (integer)
    Geolocation policy. Default:1. 1 = Prompt, 2 = Disabled.

  - `advancedSetting.geo_location.base_on_ip` (boolean)
    Generate location based on IP? Default:true. true = prompt, false = manual.

  - `advancedSetting.geo_location.latitude` (number)
    Latitude. Required if base_on_ip=false.

  - `advancedSetting.geo_location.longitude` (number)
    Longitude. Required if base_on_ip=false.

  - `advancedSetting.geo_location.accuracy` (number)
    Accuracy in meters. Required if base_on_ip=false.

  - `advancedSetting.language` (object)

  - `advancedSetting.language.switcher` (integer)
    Language policy. Default:1. 1 = Match IP, 2 = Custom.

  - `advancedSetting.language.value` (string)
    Required when switcher=2.
Comma-separated language IDs from “Get Timezone & Language List” API.

  - `advancedSetting.resolution` (object)

  - `advancedSetting.resolution.switcher` (integer)
    Resolution policy. Default:1. 1 = Real, 2 = Custom.

  - `advancedSetting.resolution.id` (string)
    Required when switcher=2.
Resolution ID from “Get Resolution List” API.

  - `advancedSetting.font` (object)

  - `advancedSetting.font.switcher` (integer)
    Font policy. Default:1. 1 = Real, 2 = Custom.

  - `advancedSetting.font.value` (string)
    Comma-separated custom font names (required if switcher=2).

  - `advancedSetting.canvas` (object)

  - `advancedSetting.canvas.switcher` (integer)
    Canvas policy. Default:1. 1 = Noise, 2 = Real.

  - `advancedSetting.webgl_image` (object)

  - `advancedSetting.webgl_image.switcher` (integer)
    WebGL image policy. Default:1. 1 = Noise, 2 = Real.

  - `advancedSetting.webgl_metadata` (object)

  - `advancedSetting.webgl_metadata.switcher` (integer)
    WebGL metadata policy. Default:3. 1 = Real, 2 = Disable HW acceleration, 3 = Custom.

  - `advancedSetting.webgl_metadata.provider` (string)
    WebGL vendor string (e.g., "Google Inc.")

  - `advancedSetting.webgl_metadata.render` (string)
    WebGL renderer string (e.g., "ANGLE (...)")

  - `advancedSetting.audio_context` (object)

  - `advancedSetting.audio_context.switcher` (integer)
    AudioContext policy. Default:1. 1 = Noise, 2 = Realistic.

  - `advancedSetting.media_device` (object)

  - `advancedSetting.media_device.switcher` (integer)
    Media device policy. Default:1. 1 = Noise, 2 = Real.

  - `advancedSetting.client_rects` (object)

  - `advancedSetting.client_rects.switcher` (integer)
    ClientRects policy. Default:1. 1 = Noise, 2 = Real.

  - `advancedSetting.speech_voise` (object)

  - `advancedSetting.speech_voise.switcher` (integer)
    SpeechVoices policy. Default:1. 1 = Privacy, 2 = Real

  - `advancedSetting.hardware_concurrency` (integer)
    Simulated number of logical CPU cores.
Default:4. Options: 0 (real), 2, 3, 4, 6, 8, 10, 12.

  - `advancedSetting.memery_device` (integer)
    Simulated device memory (GB).
Default:8. Options: 0 (real), 2, 4, 6, 8.

  - `advancedSetting.do_not_track` (integer)
    Do Not Track setting. Default:2. 1 = on, 2 = off.

  - `advancedSetting.bluetooth` (object)

  - `advancedSetting.bluetooth.switcher` (integer)
    Bluetooth policy. Default:1. 1 = Privacy, 2 = Authenticity.

  - `advancedSetting.battery` (object)

  - `advancedSetting.battery.switcher` (integer)
    Battery policy. Default:1. 1 = Privacy, 2 = Authenticity.

  - `advancedSetting.port_scan_protection` (object)

  - `advancedSetting.port_scan_protection.switcher` (integer)
    Port scan protection. Default:1. 1 = On, 2 = Off.

  - `advancedSetting.port_scan_protection.value` (string)
    Allowed local network ports to connect (comma-separated).

  - `advancedSetting.os_version` (string)
    macOS system version (e.g., macOS 12, macOS 13, macOS 14).

  - `advancedSetting.web_gpu` (object)

  - `advancedSetting.web_gpu.switcher` (integer)
    WebGPU policy. Default:1. 1 = WebGL-based matching, 2 = true, 3 = disabled.

  - `advancedSetting.ciphers` (object)

  - `advancedSetting.ciphers.switcher` (integer)
    TLS cipher policy. Default:1. 1 = Default, 2 = Custom.

  - `advancedSetting.ciphers.value` (string)
    Required when switcher=2.
Comma-separated list of TLS protocols to disable (e.g., "TLSv1,TLSv1.1").

  - `advancedSetting.mobile_device` (string)
    Phone model ID (as string). Obtain via "Get Phone Model List" API.
Example: "1826502391344832512"

  - `afterStartupConfig` (object)

  - `afterStartupConfig.afterStartup` (integer)
    Action after startup. Default:1.
1 = Continue last page,
2 = Open specified URLs,
3 = Open URLs + platform,
4 = Continue last page + platform.

  - `afterStartupConfig.autoOpenUrls` (array)
    List of valid URLs to open automatically (required for options 2–3).

  - `browserCore` (integer)
    Kernel version; default:0 (auto-match). Fetch available versions via `/api/env/advanced/ua/versions`.

  - `cookies` (string)
    Cookie string to preload (optional)

  - `envName` (string)
    Environment name

  - `envRemark` (string)
    Environment remark; max length:1500 chars

  - `groupId` (integer)
    Environment group ID; default:ungrouped (0)

  - `groupName` (string)
    Group name (max 50 characters). If provided, the system first checks groupId: if a valid group is found, it is used; otherwise, it searches by groupName. If a group with that name exists, it is referenced; if not, a new group is created. Each team is limited to 1,000 groups.

  - `proxyId` (integer)
    Proxy ID; default:0

  - `tagIds` (array)
    Tag IDs; default:none

  - `uaVersion` (integer)
    UA preset version; default:0 (all)

  - `disableAudio` (integer)
    Disable audio:0 = off, 1 = on

  - `disableImg` (integer)
    Disable image loading:0 = off, 1 = on

  - `disableVideo` (integer)
    Disable video loading:0 = off, 1 = on

  - `imgLimitSize` (integer)
    Max image size (KB)

  - `proxy` (object)
    Proxy information

  - `proxy.proxyId` (integer)
    Proxy ID

  - `proxy.proxyName` (string)
    Proxy name (maximum 600 characters)

  - `proxy.proxyType` (integer)
    Proxy type, 0: http, 1: https. Cannot be empty when proxyProvider is 7/8

  - `proxy.proxyProvider` (string)
    Proxy provider 0: http, 1: https, 2: socks5, 3: ssh, 4: Oxylabs, 5: Proxys.io, 7: Luminati, 8: Lumauto, 9: Oxylabsauto, 10: Trojan, 11: Shadowsocks, 13: ABCPROXY, 14: LunaProxy, 15: IPHTML, 16: PiaProxy, 17: 922S5, 18: 360Proxy

  - `proxy.proxyIp` (string)
    Proxy IP. Can be empty when proxyProvider is 16/17/18; required for others

  - `proxy.proxyPort` (integer)
    Proxy port (only numbers 1-65535 allowed). Can be empty when proxyProvider is 16/17/18; required for others

  - `proxy.username` (string)
    Username (maximum 200 characters)

  - `proxy.password` (string)
    Password (maximum 100 characters)

  - `proxy.refreshUrl` (string)
    Refresh URL

  - `proxy.country` (string)
    Country code (e.g. `us`). See [Country Time Zone Table](/api-reference/appendix/country-time-zone) for supported codes. Required when proxyProvider is 16/17/18

  - `proxy.city` (string)
    City

  - `proxy.state` (string)
    State/Province

  - `proxy.encryptionType` (integer)
    Encryption method. Cannot be empty when proxyProvider is 11. 1: aes-128-gcm, 2: aes-192-gcm, 3: aes-256-gcm, 4: aes-128-cfb, 5: aes-192-cfb, 6: aes-256-cfb, 7: aes-128-ctr, 8: aes-192-ctr, 9: aes-256-ctr, 10: rc4-md5, 11: chacha20-ietf, 12: xchacha20, 13: chacha20-ietf-poly1305, 14: xchacha20-ietf-poly1305

  - `proxy.ipMonitor` (boolean)
    Enable IP change monitoring? true: On, false: Off

  - `proxy.ipChangeAction` (integer)
    IP change monitoring 0: Block access, 1: Warn

## Response 200 fields (application/json):

  - `code` (integer, required)

  - `msg` (null, required)

  - `data` (string, required)

  - `requestId` (string, required)

