Skip to content
Home » Local API – Browser Profile Interface

Local API – Browser Profile Interface

1. Details of the Browser Profile Interface

1.1 Get the list of browser profiles

GET /v1/env/list

Request Parameters

NameTypeRequiredDescription
page_nointegerisPage number, default 1
page_sizeintegerisPage size, default 10
serial_numintegerNoSerial Number
valuestringNoSerial Number/Name/Remarks
namestringNoName
group_idstringNoGrouping
group_ids[string]NoGroup IDs
proxy_typestringNoProxy Type (Method 1) (NON_USE: Do not use HTTP HTTPS SSH SOCKS5 IPFLY)
proxy_hoststringNoProxy Host (Method 1)
out_ipstringNoExport IP
statusstringNoStatus (DISABLED: Inactive, ENABLED: Normal)
platform_userstringNoPlatform
platformstringNoPlatform Type
remarkstringNoRemarks
start_create_timestringNoStart Time
end_create_timestringNoEnd Time
start_last_open_timestringNoLast opened start time
end_last_open_timestringNoLast opened end time
operate_statusstringNoProfile Open Status: ENABLED for open, DISABLED for closed
sharebooleanNoWhether to share the Profile
order_bystringNoSorting 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
sortstringNoSorting Method ASC DESC
env_tag_list_typestringNoCONTAIN Contains Label EQUALS Equals Label
env_tag_ids[string]NoTag IDs – matching any one can query the result

Response Parameters

