Skip to content
Home » Local API V2 – Profile Interface

Local API V2 – Profile Interface

List Profiles

Endpoint

GET /openapi/v2/profiles

Returns a list of Profiles.

Query Parameters

NameTypeRequiredDescription
pageintegerNoPage number for page-based pagination, starting at 1. Cannot be combined with cursor/limit.
page_sizeintegerNoNumber of items per page for page-based pagination. Cannot be combined with cursor/limit.
cursorstringNoCursor for cursor-based pagination. Omit on the first request.
limitintegerNoNumber of items per page for cursor-based pagination. Cannot be combined with page/page_size.
serial_nointegerNoProfile serial number. Exact match.
namestringNoProfile name. Partial match.
remarkstringNoRemark. Partial match.
group_idsstring[]NoProfile Group ID list.
tag_idsstring[]NoTag ID list.
proxy_typestringNoProxy type, such as nonehttphttpsssh, or socks5.
run_statusstringNoRuntime status. Available values: runningstopped.
created_fromstringNoStart of the creation-time range.
created_tostringNoEnd of the creation-time range.
last_opened_fromstringNoStart of the last-opened-time range.
last_opened_tostringNoEnd of the last-opened-time range.

Array query parameters may be supplied more than once:

group_ids=group-a&group_ids=group-b

Response Parameters

data.list is a list of Profile summaries. For the structure of each item, see Profile Summary Fields.

Create a Profile

Endpoint

POST /openapi/v2/profiles

Creates a new browser Profile.

Request Parameters

The request body uses ProfileCreateRequest. For its fields, see Profile Creation and Update Parameters.

Request Example

{
  "name": "profile-v2-demo",
  "group_ids": [],
  "proxy_binding": {
    "mode": "none"
  },
  "fingerprint": {
    "os": "windows",
    "kernel_version": "142",
    "language": {
      "mode": "ip"
    },
    "timezone": {
      "mode": "ip"
    }
  },
  "advanced": {
    "startup": {
      "urls": [],
      "restore_session_mode": "global"
    },
    "multi_open": "global",
    "remote_inspector": "global",
    "spoofing_video": "disabled"
  },
  "cookies": [],
  "account_list": [],
  "tag_ids": [],
  "remark": "created by Local API V2"
}

Response Example

{
  "code": 0,
  "msg": "success",
  "data": {
    "id": "1876881021063852034",
    "serial_no": 1,
    "name": "profile-v2-demo"
  },
  "next": null
}

The response data uses the Profile summary structure. For its fields, see Profile Summary Fields.

Get Profile Details

Endpoint

GET /openapi/v2/profiles/{profileId}

Returns the details of a single Profile.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.

The response data uses the Profile details structure. For its fields, see Profile Detail Fields.

Partially Update a Profile

Endpoint

PATCH /openapi/v2/profiles/{profileId}

Updates an existing Profile. Omitted fields remain unchanged.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.

Request Parameters

The request body uses ProfilePatchRequest, whose fields are largely the same as those of ProfileCreateRequest. See Profile Creation and Update Parameters.

Request Example

{
  "name": "profile-v2-demo-updated",
  "remark": "updated by Local API V2"
}

Delete a Profile

Endpoint

DELETE /openapi/v2/profiles/{profileId}

Deletes a Profile. This typically moves it to the recycle bin.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.

Permanently Delete a Profile

Endpoint

DELETE /openapi/v2/profiles/{profileId}/permanent

Permanently deletes a Profile. This action cannot be undone; use it with caution.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.

Restore a Profile

Endpoint

POST /openapi/v2/profiles/{profileId}/restore

Restores a deleted Profile.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.

Move a Profile to Profile Groups

Endpoint

POST /openapi/v2/profiles/{profileId}/move

Moves a Profile to the specified Profile Groups.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.

Request Parameters

NameTypeRequiredDescription
group_idsstring[]NoTarget Profile Group ID list.

Request Example

{
  "group_ids": ["1876881021063852033"]
}

Clone a Profile

Endpoint

POST /openapi/v2/profiles/{profileId}/clone

Clones a Profile.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesID of the Profile to clone.

Request Parameters

NameTypeRequiredDescription
copiesintegerNoNumber of new Profiles to create. Range: 1-100.
group_idsstring[]NoTarget Profile Group ID list. If empty, the original Profile Groups are retained.
inherit_itemsstring[]NoData items to inherit. Available values: fingerprint_and_proxyaccountcloud_data. If empty, the Fingerprint and Proxy, account, and cloud data are inherited by default.
remarkstringNoRemark for the clone. If empty, the original Profile’s remark is retained.

