1. Details of the Browser Profile Interface
1.1 Get the list of browser profiles
GET /v1/env/list
Request Parameters
| Name | Type | Required | Description |
| page_no | integer | is | Page number, default 1 |
| page_size | integer | is | Page size, default 10 |
| serial_num | integer | No | Serial Number |
| value | string | No | Serial Number/Name/Remarks |
| name | string | No | Name |
| group_id | string | No | Grouping |
| group_ids | [string] | No | Group IDs |
| proxy_type | string | No | Proxy Type (Method 1) (NON_USE: Do not use HTTP HTTPS SSH SOCKS5 IPFLY) |
| proxy_host | string | No | Proxy Host (Method 1) |
| out_ip | string | No | Export IP |
| status | string | No | Status (DISABLED: Inactive, ENABLED: Normal) |
| platform_user | string | No | Platform |
| platform | string | No | Platform Type |
| remark | string | No | Remarks |
| start_create_time | string | No | Start Time |
| end_create_time | string | No | End Time |
| start_last_open_time | string | No | Last opened start time |
| end_last_open_time | string | No | Last opened end time |
| operate_status | string | No | Profile Open Status: ENABLED for open, DISABLED for closed |
| share | boolean | No | Whether to share the Profile |
| order_by | string | No | Sorting Fields: Profile Field ENV_SERIAL_NUM, Profile Name ENV_NAME, Remarks ENV_REMARK, Last Open Time ENV_LAST_OPEN_TIME, Creation Time ENV_CREATE_TIME, Sorting SORT |
| sort | string | No | Sorting Method ASC DESC |
| env_tag_list_type | string | No | CONTAIN Contains Label EQUALS Equals Label |
| env_tag_ids | [string] | No | Tag IDs – matching any one can query the result |
Response Parameters
| Name (名称) | Type (类型) | Description (说明) |
| id | string | Profile ID, env_id |
| create_time | string | Creation Time |
| update_time | string | Modification Time |
| serial_num | integer | Serial Number |
| group_id | string | Group ID |
| group_ids | [string] | Group IDs |
| groups | [EnvGroupVO] | Grouped Collection |
| group_name | string | Group Name |
| name | string | Name |
| browser | string | Browser Type (CHROME: Chrome) |
| ua_type | string | UA Type |
| ua | string | User Agent |
| ua_os | string | User Agent OS (WINDOWS/MAC/ANDROID/IOS/LINUX) |
| cookie | string | Cookie |
| other_cookie | string | Other Cookies |
| proxy_way | string | Proxy Mode (CUSTOM: Custom, SELECT_EXIST: Select Existing) |
| proxy_id | string | Proxy ID (Method 2) |
| proxy_type | string | Proxy Type (Method 1) (NON_USE, HTTP, HTTPS, SSH, SOCKS5, IPFLY) |
| proxy_host | string | Proxy Host (Method 1) |
| proxy_port | integer(int32) | Proxy Port (Method 1) |
| proxy_user_name | string | Proxy Username (Method 1) |
| proxy_passwd | string | Proxy Password (Method 1) |
| proxy_ip_type | string | IP Query Channel (Method 1) (IP2LOCATION) |
| proxy_soft_enable | boolean | Proxy Type (Method 3): Whether the proxy service provider reads config account (true: Yes, false: No) |
| proxy_api_info | ProxyApiInfoVO | Proxy API Connection Information |
| urls | [string] | URL List |
| fixed_urls | [string] | Fixed URL List |
| be_top | boolean | Whether to pin to top (true: Pinned, false: Not Pinned) |
| browser_version_id | string | Browser Kernel Version ID |
| sort | string | Sort Value |
| env_tag_list | [EnvTagListVO] | Tag Information |
| config | string | Advanced Settings JSON |
| status | string | Status (DISABLED: Inactive, ENABLED: Normal) |
| remark | string | Remarks |
| last_open_time | string | Last Opened Time |
| operate_status | string | Operating Status (DISABLED: Closed, ENABLED: Enabled, LOCK: Locked) |
| account_list | [object] | Account List |
| font_id | string | Font ID |
| local_data_config | string | Local Data Settings |
| env_data_sync | string | Data Synchronization Limit |
| data_config | string | Data Configuration |
| browser_config | string | Browser Configuration |
| env_mutil_open_type | string | Profile Multi-Opening: (GLOBAL: Global, ALLOW: Allow, BAN: Ban) |
| spoofing_video_type | string | Video Replacement: (DEFAULT: Default, ENABLE: On, DISABLE: Off) |
| restore_url_type | string | Restore URL: (GLOBAL: Global, RESTORE: Restore, NOT_RESTORE: Not Restore) |
| operate_members | [object] | Current Profile Operator Information |
| config_ext_map | object | Extended Fields |
| share_number | integer(int32) | Number of Profile Shares |
| extensions_groupId | string | Extension Group ID |
| extensions_list | [object] | Extension Set / Extension Collection |
| bookmark_config | string | Bookmark Configuration Details |
| access_limit_config | string | Access Restriction Configuration Details |
| total | integer(int32) | Total Number of Items |
Response Example (Python)
{
"code": 0,
"msg": "success",
"data": {
"list": [
{
"id": "1848687666096832515",
"create_time": "2024-10-22 19:27:41",
"update_time": "2024-10-23 21:28:15",
"serial_num": 166,
"group_id": "1776895967565094913",
"group_name": null,
"name": "env——name",
"browser": "CHROME",
"ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.6005.0 Safari/537.36",
"ua_os": "MAC",
"cookie": "",
"other_cookie": null,
"urls": [
],
"status": "ENABLED",
"remark": null,
"last_open_time": "2024-10-23 21:26:15",
"operate_status": "DISABLED",
"account_list": null,
"font_id": "",
"data_config": "{\"type\":25,\"dataType\":\"custom\"}",
"browser_config": "{\"type\":1,\"browserType\":\"custom\"}",
"env_mutil_open_type": "GLOBAL",
"config_ext_map": null
}
],
"total": 65
}
}
1.2 PATCH to Open the Browser Profile
PATCH /v1/env/{env_id}/open
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| env_id | string | Yes | Browser profile ID, corresponding to the ID in the list. |
Body parameter passing
| Name | Type | Required | Description |
|---|---|---|---|
| headless | boolean | NO | Pass true for headless mode; pass false or leave it unspecified for normal launch. |
Response Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| serial_number | integer(int32) | Yes | Serial number of the browser profile. |
| pid | string | Yes | Process ID of the browser profile. |
| debug_port | integer | Yes | Port of the browser profile. |
Response Example (Python)
{
'code': 0,
'msg': 'success',
'data': {
'serial_number': 2,
'pid': '27028',
'debug_port': 17539
}
}
1.3PATCH to Close the Browser Profile
PATCH /v1/env/{env_id}/close
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| env_id | string | Yes | Browser profile ID, corresponding to the ID in the list. |
Response Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| serial_number | integer(int32) | Yes | Serial number of the browser profile. |
| pid | string | Yes | Process ID of the browser profile. |
| debug_port | integer | Yes | Port of the browser profile. |
Response Example (Python)
{
'code': 0,
'msg': 'success'
}
1.4 POST Create Profile
Endpoint
POST /v1/env
Creates a new browser profile.
Request Headers
| Name | Type | Required | Description |
|---|---|---|---|
x-api-key | string | Yes | Local API Key. |
Content-Type | string | Yes | Fixed value: application/json. |
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
name | string | No | Profile name. |
browser | string | Yes | Browser type. Currently supports CHROME. |
group_id | string | Yes | Profile group ID. You can pass the default ungrouped ID: 1876881021063852033 |
group_ids | string[] | No | Profile group ID list. |
kernel_version | string | No | Browser kernel version, for example 120, 134, or 142. If not passed, the system uses the default kernel version according to the current rules. |
ua | string | No | User Agent. If not passed, the system automatically generates one based on kernel_version and os. |
ua_type | string | No | UA version range in JSON string format, for example "[\"all\"]". |
ua_os | string | No | Operating system corresponding to the UA. Available values: WINDOWS, MAC, ANDROID, IOS, LINUX. |
os | object | No | Operating system range. |
status | string | No | Profile status. Available values: ENABLED, DISABLED. |
remark | string | No | Remark. |
env_tag_ids | string[] | No | Profile tag ID list. |
urls | string[] | No | URL list to open when launching the profile. |
fixed_urls | string[] | No | Fixed URL list. |
restore_url_type | string | No | Whether to restore previously opened pages. See the enum description below. |
account_list | object[] | No | Account list. |
cookie | string | No | Cookie data. |
other_cookie | string | No | Other Cookie data. |
bookmark | string | No | Bookmark data. |
local_storage | string | No | Local Storage data. |
indexed_db | string | No | IndexedDB data. |
config_ext_map | object | No | Extension field. |
proxy_way | string | No | Proxy method. See the enum description below. |
proxy_type | string | No | Proxy type or proxy protocol. See the enum description below. |
proxy_host | string | No | Proxy host. |
proxy_port | integer | No | Proxy port. |
proxy_user_name | string | No | Proxy username. |
proxy_passwd | string | No | Proxy password. |
proxy_id | string | No | ID of a saved proxy. Used when proxy_way=SELECT_EXIST. |
proxy_ip_type | string | No | IP lookup channel. Available values: IPAPI, IP2LOCATION. |
proxy_ip_addr_type | string | No | Proxy IP protocol type. Available values: IPV4, IPV6. |
proxy_soft_enable | boolean | No | Whether to enable proxy provider configuration. |
proxy_soft | string | No | Proxy provider type. |
proxy_soft_info | object | No | Proxy provider parameters. |
proxy_api_info | object | No | API proxy extraction configuration. Used when proxy_way=FROM_API. |
extensions_type | string | No | Extension installation permission. Available values: ALLOW, BAN. |
extensions_group_id | string | No | Extension group ID. |
env_mutil_open_type | string | No | Multi-open setting. See the enum description below. |
remote_inspector_type | string | No | Remote debugging setting. See the enum description below. |
spoofing_video_type | string | No | Video replacement setting. See the enum description below. |
config | string | No | Fingerprint configuration. The value is a JSON string. |
data_config | string | No | Data sync configuration. The value is a JSON string. |
browser_config | string | No | Browser settings. The value is a JSON string. |
local_data_config | string | No | Local cache clearing configuration. The value is a JSON string. |
env_data_sync | string | No | Profile data sync permission configuration. The value is a JSON string. |
bookmark_config | string | No | Bookmark configuration. The value is a JSON string. |
access_limit_config | string | No | Access restriction configuration. The value is a JSON string. |
Parameter Description
os
os specifies the operating system range available when creating a profile.
{
"windows": ["windows-all"],
"mac": [],
"android": [],
"ios": [],
"linux": []
}
| Field | Type | Description |
|---|---|---|
windows | string[] | Windows system versions. You can pass windows-all or a specific version. |
mac | string[] | macOS system versions. You can pass mac-all or a specific version. |
android | string[] | Android system versions. You can pass android-all or a specific version. |
ios | string[] | iOS system versions. You can pass ios-all or a specific version. |
linux | string[] | Linux system versions. You can pass linux-all. |
proxy_way
| Value | Description |
|---|---|
CUSTOM | Custom proxy. Pass proxy information through fields such as proxy_type, proxy_host, proxy_port, proxy_user_name, and proxy_passwd. |
SELECT_EXIST | Use a saved proxy. proxy_id is required. |
FROM_API | Extract proxy from API. proxy_api_info is required. |
proxy_type
| Value | Description |
|---|---|
NON_USE | Do not use a proxy. Connect directly through the local network. |
HTTP | HTTP proxy. |
HTTPS | HTTPS proxy. |
SOCKS5 | SOCKS5 proxy. |
SSH | SSH proxy. |
IPFLY | IPFLY dynamic proxy. |
S5PROXY | 922S5 dynamic proxy. |
IPROYAL | IPRoyal dynamic proxy. |
NETNUT | NetNut dynamic proxy. |
NODE_MAVEN | NodeMaven dynamic proxy. |
proxy_api_info
Used when proxy_way=FROM_API.
{
"ip_method": "EVERY_TIME",
"url": "https://example.com/get-proxy",
"ip": "",
"port": "",
"check_duplicate": false
}
| Name | Type | Description |
|---|---|---|
ip_method | string | IP extraction method. Available values: EVERY_TIME, AFTER_EXPIRE. |
url | string | API URL for extracting the proxy. |
ip | string | Extracted proxy IP. |
port | string | Extracted proxy port. |
check_duplicate | boolean | Whether to check for duplicates. |
restore_url_type
| Value | Description |
|---|---|
GLOBAL | Follow global settings. |
RESTORE | Restore previously opened pages. |
NOT_RESTORE | Do not restore previously opened pages. |
account_list
[
{
"platform": "facebook",
"url": "https://facebook.com",
"user_name": "account@example.com",
"passwd": "password",
"secret": "",
"remark": "account remark"
}
]
| Name | Type | Required | Description |
|---|---|---|---|
platform | string | Yes | Platform name. |
url | string | No | Platform URL. |
user_name | string | No | Login account. |
passwd | string | No | Login password. |
secret | string | No | 2FA secret. |
remark | string | No | Account remark. |
env_mutil_open_type
| Value | Description |
|---|---|
GLOBAL | Follow global settings. |
ALLOW | Allow multiple openings. |
BAN | Prohibit multiple openings. |
remote_inspector_type
| Value | Description |
|---|---|
GLOBAL | Follow global settings. |
ALLOW | Allow remote debugging. |
BAN | Prohibit remote debugging. |
spoofing_video_type
| Value | Description |
|---|---|
DEFAULT | Follow default settings. |
ENABLE | Enable video replacement. |
DISABLE | Disable video replacement. |
JSON String Fields
The following fields must be passed as JSON strings instead of JSON objects:
| Field | Example |
|---|---|
config | "{\"webrtcType\":\"replace\",\"canvasType\":\"noise\"}" |
data_config | "{\"type\":13,\"dataType\":\"custom\"}" |
browser_config | "{\"type\":525829,\"browserType\":\"custom\"}" |
local_data_config | "{\"type\":0,\"browserType\":\"global\",\"dataType\":null}" |
env_data_sync | "{\"status\":false,\"roleIds\":[]}" |
bookmark_config | "{\"bookmarkType\":\"global\",\"status\":false}" |
access_limit_config | "{\"accessLimitType\":\"custom\",\"status\":true,\"type\":1,\"urlList\":\"example.com\"}" |
config
config is used to pass fingerprint configuration. Its value is a JSON string, and the inner object may include the following fields.
| Name | Type | Description |
|---|---|---|
acceptLangType | string | Language matching method. Common value: ip. |
acceptLangValue | string[] | Accept-Language value, for example ["en-US", "en"]. |
langType | string | UI language source. Common values: acceptLang, custom, truth. |
langValue | string | UI language value. |
timezoneType | string | Time zone source. Common values: ip, custom, truth. |
timezoneValue | string | Time zone value. When timezoneType=ip, usually pass local. |
geoType | string | Geolocation permission. Available values: ask, allow, disable. |
geoSubType | string | Geolocation source. Common values: ip, custom. |
geoValue | object | Custom geolocation. Can include longitude, latitude, and accuracy. |
fontType | string | Font list method. Common values: custom, truth. |
fontValue | string[] | Font list. |
webrtcType | string | WebRTC fingerprint mode. See the WebRTC description below for available values. |
webrtcValue | string | WebRTC fingerprint value. Manually pass the intranet IP, or let the system process it according to the configuration when opening the profile. |
webrtcSyncProxyIpFlag | boolean | Whether to use the network outbound IP. |
webrtcUseRandomInternalIp | boolean | Whether to use a random intranet IP. |
webrtcKeepRandomInternalIp | boolean | Whether to keep the random intranet IP. |
canvasType | string | Canvas fingerprint. Common values: noise, truth. |
canvasValue | number | Canvas noise value. |
canvasRev2Value | number | Canvas Rev2 noise value. |
ratioType | string | Resolution method. Common values: truth, random, custom. |
ratioValue | string | Resolution value type. |
ratioWidth | string | Resolution width. |
ratioHeight | string | Resolution height. |
windowRatioType | string | Window size method. Common values: default, custom. |
windowRatioValue | string | Window size value. |
webGLImageType | string | WebGL image fingerprint. Common values: noise, truth. |
webGLImageValue | number | WebGL image noise value. |
webGLImageRev2Value | number | WebGL image Rev2 noise value. |
webGLMetadataType | string | WebGL metadata method. Common values: custom, truth. |
webglManufacturer | string | WebGL manufacturer. |
webglRender | string | WebGL renderer. |
webGPUType | string | WebGPU fingerprint. Common values: inWebGL, disable, truth. |
webGPUTypeValue | number | WebGPU noise value. |
audioContextType | string | AudioContext fingerprint. Common values: noise, truth. |
audioContextValue | number | AudioContext noise value. |
clientRectsType | string | ClientRects fingerprint. Common values: noise, truth. |
clientRectsValue | number | ClientRects noise value. |
speechVoicesType | string | SpeechVoices fingerprint. Common values: noise, truth. |
speechVoicesValue | number | SpeechVoices noise value. |
hardwareConcurrencyValue | string | Number of CPU cores. |
deviceMemoryValue | string | Device memory. |
trackType | string | Do Not Track configuration. |
batteryType | string | Battery fingerprint. Common values: noise, truth. |
batteryValue | number | Battery noise value. |
portType | string | Port scan protection configuration. |
portValue | string | Ports allowed to be scanned. Separate multiple ports with English commas. |
accelerateType | string | Hardware acceleration configuration. |
startParams | string | Browser launch parameters. Separate multiple parameters with English commas. |
deviceNameType | string | Device name method. Common values: truth, custom. |
deviceNameValue | string | Device name. |
macType | string | MAC address method. Common values: truth, custom. |
macValue | string | MAC address. |
platformVersion | string | Platform version. |
adapterinfoArchitecture | string | GPU Adapter architecture. |
adapterinfoVendor | string | GPU Adapter vendor. |
WebRTC Description
webrtcType | Description |
|---|---|
replace | Replace. Can be used with webrtcValue, webrtcSyncProxyIpFlag, webrtcUseRandomInternalIp, and webrtcKeepRandomInternalIp. |
forward | Forward. Forward mode usually uses the network outbound IP. |
truth | Real. Use real WebRTC information. |
disable | Disable. Disable WebRTC. |
When webrtcType=replace, you can set the WebRTC intranet IP in the following ways:
| Field Combination | Description |
|---|---|
webrtcValue="192.168.1.10" | Manually specify the intranet IP. |
webrtcSyncProxyIpFlag=true | Use the network outbound IP. |
webrtcUseRandomInternalIp=true | Use a random intranet IP. |
webrtcUseRandomInternalIp=true and webrtcKeepRandomInternalIp=true | Keep the random intranet IP unchanged; randomize it again when the public IP changes. |
When webrtcType=truth or webrtcType=disable, webrtcValue is usually not required.
data_config
data_config is used to set the data types that need to be synchronized. Its value is a JSON string.
{
"type": 13,
"dataType": "custom"
}
| Field | Type | Description |
|---|---|---|
dataType | string | Configuration source. Available values: global, custom. global means follow global settings; custom means use the current profile configuration. |
type | integer | Bitmask value of data sync items. When dataType=global, usually pass 0. |
type uses bitwise accumulation. To enable multiple options, add the corresponding values and pass the sum.
| Value | Data Item | Description |
|---|---|---|
1 | Cookie | Synchronize Cookie. |
2 | BookMark | Synchronize bookmarks. |
4 | Account | Synchronize account passwords. |
8 | LocalStorage | Synchronize Local Storage. |
16 | IndexedDB | Synchronize IndexedDB. |
32 | Extensions | Synchronize extension data. |
Example: synchronize Cookie, account passwords, and Local Storage:
1 + 4 + 8 = 13
{
"type": 13,
"dataType": "custom"
}
Use bitwise AND to determine whether an item is enabled. For example, 13 & 4 = 4, which means account password synchronization is enabled.
browser_config
browser_config is used to set browser opening behavior, security restrictions, and loading policies. Its value is a JSON string.
{
"type": 525829,
"browserType": "custom"
}
| Field | Type | Description |
|---|---|---|
browserType | string | Configuration source. Available values: global, custom. global means follow global settings; custom means use the current profile configuration. |
type | integer | Bitmask value of browser setting items. When browserType=global, usually pass 0. |
type uses bitwise accumulation. To enable multiple options, add the corresponding values and pass the sum.
| Value | Description |
|---|---|
1 | Restore previously opened pages when opening the profile. |
2 | Prohibit loading images. |
4 | Prohibit loading videos. |
8 | Prohibit playing sound. |
16 | Prohibit webpage pop-up message notifications. |
32 | Do not open the profile if proxy detection fails. |
64 | Prohibit the save account/password confirmation prompt. |
128 | Prohibit opening the browser developer tools interface. |
256 | Ignore HTTPS certificate error prompts and open webpages directly. |
512 | Prohibit managing/removing extensions and installing extensions from local files to the browser. |
1024 | Randomize fingerprint each time the profile is opened. |
2048 | Prohibit opening incognito mode. |
4096 | Do not display the homepage (detection page) when opening the profile. |
8192 | Enable extension encryption and prevent tampering; if a tampered extension is detected, opening the profile will be prohibited. |
16384 | Prohibit members from accessing the Google Extension Store and extension settings page. |
32768 | Prohibit viewing website passwords. |
131072 | Do not open the browser if the country/region is different from the last opening. |
262144 | Do not open the profile if extension download fails. |
524288 | Prohibit the browser from writing data to disk (Cookie, Session & Local Storage, IndexedDB). |
Example: enable “restore last pages, prohibit loading videos, prohibit managing/removing extensions, randomize fingerprint on each opening, and prohibit the browser from writing data to disk”:
1 + 4 + 512 + 1024 + 524288 = 525829
{
"type": 525829,
"browserType": "custom"
}
Use bitwise AND to determine whether an item is enabled. For example, 525829 & 524288 = 524288, which means “prohibit the browser from writing data to disk” is enabled.
local_data_config
local_data_config is used to set local cache clearing rules when opening a profile. Its value is a JSON string.
{
"type": 0,
"browserType": "global",
"dataType": null,
"synchronize": true,
"frequency": 1,
"interval": 1
}
| Field | Type | Description |
|---|---|---|
browserType | string | Configuration source. Available values: global, custom. |
type | integer | Clearing method. 0 means do not clear; 1 means clear default local cache items; 2 means clear custom items according to dataType. |
dataType | integer/null | Bitmask value of custom clearing items. Used when type=2 and browserType=custom; in other cases, usually pass null. |
synchronize | boolean | Whether to synchronize and save after clearing local data. |
frequency | integer | Clearing frequency. |
interval | integer | Clearing interval. |
dataType uses bitwise accumulation.
| Value | Data Item | Description |
|---|---|---|
1 | Cookie | Clear Cookie. |
2 | BookMark | Clear bookmarks. |
4 | LocalStorage | Clear Local Storage. |
8 | IndexedDB | Clear IndexedDB. |
16 | History | Clear browsing history. |
32 | Media | Clear media cache. |
64 | AccountPwd | Clear account passwords. |
Example: clear Cookie, Local Storage, and IndexedDB:
1 + 4 + 8 = 13
{
"type": 2,
"browserType": "custom",
"dataType": 13,
"synchronize": true,
"frequency": 1,
"interval": 1
}
env_data_sync
env_data_sync is used to set profile data sync permissions. Its value is a JSON string.
{
"status": false,
"roleIds": []
}
| Field | Type | Description |
|---|---|---|
status | boolean | Whether to enable profile data sync permission control. |
roleIds | string[] | List of role IDs allowed to sync after the setting is enabled. |
bookmark_config
bookmark_config is used to set bookmark configuration. Its value is a JSON string.
{
"bookmarkType": "global",
"status": false,
"fileContent": [],
"coverRule": 1,
"fileName": "",
"type": 1
}
| Field | Type | Description |
|---|---|---|
bookmarkType | string | Configuration source. Available values: global, custom. |
status | boolean | Whether to enable bookmark configuration. |
fileContent | array | Bookmark file content. |
coverRule | integer | Overwrite rule. |
fileName | string | Bookmark file name. |
type | integer | Bookmark import method. |
access_limit_config
access_limit_config is used to set access restrictions. Its value is a JSON string.
{
"accessLimitType": "custom",
"status": true,
"type": 1,
"quickSelectionOption": [],
"quickSelectionType": 0,
"urlList": "example.com\n*.example.org"
}
| Field | Type | Description |
|---|---|---|
accessLimitType | string | Configuration source. Available values: global, custom. |
status | boolean | Whether to enable access restrictions. |
type | integer | Restriction type. 1 means prohibit access to specified URLs; 2 means only allow access to specified URLs, and other URLs cannot be accessed. |
quickSelectionOption | number[] | Quick selection items. |
quickSelectionType | integer | Bitmask value of quick selection items. |
urlList | string | Domain blacklist/whitelist content. Multiple URLs can be separated by line breaks. |
When type=1, urlList is a blacklist; when type=2, urlList is a whitelist.
Request Example
Request information:
| Item | Value |
|---|---|
| Method | POST |
| URL | http://127.0.0.1:52100/openapi/v1/env |
| Header | x-api-key: your-local-api-key |
| Header | Content-Type: application/json |
Request body:
{
"extensions_type": "ALLOW",
"name": "profile-0617367",
"browser": "CHROME",
"group_id": "1876881021063852033",
"kernel_version": "120",
"ua_os": "WINDOWS",
"os": {
"windows": ["windows-all"],
"mac": [],
"android": [],
"ios": [],
"linux": []
},
"ua_type": "[\"all\"]",
"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.6045.59 Safari/537.36",
"proxy_way": "CUSTOM",
"proxy_type": "SOCKS5",
"proxy_host": "192.168.0.1",
"proxy_port": 8000,
"proxy_user_name": "Username",
"proxy_passwd": "Password",
"proxy_ip_type": "IPAPI",
"proxy_id": "",
"proxy_ip_addr_type": "IPV4",
"account_list": [],
"urls": [],
"fixed_urls": [],
"restore_url_type": "GLOBAL",
"config": "{\"acceptLangType\":\"ip\",\"acceptLangValue\":[\"en-US\",\"en\"],\"langType\":\"acceptLang\",\"langValue\":\"local\",\"timezoneType\":\"ip\",\"timezoneValue\":\"local\",\"geoType\":\"ask\",\"geoSubType\":\"ip\",\"geoValue\":{},\"fontType\":\"custom\",\"fontValue\":[\"Arial\",\"Calibri\",\"Times New Roman\"],\"webrtcType\":\"replace\",\"webrtcValue\":\"\",\"webrtcSyncProxyIpFlag\":true,\"webrtcKeepRandomInternalIp\":false,\"webrtcUseRandomInternalIp\":false,\"canvasType\":\"noise\",\"canvasValue\":85877,\"canvasRev2Value\":52896,\"ratioType\":\"custom\",\"ratioValue\":\"custom\",\"ratioWidth\":\"1024\",\"ratioHeight\":\"768\",\"windowRatioType\":\"default\",\"windowRatioValue\":\"\",\"webGLImageType\":\"noise\",\"webGLImageValue\":23517,\"webGLImageRev2Value\":88964,\"mediadeviceType\":\"noise\",\"mediadeviceValue\":51052,\"webGLMetadataType\":\"custom\",\"webglManufacturer\":\"Google Inc. (Intel)\",\"webglRender\":\"ANGLE (Intel, Intel(R) HD Graphics Direct3D11 vs_5_0 ps_5_0)\",\"webGPUType\":\"inWebGL\",\"webGPUTypeValue\":85195,\"audioContextType\":\"truth\",\"audioContextValue\":83641,\"clientRectsType\":\"noise\",\"clientRectsValue\":50248,\"speechVoicesType\":\"noise\",\"speechVoicesValue\":80004,\"hardwareConcurrencyValue\":\"2\",\"deviceMemoryValue\":\"4\",\"trackType\":\"0\",\"batteryType\":\"noise\",\"batteryValue\":58088,\"portType\":\"1\",\"portValue\":\"\",\"accelerateType\":\"0\",\"startParams\":\"\",\"deviceNameType\":\"truth\",\"deviceNameValue\":\"\",\"macType\":\"truth\",\"macValue\":\"\",\"platformVersion\":\"10.0.0\",\"adapterinfoArchitecture\":\"gen-12lp\",\"adapterinfoVendor\":\"intel\"}",
"data_config": "{\"type\":13,\"dataType\":\"custom\"}",
"browser_config": "{\"type\":525829,\"browserType\":\"custom\"}",
"env_mutil_open_type": "ALLOW",
"remote_inspector_type": "BAN",
"spoofing_video_type": "DISABLE",
"local_data_config": "{\"type\":0,\"browserType\":\"global\",\"dataType\":null,\"synchronize\":true,\"frequency\":1,\"interval\":1}",
"proxy_soft_enable": false,
"proxy_soft": "NONE",
"proxy_soft_info": {
"ip": "",
"country": "",
"country_code": "",
"region": "",
"region_code": "",
"city": ""
},
"proxy_api_info": {
"ip_method": "EVERY_TIME",
"url": "",
"ip": "",
"port": "",
"check_duplicate": false
},
"env_data_sync": "{\"status\":false,\"roleIds\":[]}",
"bookmark_config": "{\"bookmarkType\":\"global\",\"status\":false,\"fileContent\":[],\"coverRule\":1,\"fileName\":\"\",\"type\":1}",
"access_limit_config": "{\"accessLimitType\":\"custom\",\"status\":false,\"type\":1,\"quickSelectionOption\":[],\"quickSelectionType\":0,\"urlList\":\"\"}",
"env_tag_ids": [],
"extensions_group_id": "1876881021072240641",
"remark": "remark"
}
Response Example
{
"code": 0,
"data": {
"id": "1876881021063852034"
},
"msg": "success"
}
Response Parameters
| Name | Type | Description |
|---|---|---|
code | integer | Response status code. 0 indicates success. |
data | object | Response data. |
data.id | string | ID of the newly created profile. |
msg | string | Response message. |
1.5 PUT Update Profile
Endpoint
PUT /v1/env/{env_id}
Updates an existing browser profile.
Request Headers
| Name | Type | Required | Description |
|---|---|---|---|
x-api-key | string | Yes | Local API Key. |
Content-Type | string | Yes | Fixed value: application/json. |
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
env_id | string | Yes | Profile ID. |
Request Parameters
The update profile API supports passing fields with the same names as the create profile API. For field meanings, enum values, JSON string field structures, and the bitmask rules for data_config / browser_config / local_data_config, see “Request Parameters” and “Parameter Description” under “Create Profile” above.
When updating a profile, you can pass only the fields that need to be modified. Fields not passed remain unchanged.
Update Rules
config, data_config, browser_config, local_data_config, env_data_sync, bookmark_config, and access_limit_config are all JSON string fields. When updating these fields, the passed value is saved as the new value of the field.
If you only need to modify one child item inside a JSON string field, first get the profile details, modify the original field content, and then pass the complete field back.
Example: when only updating WebRTC to forward mode and setting the window size, serialize the complete config object before passing it:
{
"config": "{\"acceptLangType\":\"ip\",\"acceptLangValue\":[\"en-US\",\"en\"],\"langType\":\"acceptLang\",\"langValue\":\"local\",\"timezoneType\":\"ip\",\"timezoneValue\":\"local\",\"geoType\":\"ask\",\"geoSubType\":\"ip\",\"geoValue\":{},\"fontType\":\"custom\",\"fontValue\":[\"Arial\",\"Calibri\",\"Times New Roman\"],\"webrtcType\":\"forward\",\"webrtcValue\":\"\",\"webrtcSyncProxyIpFlag\":true,\"windowRatioType\":\"custom\",\"windowRatioValue\":\"1280x720\"}"
}
Request Example
Request information:
| Item | Value |
|---|---|
| Method | PUT |
| URL | http://127.0.0.1:52100/openapi/v1/env/1876881021063852034 |
| Header | x-api-key: your-local-api-key |
| Header | Content-Type: application/json |
Request body:
{
"name": "profile-updated",
"remark": "updated remark",
"kernel_version": "120",
"proxy_way": "CUSTOM",
"proxy_type": "SOCKS5",
"proxy_host": "192.168.0.2",
"proxy_port": 8001,
"proxy_user_name": "Username",
"proxy_passwd": "Password",
"proxy_ip_type": "IPAPI",
"proxy_ip_addr_type": "IPV4",
"config": "{\"acceptLangType\":\"ip\",\"acceptLangValue\":[\"en-US\",\"en\"],\"langType\":\"acceptLang\",\"langValue\":\"local\",\"timezoneType\":\"ip\",\"timezoneValue\":\"local\",\"geoType\":\"ask\",\"geoSubType\":\"ip\",\"geoValue\":{},\"fontType\":\"custom\",\"fontValue\":[\"Arial\",\"Calibri\",\"Times New Roman\"],\"webrtcType\":\"forward\",\"webrtcValue\":\"\",\"webrtcSyncProxyIpFlag\":true,\"webrtcKeepRandomInternalIp\":false,\"webrtcUseRandomInternalIp\":false,\"canvasType\":\"noise\",\"canvasValue\":85877,\"canvasRev2Value\":52896,\"ratioType\":\"custom\",\"ratioValue\":\"custom\",\"ratioWidth\":\"1280\",\"ratioHeight\":\"720\",\"windowRatioType\":\"custom\",\"windowRatioValue\":\"1280x720\",\"webGLImageType\":\"noise\",\"webGLImageValue\":23517,\"webGLImageRev2Value\":88964,\"mediadeviceType\":\"noise\",\"mediadeviceValue\":51052,\"webGLMetadataType\":\"custom\",\"webglManufacturer\":\"Google Inc. (Intel)\",\"webglRender\":\"ANGLE (Intel, Intel(R) HD Graphics Direct3D11 vs_5_0 ps_5_0)\",\"webGPUType\":\"inWebGL\",\"webGPUTypeValue\":85195,\"audioContextType\":\"truth\",\"audioContextValue\":83641,\"clientRectsType\":\"noise\",\"clientRectsValue\":50248,\"speechVoicesType\":\"noise\",\"speechVoicesValue\":80004,\"hardwareConcurrencyValue\":\"2\",\"deviceMemoryValue\":\"4\",\"trackType\":\"0\",\"batteryType\":\"noise\",\"batteryValue\":58088,\"portType\":\"1\",\"portValue\":\"\",\"accelerateType\":\"0\",\"startParams\":\"\",\"deviceNameType\":\"truth\",\"deviceNameValue\":\"\",\"macType\":\"truth\",\"macValue\":\"\",\"platformVersion\":\"10.0.0\",\"adapterinfoArchitecture\":\"gen-12lp\",\"adapterinfoVendor\":\"intel\"}",
"data_config": "{\"type\":13,\"dataType\":\"custom\"}",
"browser_config": "{\"type\":525829,\"browserType\":\"custom\"}",
"local_data_config": "{\"type\":2,\"browserType\":\"custom\",\"dataType\":49,\"synchronize\":true,\"frequency\":1,\"interval\":1}",
"access_limit_config": "{\"accessLimitType\":\"custom\",\"status\":true,\"type\":1,\"quickSelectionOption\":[],\"quickSelectionType\":0,\"urlList\":\"example.com\\n*.example.org\"}",
"env_mutil_open_type": "ALLOW",
"remote_inspector_type": "BAN",
"spoofing_video_type": "DISABLE"
}
Response Example
{
"code": 0,
"data": {},
"msg": "success"
}
Response Parameters
| Name | Type | Description |
|---|---|---|
code | integer | Response status code. 0 indicates success. |
data | object | Response data. |
msg | string | Response message. |
1.6 DELETE the Browser Profile
DELETE /v1/env/{env_id}
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| env_id | string | Yes | The unique ID of the browser profile. |
Response Example (Python)
{
'code': 0,
'msg': 'success'
}
1.7 DELETE to Completely Delete the Browser Profile
DELETE /v1/env/{env_id}/thorough
Request Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| env_id | string | Yes | The unique ID of the browser profile. |
Response Example (Python)
{
'code': 0,
'msg': 'success'
}