Name (名称)Type (类型)Description (说明)
idstringProfile ID, env_id
create_timestringCreation Time
update_timestringModification Time
serial_numintegerSerial Number
group_idstringGroup ID
group_ids[string]Group IDs
groups[EnvGroupVO]Grouped Collection
group_namestringGroup Name
namestringName
browserstringBrowser Type (CHROME: Chrome)
ua_typestringUA Type
uastringUser Agent
ua_osstringUser Agent OS (WINDOWS/MAC/ANDROID/IOS/LINUX)
cookiestringCookie
other_cookiestringOther Cookies
proxy_waystringProxy Mode (CUSTOM: Custom, SELECT_EXIST: Select Existing)
proxy_idstringProxy ID (Method 2)
proxy_typestringProxy Type (Method 1) (NON_USE, HTTP, HTTPS, SSH, SOCKS5, IPFLY)
proxy_hoststringProxy Host (Method 1)
proxy_portinteger(int32)Proxy Port (Method 1)
proxy_user_namestringProxy Username (Method 1)
proxy_passwdstringProxy Password (Method 1)
proxy_ip_typestringIP Query Channel (Method 1) (IP2LOCATION)
proxy_soft_enablebooleanProxy Type (Method 3): Whether the proxy service provider reads config account (true: Yes, false: No)
proxy_api_infoProxyApiInfoVOProxy API Connection Information
urls[string]URL List
fixed_urls[string]Fixed URL List
be_topbooleanWhether to pin to top (true: Pinned, false: Not Pinned)
browser_version_idstringBrowser Kernel Version ID
sortstringSort Value
env_tag_list[EnvTagListVO]Tag Information
configstringAdvanced Settings JSON
statusstringStatus (DISABLED: Inactive, ENABLED: Normal)
remarkstringRemarks
last_open_timestringLast Opened Time
operate_statusstringOperating Status (DISABLED: Closed, ENABLED: Enabled, LOCK: Locked)
account_list[object]Account List
font_idstringFont ID
local_data_configstringLocal Data Settings
env_data_syncstringData Synchronization Limit
data_configstringData Configuration
browser_configstringBrowser Configuration
env_mutil_open_typestringProfile Multi-Opening: (GLOBAL: Global, ALLOW: Allow, BAN: Ban)
spoofing_video_typestringVideo Replacement: (DEFAULT: Default, ENABLE: On, DISABLE: Off)
restore_url_typestringRestore URL: (GLOBAL: Global, RESTORE: Restore, NOT_RESTORE: Not Restore)
operate_members[object]Current Profile Operator Information
config_ext_mapobjectExtended Fields
share_numberinteger(int32)Number of Profile Shares
extensions_groupIdstringExtension Group ID
extensions_list[object]Extension Set / Extension Collection
bookmark_configstringBookmark Configuration Details
access_limit_configstringAccess Restriction Configuration Details
totalinteger(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

NameTypeRequiredDescription
env_idstringYesBrowser profile ID, corresponding to the ID in the list.

Body parameter passing

NameTypeRequiredDescription
headlessbooleanNOPass true for headless mode; pass false or leave it unspecified for normal launch.

Response Parameters

NameTypeRequiredDescription
serial_numberinteger(int32)YesSerial number of the browser profile.
pidstringYesProcess ID of the browser profile.
debug_portintegerYesPort 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

NameTypeRequiredDescription
env_idstringYesBrowser profile ID, corresponding to the ID in the list.

Response Parameters

NameTypeRequiredDescription
serial_numberinteger(int32)YesSerial number of the browser profile.
pidstringYesProcess ID of the browser profile.
debug_portintegerYesPort 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

NameTypeRequiredDescription
x-api-keystringYesLocal API Key.
Content-TypestringYesFixed value: application/json.

Request Parameters

NameTypeRequiredDescription
namestringNoProfile name.
browserstringYesBrowser type. Currently supports CHROME.
group_idstringYesProfile group ID. You can pass the default ungrouped ID: 1876881021063852033
group_idsstring[]NoProfile group ID list.
kernel_versionstringNoBrowser kernel version, for example 120, 134, or 142. If not passed, the system uses the default kernel version according to the current rules.
uastringNoUser Agent. If not passed, the system automatically generates one based on kernel_version and os.
ua_typestringNoUA version range in JSON string format, for example "[\"all\"]".
ua_osstringNoOperating system corresponding to the UA. Available values: WINDOWS, MAC, ANDROID, IOS, LINUX.
osobjectNoOperating system range.
statusstringNoProfile status. Available values: ENABLED, DISABLED.
remarkstringNoRemark.
env_tag_idsstring[]NoProfile tag ID list.
urlsstring[]NoURL list to open when launching the profile.
fixed_urlsstring[]NoFixed URL list.
restore_url_typestringNoWhether to restore previously opened pages. See the enum description below.
account_listobject[]NoAccount list.
cookiestringNoCookie data.
other_cookiestringNoOther Cookie data.
bookmarkstringNoBookmark data.
local_storagestringNoLocal Storage data.
indexed_dbstringNoIndexedDB data.
config_ext_mapobjectNoExtension field.
proxy_waystringNoProxy method. See the enum description below.
proxy_typestringNoProxy type or proxy protocol. See the enum description below.
proxy_hoststringNoProxy host.
proxy_portintegerNoProxy port.
proxy_user_namestringNoProxy username.
proxy_passwdstringNoProxy password.
proxy_idstringNoID of a saved proxy. Used when proxy_way=SELECT_EXIST.
proxy_ip_typestringNoIP lookup channel. Available values: IPAPI, IP2LOCATION.
proxy_ip_addr_typestringNoProxy IP protocol type. Available values: IPV4, IPV6.
proxy_soft_enablebooleanNoWhether to enable proxy provider configuration.
proxy_softstringNoProxy provider type.
proxy_soft_infoobjectNoProxy provider parameters.
proxy_api_infoobjectNoAPI proxy extraction configuration. Used when proxy_way=FROM_API.
extensions_typestringNoExtension installation permission. Available values: ALLOW, BAN.
extensions_group_idstringNoExtension group ID.
env_mutil_open_typestringNoMulti-open setting. See the enum description below.
remote_inspector_typestringNoRemote debugging setting. See the enum description below.
spoofing_video_typestringNoVideo replacement setting. See the enum description below.
configstringNoFingerprint configuration. The value is a JSON string.
data_configstringNoData sync configuration. The value is a JSON string.
browser_configstringNoBrowser settings. The value is a JSON string.
local_data_configstringNoLocal cache clearing configuration. The value is a JSON string.
env_data_syncstringNoProfile data sync permission configuration. The value is a JSON string.
bookmark_configstringNoBookmark configuration. The value is a JSON string.
access_limit_configstringNoAccess 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": []
}
FieldTypeDescription
windowsstring[]Windows system versions. You can pass windows-all or a specific version.
macstring[]macOS system versions. You can pass mac-all or a specific version.
androidstring[]Android system versions. You can pass android-all or a specific version.
iosstring[]iOS system versions. You can pass ios-all or a specific version.
linuxstring[]Linux system versions. You can pass linux-all.
proxy_way
ValueDescription
CUSTOMCustom proxy. Pass proxy information through fields such as proxy_type, proxy_host, proxy_port, proxy_user_name, and proxy_passwd.
SELECT_EXISTUse a saved proxy. proxy_id is required.
FROM_APIExtract proxy from API. proxy_api_info is required.
proxy_type
ValueDescription
NON_USEDo not use a proxy. Connect directly through the local network.
HTTPHTTP proxy.
HTTPSHTTPS proxy.
SOCKS5SOCKS5 proxy.
SSHSSH proxy.
IPFLYIPFLY dynamic proxy.
S5PROXY922S5 dynamic proxy.
IPROYALIPRoyal dynamic proxy.
NETNUTNetNut dynamic proxy.
NODE_MAVENNodeMaven 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
}
NameTypeDescription
ip_methodstringIP extraction method. Available values: EVERY_TIME, AFTER_EXPIRE.
urlstringAPI URL for extracting the proxy.
ipstringExtracted proxy IP.
portstringExtracted proxy port.
check_duplicatebooleanWhether to check for duplicates.
restore_url_type
ValueDescription
GLOBALFollow global settings.
RESTORERestore previously opened pages.
NOT_RESTOREDo not restore previously opened pages.
account_list
[
  {
    "platform": "facebook",
    "url": "https://facebook.com",
    "user_name": "account@example.com",
    "passwd": "password",
    "secret": "",
    "remark": "account remark"
  }
]
NameTypeRequiredDescription
platformstringYesPlatform name.
urlstringNoPlatform URL.
user_namestringNoLogin account.
passwdstringNoLogin password.
secretstringNo2FA secret.
remarkstringNoAccount remark.
env_mutil_open_type
ValueDescription
GLOBALFollow global settings.
ALLOWAllow multiple openings.
BANProhibit multiple openings.
remote_inspector_type
ValueDescription
GLOBALFollow global settings.
ALLOWAllow remote debugging.
BANProhibit remote debugging.
spoofing_video_type
ValueDescription
DEFAULTFollow default settings.
ENABLEEnable video replacement.
DISABLEDisable video replacement.
JSON String Fields