Request Example

{
  "copies": 1,
  "group_ids": [],
  "inherit_items": ["fingerprint_and_proxy", "account", "cloud_data"],
  "remark": "clone by Local API V2"
}

Start a Profile

Endpoint

POST /openapi/v2/profiles/{profileId}/start

Starts a Profile. On success, the debugging port or WebSocket address is available in the response data.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.

Request Parameters

NameTypeRequiredDescription
client_ipstringNoClient IP address.
headlessbooleanNoWhether to start in headless mode. Desktop clients typically pass false.
skip_proxy_checkbooleanNoWhether to skip the Proxy check before startup.
skip_cookie_sync_before_openbooleanNoWhether to skip cookie synchronization before startup.
skip_data_sync_before_openbooleanNoWhether to skip data synchronization before startup.
skip_extension_data_syncbooleanNoWhether to skip extension data synchronization before startup.

Optional query parameters:

NameTypeRequiredDescription
syncstringNoWhen set to false, startup progress may be returned; the final result still uses the V2 response format.

Request Example

{
  "client_ip": "127.0.0.1",
  "headless": false,
  "skip_proxy_check": true
}

Response Example

{
  "code": 0,
  "msg": "success",
  "data": {
    "id": "1876881021063852034",
    "pid": "12345",
    "serial_number": 1,
    "debug_port": 9222,
    "web_socket_url": "ws://127.0.0.1:9222/devtools/browser/xxxx",
    "request_id": "request-id"
  },
  "next": null
}

Stop a Profile

Endpoint

POST /openapi/v2/profiles/{profileId}/stop

Stops a Profile.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.

Request Parameters

NameTypeRequiredDescription
skip_cookie_sync_after_closebooleanNoWhether to skip cookie synchronization after stopping.
skip_data_sync_after_closebooleanNoWhether to skip data synchronization after stopping.
skip_extension_sync_after_closebooleanNoWhether to skip extension synchronization after stopping.

Request Example

{
  "skip_cookie_sync_after_close": true,
  "skip_data_sync_after_close": true,
  "skip_extension_sync_after_close": true
}

List Profile Accounts

Endpoint

GET /openapi/v2/profiles/{profileId}/accounts

Returns the list of accounts for a Profile.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.

The response data.list is the account list. For its fields, see Account Parameters.

Add a Profile Account

Endpoint

POST /openapi/v2/profiles/{profileId}/accounts

Adds an account to a Profile.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.

Request Parameters

The request body uses the account parameters. See Account Parameters.

Request Example

{
  "platform": "other",
  "username": "account@example.com",
  "password": "password",
  "secret": "",
  "url": "https://example.com",
  "remark": "account remark"
}

Update a Profile Account

Endpoint

PATCH /openapi/v2/profiles/{profileId}/accounts/{accountId}

Updates a Profile account.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.
accountIdstringYesAccount ID.

Request Parameters

The request body uses the account parameters. See Account Parameters.

Delete a Profile Account

Endpoint

DELETE /openapi/v2/profiles/{profileId}/accounts/{accountId}

Deletes a Profile account.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.
accountIdstringYesAccount ID.

Update a Profile’s Proxy Binding

Endpoint

PATCH /openapi/v2/profiles/{profileId}/proxy-binding

Updates the Proxy binding for a single Profile.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.

Request Parameters

NameTypeRequiredDescription
proxy_bindingobjectNoProxy binding configuration. See Proxy Binding Parameters.

Request Example

{
  "proxy_binding": {
    "mode": "linked",
    "proxy_id": "1876881021063852999"
  }
}

Batch Update Profile Proxy Bindings

Endpoint

PATCH /openapi/v2/profiles/proxy-binding/batch

Updates Proxy bindings for multiple Profiles.

Request Parameters

NameTypeRequiredDescription
profile_idsstring[]NoProfile ID list. Must not be empty.
proxy_bindingobjectNoProxy binding configuration. See Proxy Binding Parameters.

Get a Summary of Open Profiles in a Specified Set

Endpoint

POST /openapi/v2/profiles/summary

Returns a summary of open Profiles within the specified set of Profiles.

Request Parameters

NameTypeRequiredDescription
idsstring[]YesProfile ID list.

Clear Profile Storage

Endpoint