The following fields must be passed as JSON strings instead of JSON objects:

FieldExample
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.

NameTypeDescription
acceptLangTypestringLanguage matching method. Common value: ip.
acceptLangValuestring[]Accept-Language value, for example ["en-US", "en"].
langTypestringUI language source. Common values: acceptLang, custom, truth.
langValuestringUI language value.
timezoneTypestringTime zone source. Common values: ip, custom, truth.
timezoneValuestringTime zone value. When timezoneType=ip, usually pass local.
geoTypestringGeolocation permission. Available values: ask, allow, disable.
geoSubTypestringGeolocation source. Common values: ip, custom.
geoValueobjectCustom geolocation. Can include longitude, latitude, and accuracy.
fontTypestringFont list method. Common values: custom, truth.
fontValuestring[]Font list.
webrtcTypestringWebRTC fingerprint mode. See the WebRTC description below for available values.
webrtcValuestringWebRTC fingerprint value. Manually pass the intranet IP, or let the system process it according to the configuration when opening the profile.
webrtcSyncProxyIpFlagbooleanWhether to use the network outbound IP.
webrtcUseRandomInternalIpbooleanWhether to use a random intranet IP.
webrtcKeepRandomInternalIpbooleanWhether to keep the random intranet IP.
canvasTypestringCanvas fingerprint. Common values: noise, truth.
canvasValuenumberCanvas noise value.
canvasRev2ValuenumberCanvas Rev2 noise value.
ratioTypestringResolution method. Common values: truth, random, custom.
ratioValuestringResolution value type.
ratioWidthstringResolution width.
ratioHeightstringResolution height.
windowRatioTypestringWindow size method. Common values: default, custom.
windowRatioValuestringWindow size value.
webGLImageTypestringWebGL image fingerprint. Common values: noise, truth.
webGLImageValuenumberWebGL image noise value.
webGLImageRev2ValuenumberWebGL image Rev2 noise value.
webGLMetadataTypestringWebGL metadata method. Common values: custom, truth.
webglManufacturerstringWebGL manufacturer.
webglRenderstringWebGL renderer.
webGPUTypestringWebGPU fingerprint. Common values: inWebGL, disable, truth.
webGPUTypeValuenumberWebGPU noise value.
audioContextTypestringAudioContext fingerprint. Common values: noise, truth.
audioContextValuenumberAudioContext noise value.
clientRectsTypestringClientRects fingerprint. Common values: noise, truth.
clientRectsValuenumberClientRects noise value.
speechVoicesTypestringSpeechVoices fingerprint. Common values: noise, truth.
speechVoicesValuenumberSpeechVoices noise value.
hardwareConcurrencyValuestringNumber of CPU cores.
deviceMemoryValuestringDevice memory.
trackTypestringDo Not Track configuration.
batteryTypestringBattery fingerprint. Common values: noise, truth.
batteryValuenumberBattery noise value.
portTypestringPort scan protection configuration.
portValuestringPorts allowed to be scanned. Separate multiple ports with English commas.
accelerateTypestringHardware acceleration configuration.
startParamsstringBrowser launch parameters. Separate multiple parameters with English commas.
deviceNameTypestringDevice name method. Common values: truth, custom.
deviceNameValuestringDevice name.
macTypestringMAC address method. Common values: truth, custom.
macValuestringMAC address.
platformVersionstringPlatform version.
adapterinfoArchitecturestringGPU Adapter architecture.
adapterinfoVendorstringGPU Adapter vendor.
WebRTC Description
webrtcTypeDescription
replaceReplace. Can be used with webrtcValue, webrtcSyncProxyIpFlag, webrtcUseRandomInternalIp, and webrtcKeepRandomInternalIp.
forwardForward. Forward mode usually uses the network outbound IP.
truthReal. Use real WebRTC information.
disableDisable. Disable WebRTC.