DELETE /openapi/v2/profiles/{profileId}/storage

Clears a Profile’s Storage.

Path Parameters

NameTypeRequiredDescription
profileIdstringYesProfile ID.

Request Parameters

NameTypeRequiredDescription
typesstring[]NoStorage types to clear. If omitted, local_storage and indexed_db are cleared by default.

Request Example

{
  "types": ["local_storage", "indexed_db"]
}

Parameter Reference

Profile Creation and Update Parameters

ProfileCreateRequest and ProfilePatchRequest use the same primary fields:

NameTypeRequiredDescription
namestringNoProfile name. If omitted, it is generated automatically according to system rules.
group_idsstring[]NoProfile Group ID list. Only one valid value is retained; if omitted or empty, the default Profile Group is used automatically.
proxy_bindingobjectNoProfile Proxy binding configuration. See Proxy Binding Parameters.
fingerprintobjectNoFingerprint configuration. See Fingerprint Parameters.
advancedobjectNoAdvanced configuration. See Advanced Configuration Parameters.
cookiesobject[]NoCookies to write when creating or updating the Profile. Omit to leave cookies unchanged; pass an empty array to write an empty cookie list.
account_listobject[]NoPlatform accounts to bind when creating or updating the Profile. See Account Parameters.
tag_idsstring[]NoTag ID list.
remarkstringNoRemark.

Proxy Binding Parameters

The proxy_binding field configures the Proxy used by the Profile.

NameTypeRequiredDescription
modestringNoProxy binding mode. Available values: nonemanuallinked.
proxy_idstringNoSaved Proxy ID. Required when mode=linked.
typestringNoProxy type. Required when mode=manual and must not be none. Available values: nonehttphttpssshsocks5.
hoststringNoProxy host. Required when mode=manual.
portintegerNoProxy port. Required when mode=manual. Range: 1-65535.
usernamestringNoProxy username. Used when mode=manual.
passwordstringNoProxy password. Used when mode=manual.
ip_check_providerstringNoIP check provider. Available values: ip2locationipapi.
ip_versionstringNoIP address version. Available values: ipv4ipv6.

Example: no Proxy.

{
  "proxy_binding": {
    "mode": "none"
  }
}

Example: bind a saved Proxy.

{
  "proxy_binding": {
    "mode": "linked",
    "proxy_id": "1876881021063852999"
  }
}

Example: manual Proxy.

{
  "proxy_binding": {
    "mode": "manual",
    "type": "http",
    "host": "127.0.0.1",
    "port": 8080,
    "username": "",
    "password": "",
    "ip_check_provider": "ipapi",
    "ip_version": "ipv4"
  }
}

Fingerprint Parameters

fingerprint configures the Profile Fingerprint. All fields are optional; omitted fields are generated according to system rules or retain their existing configuration.

NameTypeDescription
osstringOperating system type. Available values: randomwindowsmacoslinuxandroidios.
kernel_versionstringBrowser kernel version. Available values: 120134142143147.
uastringUser Agent. If empty, the system generates one randomly; if supplied, it must match the operating system type and kernel version.
languageobjectBrowser language configuration.
ui_languageobjectUser interface language configuration.
timezoneobjectTimezone configuration.
geolocationobjectGeolocation configuration.
fontsobjectFont configuration.
webrtcobjectWebRTC configuration.
screenobjectScreen configuration.
webglobjectWebGL configuration.
webgpuobjectGeneral-purpose Fingerprint module configuration.
audio_contextobjectGeneral-purpose Fingerprint module configuration.
client_rectsobjectGeneral-purpose Fingerprint module configuration.
speech_voicesobjectGeneral-purpose Fingerprint module configuration.
media_devicesobjectGeneral-purpose Fingerprint module configuration.
hardwareobjectHardware configuration.
privacyobjectPrivacy configuration.
launchobjectLaunch parameter configuration.

language

NameTypeDescription
modestringBrowser language mode. Available values: ipcustom.
languagesstring[]Browser language list. Required when mode=custom, for example ["en-US", "en"].

ui_language

NameTypeDescription
modestringUser interface language mode. Available values: follow_browser_languagecurrent_device_languagecustom.
valuestringCustom user interface language. Required when mode=custom, for example en-US.

timezone

NameTypeDescription
modestringTimezone source. Available values: ipcustomreal.
valuestringTimezone value. Applies only when mode=custom.

geolocation

NameTypeDescription
permissionstringGeolocation permission. Available values: askallowblock.
sourcestringCoordinate source. Available values: ipcustom.
coordinates.longitudenumberLongitude.
coordinates.latitudenumberLatitude.
coordinates.accuracynumberAccuracy.

fonts

NameTypeDescription
modestringFont mode. Available values: realrandomcustom.
valuesstring[]Font list. Applies only when mode=custom.

webrtc

NameTypeDescription
modestringWebRTC mode. Available values: realreplaceforwarddisabled.
ip_sourcestringSource for replace mode. Applies only when mode=replace. Available values: manualproxyrandom.
ipstringManually specified private IP address. Applies only when ip_source=manual.
keep_random_internal_ipbooleanWhether to keep the random private IP address unchanged. Applies only when ip_source=random.

screen

NameTypeDescription
resolution_modestringResolution mode. Available values: recommendedrandomcustomreal.
resolution.widthintegerResolution width.
resolution.heightintegerResolution height.
window_size_modestringWindow size mode. Available values: recommendedcustom.
window_size.widthintegerWindow width.
window_size.heightintegerWindow height.

webgl

NameTypeDescription
image_modestringWebGL image mode. Available values: realmask.
metadata_modestringWebGL metadata mode. Available values: realrandomcustom.
manufacturerstringWebGL manufacturer. Applies only when metadata_mode=custom.
rendererstringWebGL renderer. Applies only when metadata_mode=custom.

webgpu

NameTypeDescription
modestringWebGPU mode. Available values: realmaskdisabled.

Noise-Based Fingerprint Modules

audio_contextclient_rectsspeech_voices, and media_devices use the same structure:

NameTypeDescription
modestringModule mode. Available values: realmask.

hardware

NameTypeDescription
cpu_cores.modestringCPU core count mode. Available values: randomcustomreal.
cpu_cores.valuestringCustom CPU core count. Applies only when mode=custom.
memory_gb.modestringMemory size mode. Available values: randomcustomreal.
memory_gb.valuestringCustom memory size in GB. Applies only when mode=custom.
device_name_modestringDevice name mode. Available values: realrandomcustom.
device_namestringDevice name. Applies only when device_name_mode=custom.
mac_address_modestringMAC address mode. Available values: realrandomcustom.
mac_addressstringMAC address. Applies only when mac_address_mode=custom.

privacy

NameTypeDescription
do_not_track_modestringDo Not Track. Available values: defaultenableddisabled.
battery_modestringBattery mode. Available values: realmaskdisabled.
port_scan_protection_enabledbooleanWhether port-scan protection is enabled.
hardware_acceleration_modestringHardware acceleration. Available values: defaultenableddisabled.

launch

NameTypeDescription
start_paramsstringBrowser launch parameters, separated by commas.

Advanced Configuration Parameters

advanced configures startup, browser behavior, synchronization, cache, bookmarks, access restrictions, and extensions.

NameTypeDescription
startupobjectStartup configuration.
browser_settingsobjectBrowser settings.
data_syncobjectProfile data synchronization settings.
local_cacheobjectLocal cache cleanup settings.
bookmarksobjectBookmark settings.
access_limitobjectAccess restriction settings.
extensionsobjectExtension settings.
multi_openstringMultiple-open mode. Available values: globalallowban.
remote_inspectorstringRemote debugging mode. Available values: globalallowban.
spoofing_videostringVideo replacement mode. Available values: enableddisabled.

startup

NameTypeDescription
urlsstring[]List of URLs to open at startup.
restore_session_modestringSession restoration mode. Available values: globalrestorenot_restore.

browser_settings

NameTypeDescription
scopestringApplication scope. Available values: globalcustom.
restore_last_pagebooleanWhether to restore the last page.
block_imagesbooleanWhether to block images.
block_videobooleanWhether to block video.
mute_audiobooleanWhether to mute audio.
block_notificationsbooleanWhether to block web notifications.
block_open_on_proxy_failurebooleanWhether to prevent the Profile from opening when the Proxy check fails.
block_save_password_promptbooleanWhether to suppress save-password prompts.
disable_developer_toolsbooleanWhether to disable developer tools.
ignore_https_errorsbooleanWhether to ignore HTTPS certificate errors.
disable_extension_managementbooleanWhether to disable extension management.
random_fingerprint_on_launchbooleanWhether to generate a random Fingerprint on every launch.
disable_incognitobooleanWhether to disable incognito mode.
hide_homepagebooleanWhether to hide the home page.
extension_securitybooleanWhether to enable extension security.
block_extension_storebooleanWhether to block access to the extension store.
disable_view_passwordbooleanWhether to prevent viewing website passwords.
block_on_proxy_country_changebooleanWhether to prevent the Profile from opening when the Proxy country changes.
block_on_extension_download_failurebooleanWhether to prevent the Profile from opening when an extension download fails.
disable_disk_writebooleanWhether to disable disk writes.