When webrtcType=replace, you can set the WebRTC intranet IP in the following ways:

Field CombinationDescription
webrtcValue="192.168.1.10"Manually specify the intranet IP.
webrtcSyncProxyIpFlag=trueUse the network outbound IP.
webrtcUseRandomInternalIp=trueUse a random intranet IP.
webrtcUseRandomInternalIp=true and webrtcKeepRandomInternalIp=trueKeep 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"
}
FieldTypeDescription
dataTypestringConfiguration source. Available values: global, custom. global means follow global settings; custom means use the current profile configuration.
typeintegerBitmask 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.

ValueData ItemDescription
1CookieSynchronize Cookie.
2BookMarkSynchronize bookmarks.
4AccountSynchronize account passwords.
8LocalStorageSynchronize Local Storage.
16IndexedDBSynchronize IndexedDB.
32ExtensionsSynchronize 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"
}
FieldTypeDescription
browserTypestringConfiguration source. Available values: global, custom. global means follow global settings; custom means use the current profile configuration.
typeintegerBitmask 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.

ValueDescription
1Restore previously opened pages when opening the profile.
2Prohibit loading images.
4Prohibit loading videos.
8Prohibit playing sound.
16Prohibit webpage pop-up message notifications.
32Do not open the profile if proxy detection fails.
64Prohibit the save account/password confirmation prompt.
128Prohibit opening the browser developer tools interface.
256Ignore HTTPS certificate error prompts and open webpages directly.
512Prohibit managing/removing extensions and installing extensions from local files to the browser.
1024Randomize fingerprint each time the profile is opened.
2048Prohibit opening incognito mode.
4096Do not display the homepage (detection page) when opening the profile.
8192Enable extension encryption and prevent tampering; if a tampered extension is detected, opening the profile will be prohibited.
16384Prohibit members from accessing the Google Extension Store and extension settings page.
32768Prohibit viewing website passwords.
131072Do not open the browser if the country/region is different from the last opening.
262144Do not open the profile if extension download fails.
524288Prohibit 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
}
FieldTypeDescription
browserTypestringConfiguration source. Available values: global, custom.
typeintegerClearing method. 0 means do not clear; 1 means clear default local cache items; 2 means clear custom items according to dataType.
dataTypeinteger/nullBitmask value of custom clearing items. Used when type=2 and browserType=custom; in other cases, usually pass null.
synchronizebooleanWhether to synchronize and save after clearing local data.
frequencyintegerClearing frequency.
intervalintegerClearing interval.