data_sync

NameTypeDescription
scopestringApplication scope. Available values: globalcustom.
itemsstring[]List of synchronization items, such as cookiebookmarkaccountlocal_storageindexed_dbextensions.
permission.enabledbooleanWhether synchronization permission control is enabled.
permission.role_idsstring[]List of role IDs permitted to synchronize.

local_cache

NameTypeDescription
scopestringApplication scope. Available values: globalcustom.
clear_modestringCleanup mode. Available values: nonedefaultcustom.
itemsstring[]List of items to clear.
sync_after_clearbooleanWhether to synchronize and save after cleanup.
frequencystringCleanup frequency. Available values: every_opencustom_days.
intervalintegerCleanup interval in days. Applies only when frequency=custom_days.

bookmarks

NameTypeDescription
scopestringApplication scope. Available values: globalcustom.
enabledbooleanWhether bookmark settings are enabled.
import_modestringImport mode. Available values: appendcover.
cover_rulestringReplacement rule. Available values: overwriteclear.
file_namestringBookmark filename. Usually unnecessary when creating or updating a Profile.
contentobjectBookmark content. A browser-exported bookmark tree is recommended.

access_limit

NameTypeDescription
scopestringApplication scope. Available values: globalcustom.
enabledbooleanWhether access restrictions are enabled.
policystringRestriction policy. Available values: blockallow_only.
quick_selectionstring[]Quick-select items, such as google_play.
urlsstringURL list as multiline text.

extensions

NameTypeDescription
modestringExtension mode. Available values: allowban.
group_idstringExtension group ID.

Account Parameters

NameTypeRequiredDescription
platformstringYesAccount platform. Use one of the values listed below.
usernamestringNoLogin username.
passwordstringNoLogin password.
secretstringNo2FA secret or account secret.
urlstringNoCustom website URL. Required when platform=other and must start with http:// or https://. Built-in platforms ignore this field.
remarkstringNoAccount remark.

Available values for platform:

otherfacebook.comamazon.comlinkedin.comx.compaypal.comaccounts.google.comvinted.frdiscord.comaliexpress.comyoutube.comebay.commail.comstripe.compayoneer.comlazada.comshopify.comshoplineapp.comwalmart.comwish.comshopee.cometsy.comdhgate.comalibaba.comtiktok.cominstagram.comwhatsapp.com.

Profile Summary Fields

NameTypeDescription
idstringProfile ID.
serial_nointegerProfile serial number.
namestringProfile name.
statusstringProfile status. Available values: enableddisabled.
run_statusstringRuntime status. Available values: stoppedrunninglocked.
browserobjectBrowser configuration.
osstringOperating system.
groupsobject[]Profile Group list.
tagsobject[]Tag list.
proxy_bindingobjectProfile Proxy binding configuration.
proxy_summaryobjectProxy summary.
created_atstringCreation time.
updated_atstringLast update time.
last_opened_atstringLast opened time.
remarkstringRemark.

Profile Detail Fields

Profile details include all Profile summary fields, plus the following:

NameTypeDescription
group_idsstring[]Profile Group ID list.
tag_idsstring[]Tag ID list.
fingerprintobjectFingerprint configuration.
advancedobjectAdvanced configuration.

Common Workflows

Create and Start a Profile

  1. Create a Profile:
POST /openapi/v2/profiles
  1. Get the Profile ID from the response data.id.
  2. Start the Profile:
POST /openapi/v2/profiles/{profileId}/start
  1. Use debug_port or web_socket_url from the response to connect to the browser debugging protocol.
  2. Stop the Profile:
POST /openapi/v2/profiles/{profileId}/stop

Bind a Saved Proxy to a Profile

  1. Create a Proxy:
POST /openapi/v2/proxies
  1. Get the Proxy ID from the response data.proxy_id.
  2. Bind it to the Profile:
PATCH /openapi/v2/profiles/{profileId}/proxy-binding

Request body:

{
  "proxy_binding": {
    "mode": "linked",
    "proxy_id": "proxy-id"
  }
}