dataType uses bitwise accumulation.

ValueData ItemDescription
1CookieClear Cookie.
2BookMarkClear bookmarks.
4LocalStorageClear Local Storage.
8IndexedDBClear IndexedDB.
16HistoryClear browsing history.
32MediaClear media cache.
64AccountPwdClear 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": []
}
FieldTypeDescription
statusbooleanWhether to enable profile data sync permission control.
roleIdsstring[]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
}
FieldTypeDescription
bookmarkTypestringConfiguration source. Available values: global, custom.
statusbooleanWhether to enable bookmark configuration.
fileContentarrayBookmark file content.
coverRuleintegerOverwrite rule.
fileNamestringBookmark file name.
typeintegerBookmark 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"
}
FieldTypeDescription
accessLimitTypestringConfiguration source. Available values: global, custom.
statusbooleanWhether to enable access restrictions.
typeintegerRestriction type. 1 means prohibit access to specified URLs; 2 means only allow access to specified URLs, and other URLs cannot be accessed.
quickSelectionOptionnumber[]Quick selection items.
quickSelectionTypeintegerBitmask value of quick selection items.
urlListstringDomain 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:

ItemValue
MethodPOST
URLhttp://127.0.0.1:52100/openapi/v1/env
Headerx-api-key: your-local-api-key
HeaderContent-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

NameTypeDescription
codeintegerResponse status code. 0 indicates success.
dataobjectResponse data.
data.idstringID of the newly created profile.
msgstringResponse message.

1.5 PUT Update Profile

Endpoint

PUT /v1/env/{env_id}

Updates an existing browser profile.

Request Headers

NameTypeRequiredDescription
x-api-keystringYesLocal API Key.
Content-TypestringYesFixed value: application/json.

Path Parameters

NameTypeRequiredDescription
env_idstringYesProfile 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:

ItemValue
MethodPUT
URLhttp://127.0.0.1:52100/openapi/v1/env/1876881021063852034
Headerx-api-key: your-local-api-key
HeaderContent-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

NameTypeDescription
codeintegerResponse status code. 0 indicates success.
dataobjectResponse data.
msgstringResponse message.

1.6 DELETE the Browser Profile

DELETE /v1/env/{env_id}

Request Parameters

NameTypeRequiredDescription
env_idstringYesThe 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

NameTypeRequiredDescription
env_idstringYesThe unique ID of the browser profile.

Response Example (Python)

{
    'code': 0,
    'msg': 'success'
}