Skip to content

TgeBrowser API Documentation

中文文档: /api

Browser Automation API

TgeBrowser provides RESTful APIs to programmatically control browser environments across their lifecycle for automated deployment and management.

Features: Simple & Efficient • Stable & Reliable • Full Error Handling • Real-time Status Sync


Basic Configuration

Authentication

All API requests must include valid authentication:

http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
User-Agent: YourApp/1.0
bash
curl -X GET http://127.0.0.1:50326/api/status \
  -H "Authorization: Bearer sk-1234567890abcdef" \
  -H "Content-Type: application/json"
javascript
const headers = {
  Authorization: 'Bearer YOUR_API_KEY',
  'Content-Type': 'application/json'
}

fetch('http://127.0.0.1:50326/api/status', { headers })
  .then((response) => response.json())
  .then((data) => console.log(data))

How to get: Login to TgeBrowser client → API → Generate new key

Rate Limiting

To ensure service stability and fair usage, the API enforces the following rate limits:

Limit TypeLimit ValueDescription
Request Rate100 requests/minuteMaximum 100 requests per minute

When rate limits are exceeded, the API returns a 429 Too Many Requests error:

json
{
  "success": false,
  "message": "请求太频繁,请稍后再试。"
}

Best Practices: Implement retry logic with exponential backoff for 429 errors • Plan request frequency to avoid bursts • Consider using batch operations to reduce request count

Request Format

HTTP Method Standards

MethodPurposeExample
GETGet resource informationQuery environment list
POSTCreate new resourceCreate browser environment
PUTUpdate complete resourceUpdate environment configuration
PATCHPartial updateModify environment status
DELETEDelete resourceDelete environment

Response Format

Standard Response Structure

json
{
  "success": true,
  "message": "Operation successful",
  "data": {
    // Response data
  }
}
json
{
  "success": false,
  "message": "Detailed error description",
  "code": "ERROR_CODE"
}

Error Codes

HTTP StatusError CodeDescriptionSolution
400INVALID_PARAMSInvalid request parametersCheck parameter format and type
401AUTH_FAILEDAuthentication failedVerify API Key is valid
403PERMISSION_DENIEDInsufficient permissionsContact administrator for permissions
404RESOURCE_NOT_FOUNDResource not foundVerify resource ID is correct
409RESOURCE_CONFLICTResource conflictCheck resource status or name conflict
429RATE_LIMITEDRate limit exceededReduce request frequency or upgrade plan
500SERVER_ERRORInternal server errorRetry later or contact support

Error Handling: Always check success field • Classify errors based on code field


Browser Environment Management

1. Get Service Status

GET/api/status

Check API service health. Recommended at app startup.

Examples

bash
curl -X GET http://127.0.0.1:50326/api/status \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
javascript
const response = await fetch('/api/status', {
  method: 'GET',
  headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }
})
const data = await response.json()
console.log(data)
python
import requests

headers = { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }
response = requests.get('http://127.0.0.1:50326/api/status', headers=headers)
print(response.json())

Response

json
{ "success": true, "message": "Service is running" }

2. Create Browser Environment

POST/api/browser/create

Create a new environment with fingerprint, proxy and start options. Each environment is isolated.

Note: Fully isolated environments (Cookie, LocalStorage, Session, etc.) • Use meaningful names and organize with groupId • Returns envId for subsequent operations • Mobile: Set os to Android/iOS, optionally specify mobileDeviceId

Examples

bash
curl -X POST http://127.0.0.1:50326/api/browser/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "browserName": "Facebook Marketing",
    "groupId": 1,
    "proxy": {"protocol": "socks5", "host": "proxy.example.com", "port": 1080, "username": "user123", "password": "pass123"},
    "fingerprint": {
      "os": "Windows", "platformVersion": 11, "kernel": "135",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.9.2537 Safari/537.36",
      "canvas": true, "audioContext": true, "speechVoices": true, "clientRects": true,
      "resolution": "1920x1080", "windowWidth": 1000, "windowHeight": 1000, "ram": 8, "cpu": 4,
      "language": "en-US", "languageBaseIp": true, "uiLanguage": "en-US", "uiLanguageBaseIp": true,
      "timezone": "Europe/Amsterdam", "timezoneBaseIp": true,
      "geolocationBaseIp": true, "lng": "116.397128", "lat": "39.916527",
      "hardwareAcceleration": true, "disableSandbox": false, "startupParams": "",
      "deviceMedia": false, "deviceName": "DESKTOP-ABCD",
      "randomFingerprint": false, "blockLargeImages": false, "maxImageKB": 300, "syncCookies": false
    },
    "startInfo": {
      "startPage": {"mode": "custom", "value": ["https://www.baidu.com"]},
      "otherConfig": {"openConfigPage": false, "checkPage": true, "extensionTab": true}
    }
  }'
javascript
const res = await fetch('/api/browser/create', {
  method: 'POST',
  headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' },
  body: JSON.stringify({
    /* same as cURL body */
  })
})
const result = await res.json()
python
import requests

headers = {"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}
data = { /* same as cURL body */ }
print(requests.post('http://127.0.0.1:50326/api/browser/create', headers=headers, json=data).json())

Request Body Schema

json
{
  "browserName": "string",
  "groupId": "number",
  "remark": "string",
  "proxy": { ... },
  "fingerprint": { ... },
  "startInfo": { ... },
  "Cookie": []
  }

Mobile Environment Creation Example

Create an Android or iOS mobile browser environment:

bash
curl -X POST http://127.0.0.1:50326/api/browser/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "browserName": "Test Environment",
    "fingerprint": {
      "os": "Android",
      "mobileDeviceId": 2
    }
  }'
javascript
const response = await fetch('/api/browser/create', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    browserName: 'Test Environment',
    fingerprint: {
      os: 'Android',
      mobileDeviceId: 2
    }
  })
})
const data = await response.json()
python
import requests

response = requests.post(
    'http://127.0.0.1:50326/api/browser/create',
    headers={
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json'
    },
    json={
        'browserName': 'Test Environment',
        'fingerprint': {
            'os': 'Android',
            'mobileDeviceId': 2
        }
    }
)
print(response.json())

Mobile Environment Notes: mobileDeviceId corresponds to the device id returned by /api/browser/mobile-devices API • mobileDeviceId only takes effect when os is Android or iOS • If mobileDeviceId is not provided, the system will randomly select a mobile device based on os

Detailed Parameter Description

Basic Information
ParameterTypeRequiredDescriptionExample
browserNamestringYesEnvironment name; use meaningful identifiers"Facebook-Account1"
groupIdnumberNoGroup ID for categorization1
remarkstringNoNotes, up to 256 characters"Mainly for Facebook Ads"
Proxy Configuration proxy
ParameterTypeRequiredDescriptionAllowed Values
protocolstringYesProxy protocolhttp, socks5, direct
hoststringYes*Server address"proxy.example.com"
portnumberYes*Port1080, 8080
usernamestringNoUsername"user123"
passwordstringNoPassword"pass123"
timezonestringNoTimezone"America/New_York"
proxyIdnumberNoExisting proxy ID1001

Proxy Configuration Tips: When using proxyId, other proxy parameters can be omitted • direct means no proxy • Timezone should match the proxy IP location for better anonymity • With http or socks5, host and port are required • If proxy requires authentication, fill in username and password

Fingerprint Configuration fingerprint
ParameterTypeRequiredDescription
osstringYesOperating system
mobileDeviceIdnumberNoMobile device ID from /api/browser/mobile-devices, only effective when os is Android/iOS
platformVersionnumberNoOS version (Windows: 11/10; macOS: 11/10; Android: 12/11/10; iOS: 16/15)
kernelstringNoBrowser kernel version (e.g., "135")
userAgentstringNoUser agent (auto-generated or custom)
webrtcstringNoWebRTC policy: disable, replace, real
resolutionstringNoScreen resolution (e.g., "1920x1080")
windowWidthnumberNoWindow width (default: 1000)
windowHeightnumberNoWindow height (default: 1000)
languagestringNoBrowser language (e.g., "en-US", "zh-CN")
languageBaseIpbooleanNoLanguage based on IP
uiLanguagestringNoUI language
uiLanguageBaseIpbooleanNoUI language based on IP
timezonestringNoTimezone (e.g., "Asia/Shanghai")
timezoneBaseIpbooleanNoTimezone based on IP
geolocationBaseIpbooleanNoGeolocation based on IP
lngstringNoLongitude (used when geolocationBaseIp = false)
latstringNoLatitude (used when geolocationBaseIp = false)
canvasbooleanNoCanvas fingerprint (true random, false real, default true)
audioContextbooleanNoAudioContext fingerprint (true random, false real, default true)
speechVoicesbooleanNoSpeechVoices fingerprint (true random, false real, default true)
clientRectsbooleanNoClientRects fingerprint (true random, false real, default true)
fontsarrayNoFonts list (e.g., ["Arial", "Times New Roman"])
disableTLSarrayNoDisabled TLS versions
ramnumberNoMemory (GB)
cpunumberNoCPU cores
hardwareAccelerationbooleanNoHardware acceleration (default true)
disableSandboxbooleanNoDisable sandbox (default false)
startupParamsstringNoCustom startup parameters
deviceNamestringNoDevice name
deviceMediabooleanNoDevice media (true randomize, false off, default true)
portScanProtectionstringNoPort scan protection (format: port,port)
randomFingerprintbooleanNoRandom fingerprint (default true)
blockLargeImagesbooleanNoBlock large images (default false)
maxImageKBnumberNoMaximum image size in KB (default 300)
syncCookiesbooleanNoSync cookies (default false)
clearCacheOnStartbooleanNoClear cache before start (default false)
clearCachePreserveExtensionsOnStartbooleanNoClear cache before start (preserve extensions) (default false)
clearCookiesOnStartbooleanNoClear cookies before start (default false)
clearHistoryOnStartbooleanNoClear history before start (default false)
disableMediaAutoplaybooleanNoDisable media autoplay (default false)
muteAllMediabooleanNoMute all media (default false)
disableGoogleTranslatebooleanNoDisable Google Translate (default false)
disableSavePasswordPromptbooleanNoDisable save-password prompt (default false)
disableNotificationsbooleanNoDisable notifications (default false)
blockClipboardReadbooleanNoBlock clipboard read by web pages (default false)
stopOnNetworkIssuebooleanNoStop on network issue (default false)
stopOnIPChangebooleanNoStop on IP change (default false)
stopOnCountryChangebooleanNoStop on country/region change (default false)

Notes on fingerprint configuration: Use common parameter combinations; avoid overly unique setups • Ensure OS, browser version, and user agent match • Canvas/AudioContext/SpeechVoices/ClientRects randomization improves anonymity but may affect site features • When geolocationBaseIp is false, set both lng and lat • When deviceMedia is true, device media information is randomized to improve anonymity • mobileDeviceId only works when os is Android or iOS; if not provided, system randomly selects a mobile device

Response Example

json
{
  "success": true,
  "message": "Environment created",
  "data": {
    "envId": 5880,
    "userIndex":123
  }
}

3. Update Browser Environment

POST/api/browser/update

Update an existing environment's configuration. If running, restart to take effect.

Request Headers

http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Request Body (example)

json
{
  "envId": 1000,
  "browserName": "TestBrowser",
  "proxy": {
    "protocol": "socks5",
    "host": "108.165.69.97",
    "port": 6059,
    "username": "hygwueis",
    "password": "lc6bb3zfm359",
    "ipChecker": "https://ipinfo.io",
    "proxyId": 1000
  },
  "fingerprint": {
    "os": "Windows",
    "platformVersion": 11,
    "kernel": "135",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.9.2537 Safari/537.36",
    "canvas": true,
    "audioContext": true,
    "speechVoices": true,
    "clientRects": true,
    "fonts": ["Arial", "Courier New"],
    "disableTLS": [],
    "resolution": "1920x1080",
    "windowWidth": 1000,
    "windowHeight": 1000,
    "ram": 8,
    "cpu": 4,
    "language": "en-US",
    "languageBaseIp": true,
    "timezone": "Europe/Amsterdam",
    "timezoneBaseIp": true,
    "geolocationBaseIp": true,
    "lng": "116.397128",
    "lat": "39.916527",
    "hardwareAcceleration": true,
    "disableSandbox": false,
    "startupParams": "",
    "deviceName": "DESKTOP-ABCD",
    "deviceMedia": false,
    "portScanProtection": "80,443",
    "randomFingerprint": false,
    "blockLargeImages": false,
    "maxImageKB": 300,
    "syncCookies": false
  },
  "groupId": 29,
  "remark": "remark",
  "Cookie": [],
  "startInfo": {
    "startPage": { "mode": "custom", "value": ["https://www.google.com", "https://www.bing.com"] },
    "otherConfig": { "openConfigPage": true, "checkPage": true, "extensionTab": true }
  }
}

Mobile Environment Update Example

Update the mobile device model for an environment:

bash
curl -X POST http://127.0.0.1:50326/api/browser/update \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "envId": 123,
    "fingerprint": {
      "mobileDeviceId": 2
    }
  }'
javascript
const response = await fetch('/api/browser/update', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    envId: 123,
    fingerprint: {
      mobileDeviceId: 2
    }
  })
})
const data = await response.json()
python
import requests

response = requests.post(
    'http://127.0.0.1:50326/api/browser/update',
    headers={
        'Authorization': 'Bearer YOUR_API_KEY',
        'Content-Type': 'application/json'
    },
    json={
        'envId': 123,
        'fingerprint': {
            'mobileDeviceId': 2
        }
    }
)
print(response.json())

Parameter Description

Basic Parameters
ParameterTypeRequiredDescription
envIdnumberYesEnvironment ID
browserNamestringYesEnvironment name
Proxy Settings proxy
ParameterTypeRequiredDescription
protocolstringRequired if no proxyIdProxy protocol (http/socks5/direct)
hoststringNoHost (required for http/socks5)
portnumberNoPort (required for http/socks5)
usernamestringNoUsername (if proxy requires auth)
passwordstringNoPassword (if proxy requires auth)
timezonestringNoTimezone (e.g., Asia/Shanghai), or based on IP
ipCheckerstringNoIP check service
Existing Proxy proxyId
ParameterTypeRequiredDescription
proxyIdnumberRequired if no proxyUse an existing proxy
Group groupId
ParameterTypeRequiredDescription
groupIdnumberNoSet group ID
Remark remark
ParameterTypeRequiredDescription
remarkstringNoSet remark
ParameterTypeRequiredDescription
CookiejsonNoSet cookies
Start Page startInfo
ParameterTypeRequiredDescriptionExample
startPage.modestringNoStart page modecustom (custom), last (last session), none (none)
startPage.valuearrayNoStart page URLsWhen mode = custom: ["https://www.google.com"]; when last or none: []
otherConfig.openConfigPagebooleanNoOpen configuration pagetrue/false
otherConfig.checkPagebooleanNoOpen check pagetrue/false
otherConfig.extensionTabbooleanNoOpen extension tabtrue/false
Fingerprint fingerprint
ParameterTypeRequiredDescription
osstringNoOperating system
mobileDeviceIdnumberNoMobile device ID from /api/browser/mobile-devices, only for Android/iOS
platformVersionnumberNoOS version
kernelstringNoKernel (Chrome version)
userAgentstringNoUser agent
webrtcstringNoWebRTC (disable/replace/real)
timezonestringNoTimezone
timezoneBaseIpbooleanNoTimezone based on IP
languagestringNoLanguage
languageBaseIpbooleanNoLanguage based on IP
uiLanguagestringNoUI language
uiLanguageBaseIpbooleanNoUI language based on IP
geolocationBaseIpbooleanNoGeolocation based on IP
lngstringNoLongitude
latstringNoLatitude
disableSandboxbooleanNoDisable sandbox (default false)
startupParamsstringNoStartup parameters
canvasbooleanNoCanvas fingerprint (true random, false real, default true)
audioContextbooleanNoAudioContext fingerprint (true random, false real, default true)
speechVoicesbooleanNoSpeechVoices fingerprint (true random, false real, default true)
clientRectsbooleanNoClientRects fingerprint (true random, false real, default true)
fontsarrayNoFonts list
disableTLSarrayNoDisabled TLS versions
resolutionstringNoScreen resolution
windowWidthnumberNoWindow width (default 1000)
windowHeightnumberNoWindow height (default 1000)
ramnumberNoMemory
cpunumberNoCPU cores
deviceNamestringNoDevice name
deviceMediabooleanNoDevice media (true randomize, false off, default true)
portScanProtectionstringNoPort scan protection (format: port,port)
hardwareAccelerationbooleanNoHardware acceleration (default true)
randomFingerprintbooleanNoRandom fingerprint (default true)
blockLargeImagesbooleanNoBlock large images (default false)
maxImageKBnumberNoMaximum image size in KB (default 300)
syncCookiesbooleanNoSync cookies (default false)
clearCacheOnStartbooleanNoClear cache before start (default false)
clearCachePreserveExtensionsOnStartbooleanNoClear cache before start (preserve extensions) (default false)
clearCookiesOnStartbooleanNoClear cookies before start (default false)
clearHistoryOnStartbooleanNoClear history before start (default false)
disableMediaAutoplaybooleanNoDisable media autoplay (default false)
muteAllMediabooleanNoMute all media (default false)
disableGoogleTranslatebooleanNoDisable Google Translate (default false)
disableSavePasswordPromptbooleanNoDisable save-password prompt (default false)
disableNotificationsbooleanNoDisable notifications (default false)
blockClipboardReadbooleanNoBlock clipboard read by web pages (default false)
stopOnNetworkIssuebooleanNoStop on network issue (default false)
stopOnIPChangebooleanNoStop on IP change (default false)
stopOnCountryChangebooleanNoStop on country/region change (default false)

4. Start Browser Environment

POST/api/browser/start

Starts the specified environment and returns CDP connection info.

Examples

bash
curl -X POST http://127.0.0.1:50326/api/browser/start \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"envId": 901, "args": ["--headless"], "port": 1111}'
bash
curl -X POST http://127.0.0.1:50326/api/browser/start \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"userIndex": 1, "args": ["--headless"], "port": 1111}'
javascript
const response = await fetch('/api/browser/start', {
  method: 'POST',
  headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' },
  body: JSON.stringify({ envId: 901, args: ['--headless'], port: 1111 })
})
const data = await response.json()
javascript
const response = await fetch('/api/browser/start', {
  method: 'POST',
  headers: { Authorization: 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' },
  body: JSON.stringify({ userIndex: 1, args: ['--headless'], port: 1111 })
})
const data = await response.json()
python
import requests
print(requests.post('http://127.0.0.1:50326/api/browser/start', headers={"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}, json={"envId": 901, "args": ["--headless"], "port": 1111}).json())
python
import requests
print(requests.post('http://127.0.0.1:50326/api/browser/start', headers={"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}, json={"userIndex": 1, "args": ["--headless"], "port": 1111}).json())

Parameter Description

ParameterTypeRequiredDescription
envIdnumberEither this or userIndexEnvironment ID (choose one with userIndex)
userIndexnumberEither this or envIdEnvironment index (choose one with envId)
argsstring[]NoBrowser startup arguments
portnumberNoCustom remote debug port

Response

json
{
  "success": true,
  "data": {
    "envId": 900,
    "browserName": "11",
    "ws": "ws://127.0.0.1:34721/devtools/browser/33cc3bf7-1852-409f-ad3e-364f6233d735",
    "driver": "C://User/xxxxx/chromedriver.exe",
    "http": "http://127.0.0.1:34721/json/version",
    "pid": 32512,
    "port": 34721,
    "userIndex": 1
  },
  "message": "Success"
}

5. Stop Browser Environment

POST/api/browser/stop

Stops a running browser environment.

Request Example

bash
curl -X POST http://127.0.0.1:50326/api/browser/stop \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "envId": 900
  }'
bash
curl -X POST http://127.0.0.1:50326/api/browser/stop \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "userIndex": 1
  }'
javascript
const response = await fetch('/api/browser/stop', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    envId: 900
  })
})
const data = await response.json()
console.log(data)
javascript
const response = await fetch('/api/browser/stop', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    userIndex: 1
  })
})
const data = await response.json()
console.log(data)
python
import requests

url = "http://127.0.0.1:50326/api/browser/stop"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "envId": 900
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
python
import requests

url = "http://127.0.0.1:50326/api/browser/stop"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "userIndex": 1
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

Parameter Description

ParameterTypeRequiredDescription
envIdnumberEither this or userIndexEnvironment ID (choose one with userIndex)
userIndexnumberEither this or envIdEnvironment index (choose one with envId)

Response Example

json
{
  "success": true,
  "data": {
    "envId": 900
  },
  "message": "Success"
}

6. Stop All Browser Environments

POST/api/browser/stop-all

Stops all running browser environments.

Request Example

bash
curl -X POST http://127.0.0.1:50326/api/browser/stop-all \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
javascript
const response = await fetch('/api/browser/stop-all', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  }
})
const data = await response.json()
console.log(data)
python
import requests

url = "http://127.0.0.1:50326/api/browser/stop-all"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}

response = requests.post(url, headers=headers)
print(response.json())

Parameter Description

No request parameters required

Response Example

Success response:

json
{
  "success": true,
  "data": {
    "total": 10,
    "closed": 8,
    "failed": 2
  },
  "message": "Success"
}

Error response:

json
{
  "success": false,
  "message": "Error message"
}

7. Delete Browser Environment

POST/api/browser/delete

Delete the specified browser environment and its related data.

Request Example

bash
curl -X POST http://127.0.0.1:50326/api/browser/delete \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "envId": 911
  }'
bash
curl -X POST http://127.0.0.1:50326/api/browser/delete \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "userIndex": 1
  }'
javascript
const response = await fetch('/api/browser/delete', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    envId: 911
  })
})
const data = await response.json()
console.log(data)
javascript
const response = await fetch('/api/browser/delete', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    userIndex: 1
  })
})
const data = await response.json()
console.log(data)
python
import requests

url = "http://127.0.0.1:50326/api/browser/delete"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "envId": 911
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
python
import requests

url = "http://127.0.0.1:50326/api/browser/delete"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "userIndex": 1
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

Parameter Description

ParameterTypeRequiredDescription
envIdnumberEither this or userIndexEnvironment ID (choose one with userIndex)
userIndexnumberEither this or envIdEnvironment index (choose one with envId)

Response Example

json
{
  "success": true,
  "data": 911,
  "message": "Success"
}

7. Delete Browser Environment Cache

POST/api/browser/cache/delete

Clear cache data for the specified environment, including Cookie, local storage, etc.

Request Example

bash
curl -X POST http://127.0.0.1:50326/api/browser/cache/delete \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "envId": 900
  }'
bash
curl -X POST http://127.0.0.1:50326/api/browser/cache/delete \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "userIndex": 1
  }'
javascript
const response = await fetch('/api/browser/cache/delete', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    envId: 900
  })
})
const data = await response.json()
console.log(data)
javascript
const response = await fetch('/api/browser/cache/delete', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    userIndex: 1
  })
})
const data = await response.json()
console.log(data)
python
import requests

url = "http://127.0.0.1:50326/api/browser/cache/delete"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "envId": 900
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
python
import requests

url = "http://127.0.0.1:50326/api/browser/cache/delete"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "userIndex": 1
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

Parameter Description

ParameterTypeRequiredDescription
envIdnumberEither this or userIndexEnvironment ID (choose one with userIndex)
userIndexnumberEither this or envIdEnvironment index (choose one with envId)

Response Example

json
{
  "success": true,
  "data": 900,
  "message": "Success"
}

8. Batch Delete Browser Environment Cache

POST/api/browser/batch/delete-cache

Batch delete local browser cache data for specified environments, supporting clearing cache for multiple environments at once.

Request Example

bash
curl -X POST http://127.0.0.1:50326/api/browser/batch/delete-cache \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "envIds": [1, 2, 3, 4, 5]
  }'
bash
curl -X POST http://127.0.0.1:50326/api/browser/batch/delete-cache \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "userIndexes": [1, 2, 3, 4, 5]
  }'
javascript
const response = await fetch('/api/browser/batch/delete-cache', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    envIds: [1, 2, 3, 4, 5]
  })
})
const data = await response.json()
console.log(data)
javascript
const response = await fetch('/api/browser/batch/delete-cache', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    userIndexes: [1, 2, 3, 4, 5]
  })
})
const data = await response.json()
console.log(data)
python
import requests

url = "http://127.0.0.1:50326/api/browser/batch/delete-cache"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "envIds": [1, 2, 3, 4, 5]
}

response = requests.post(url, headers=headers, json=data)
print(response.json())
python
import requests

url = "http://127.0.0.1:50326/api/browser/batch/delete-cache"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "userIndexes": [1, 2, 3, 4, 5]
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

Parameter Description

ParameterTypeRequiredDescription
envIdsnumber[]Either this or userIndexesArray of environment IDs (choose one with userIndexes)
userIndexesnumber[]Either this or envIdsArray of environment indexes (choose one with envIds)

Parameter Validation: envIds or userIndexes cannot be an empty array • Each element in the array must be a positive integer • If some environment IDs or indexes don't exist, they will be marked as failed in the response

Success Response Example

json
{
  "success": true,
  "data": {
    "total": 5,
    "success": 5,
    "failed": 0,
    "failedEnvIds": []
  },
  "message": "Batch cache deletion successful"
}

Partial Success Response Example

json
{
  "success": true,
  "data": {
    "total": 5,
    "success": 4,
    "failed": 1,
    "failedEnvIds": ["3"]
  },
  "message": "Partial cache deletion successful, 1 environment failed"
}

Response Field Description

FieldTypeDescription
totalnumberTotal number
successnumberNumber of successful deletions
failednumberNumber of failures
failedEnvIdsstring[]List of failed environment IDs

Error Response

HTTP StatusDescription
400Parameter error (envIds missing, not an array, empty, or contains invalid IDs)
404No valid environments found
500Internal server error

9. Get Environment List

GET/api/browser/list

Get a list of all browser environments for the current user, with pagination support.

Request Parameters

ParameterTypeRequiredDefaultDescription
currentnumberNo1Current page
pageSizenumberNo20Items per page
keywordstringNo-Search keyword
groupIdnumberNo-Group ID

Request Example

bash
curl -X GET "http://127.0.0.1:50326/api/browser/list?current=1&pageSize=20&keyword=test" \
  -H "Authorization: Bearer YOUR_API_KEY"
javascript
const params = new URLSearchParams({
  current: 1,
  pageSize: 20,
  keyword: 'test'
})

const response = await fetch(`/api/browser/list?${params}`, {
  method: 'GET',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY'
  }
})
const data = await response.json()
console.log(data)
python
import requests

url = "http://127.0.0.1:50326/api/browser/list"
headers = {
    "Authorization": "Bearer YOUR_API_KEY"
}
params = {
    "current": 1,
    "pageSize": 20,
    "keyword": "test"
}

response = requests.get(url, headers=headers, params=params)
print(response.json())

Response Example (see latest response for details)

json
{
  "success": true,
  "data": {
    "total": 1001,
    "current": 1,
    "pageSize": 1,
    "list": [
      {
        "userIndex": 2,
        "profileId": "c767c4455071401e8c69fcd35b83fee0",
        "browserName": "111",
        "startInfo": {
          "startPage": [],
          "otherConfig": {
            "checkPage": true,
            "openConfigPage": true
          }
        },
        "accountInfo": [
          {
            "twofa": "",
            "account": "",
            "password": "",
            "security": true
          }
        ],
        "remark": null,
        "cookie": "[{\"name\":\"NID\",\"value\":\"524=J62ojXztsmVdRN15JnjHZ1uKkZk03CqKGT6nv3MIzANjsX0yINK8LQjn9mwVFsrQLoIWZtcXH2N1WOrPA6vviGFZ2tz1DiloBntJnEPHNcElzIpUETTOBc00zsE9H9vZ9nBN1PbWbzplZMcvsKIf6TFYuoDZR8jW0yt1dRE_Vvu3cJ6mjQofbrTkX4adp3Evcg\",\"domain\":\".google.com\",\"path\":\"/\",\"expires\":1766503236,\"httpOnly\":true,\"secure\":true}]",
        "status": 1,
        "createTime": "2025-06-23T15:19:50.000Z",
        "updateTime": "2025-06-23T16:00:51.000Z",
        "lastOpenedTime": null,
        "userId": 20,
        "proxyId": 55524,
        "isDeleted": false,
        "deleteTime": null,
        "teamId": 19,
        "groupId": null,
        "syncFile": null,
        "tags": [],
        "proxy": {
          "id": 55524,
          "userIndex": 1016,
          "address": "socks5://107.174.25.53:5507",
          "protocol": "socks5",
          "host": "107.174.25.53",
          "port": 5507,
          "username": "xxxx",
          "password": "xxxx",
          "timezone": "America/Chicago",
          "realIp": "107.174.25.53",
          "lastIp": null,
          "lastCheckedTime": "2025-06-23T16:00:46.000Z",
          "ipChecker": "https://iprust.io/ip.json",
          "ipChangeAction": null,
          "status": 2,
          "remark": null,
          "createdTime": "2025-06-23T16:00:50.000Z",
          "updatedTime": "2025-06-23T16:00:50.000Z",
          "userId": 20,
          "teamId": 19,
          "isDeleted": false,
          "groupId": null
        },
        "group": null,
        "fingerprint": {
          "os": "Windows",
          "cpu": 2,
          "ram": 2,
          "seed": 4946,
          "fonts": "Liberation Sans Narrow,Liberation Sans Narrow,Javanese Text Regular,AR PL UKai CN,Proxy 1,Avenir Next,Noto Sans Cypriot,Avenir Black,SimSun-ExtB Regular,Kohinoor Gujarati,Segoe MDL2 Assets,Sinhala Sangam MN,Gabriola Regular,EUROSTILE,DengXian Light,Century Schoolbook,Heiti TC,Hiragino Sans W4,Segoe MDL2 Assets,Hiragino Sans W9,cursive,Avenir Black,PT Serif,Segoe UI Black,Forte,Kristen ITC,Mallanna,Garamond,Hiragino Mincho ProN,Arial Hebrew,Javanese Text Regular,PT Serif",
          "webgl": {
            "glRender": "Intel(R) HD Graphics 3000 Direct3D11 vs_4_1 ps_4_1, D3D11-23.21.13.8857",
            "glVendor": "Intel"
          },
          "canvas": true,
          "kernel": "135",
          "webgpu": {
            "gpuArch": "gen-12lp",
            "gpuVendor": "intel"
          },
          "webrtc": "disable",
          "battery": true,
          "browser": "chrome",
          "language": "en-US",
          "bluetooth": true,
          "isEncrypt": false,
          "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.60.2288 Safari/537.36",
          "deviceName": "DESKTOP-0NCRDDBI",
          "disableTLS": [],
          "doNotTrack": false,
          "resolution": "1000x1080",
          "uiLanguage": "en-US",
          "clientRects": true,
          "audioContext": true,
          "speechVoices": true,
          "startupParams": "",
          "disableSandbox": false,
          "timezoneBaseIp": true,
          "platformVersion": 11,
          "portScanProtection": "",
          "hardwareAcceleration": false,
          "randomFingerprint": false,
          "blockLargeImages": false,
          "maxImageKB": 300,
          "syncCookies": false
        },
        "envId": 29286
      }
    ]
  },
  "message": "Success"
}

10. Get Environment Detail

POST/api/browser/detail

Get detailed information for a specific browser environment, including complete fingerprint configuration, proxy information, etc.

Request Parameters

ParameterTypeRequiredDescription
envIdnumberNoEnvironment ID (choose one with userIndex)
userIndexnumberNoUser index (choose one with envId)

Note: Either envId or userIndex must be provided.

Request Example

bash
curl -X POST "http://127.0.0.1:50326/api/browser/detail" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"envId": 346949}'
javascript
const response = await fetch('/api/browser/detail', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    envId: 346949
    // or use userIndex: 139
  })
})
const data = await response.json()
console.log(data)
python
import requests

url = "http://127.0.0.1:50326/api/browser/detail"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
payload = {
    "envId": 346949
    # or use "userIndex": 139
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())

Response Example

json
{
  "success": true,
  "data": {
    "userIndex": 139,
    "browserName": "bbbb",
    "profileId": "63683626902c49369d5aa43471493396",
    "fingerprint": {
      "disableImages": false,
      "randomFingerprint": false,
      "syncCookies": true,
      "os": "Windows",
      "platformVersion": "15.0.0",
      "kernel": "143",
      "browser": "chrome",
      "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.72.1064 Safari/537.36",
      "proxyType": "socks5",
      "proxyHost": "148.113.187.209",
      "proxyUsername": "com61163829-res-any-sid-905375838",
      "proxyPassword": "Bf1GCSgF162QWor",
      "proxyPort": 9595,
      "webrtc": "disable",
      "startupParams": "",
      "seed": 8728,
      "clearCacheOnStart": false,
      "clearCachePreserveExtensionsOnStart": false,
      "clearCookiesOnStart": false,
      "clearHistoryOnStart": false,
      "blockLargeImages": false,
      "maxImageKB": 199,
      "disableMediaAutoplay": false,
      "muteAllMedia": false,
      "disableGoogleTranslate": false,
      "disableSavePasswordPrompt": false,
      "disableNotifications": false,
      "blockClipboardRead": false,
      "stopOnNetworkIssue": false,
      "stopOnIPChange": false,
      "stopOnCountryChange": false,
      "syncPasswords": false,
      "timezone": "",
      "timezoneBaseIp": true,
      "lat": "",
      "lng": "",
      "geolocationBaseIp": true,
      "language": "en-US",
      "languageBaseIp": true,
      "uiLanguage": "en-US",
      "uiLanguageBaseIp": true,
      "resolution": "1400x900",
      "fonts": "STIXGeneral-Regular,DengXian,Ayuthaya,Meiryo...",
      "glVendor": "AMD",
      "glRender": "AMD Radeon Pro 5300 Direct3D11 vs_5_0 ps_5_0, D3D11",
      "gpuArch": "rdna-2",
      "gpuVendor": "amd",
      "canvas": true,
      "audioContext": true,
      "speechVoices": true,
      "clientRects": true,
      "cpu": 4,
      "ram": 4,
      "deviceMedia": true,
      "deviceName": "DESKTOP-USQYQPY3",
      "macAddress": "0E:4D:3D:3B:A4:90",
      "disableTLS": [],
      "portScanProtection": "",
      "cookie": ""
    },
    "startInfo": {
      "startPage": {
        "mode": "none",
        "value": []
      },
      "otherConfig": {
        "openConfigPage": true,
        "checkPage": true,
        "extensionTab": false
      }
    },
    "accountInfo": [],
    "remark": "",
    "encryptedCookie": null,
    "cookie": null,
    "status": 1,
    "openStatus": 0,
    "lockStatus": 0,
    "pid": 0,
    "browserPort": 0,
    "createTime": "2026-01-28T05:50:20.558Z",
    "updateTime": "2026-01-28T05:50:20.558Z",
    "lastOpenedTime": "2026-01-28T05:50:32.367Z",
    "userId": 20,
    "proxyId": 655899,
    "proxyInfo": {
      "timezone": "Africa/Johannesburg",
      "realIp": "102.217.242.75",
      "lastCountry": "ZA",
      "lastLocation": "-25.7751,29.4648",
      "status": 2
    },
    "isDeleted": false,
    "deleteTime": null,
    "teamId": 19,
    "groupId": null,
    "syncFile": null,
    "syncFileKeyVersion": null,
    "proxy": {
      "id": 655899,
      "userIndex": 285,
      "address": "socks5://148.113.187.209:9595",
      "protocol": "socks5",
      "host": "148.113.187.209",
      "port": 9595,
      "username": "com61163829-res-any-sid-905375838",
      "password": "Bf1GCSgF162QWor",
      "timezone": "Africa/Johannesburg",
      "realIp": "102.217.242.75",
      "lastIp": null,
      "lastCountry": "ZA",
      "lastLocation": "-25.7751,29.4648",
      "lastCheckedTime": "2026-01-28T05:50:28.781Z",
      "ipChecker": "https://iprust.io/ip.json",
      "ipChangeAction": null,
      "provider": "common",
      "fetchStrategy": "on_ip_invalid",
      "fetchUrl": "https://api.iprocket.io/api?username=com61163829&password=Bf1GCSgF162QWor&cc=any&ips=1000&type=-res-&proxyType=Socks5&responseType=txt",
      "avoidUsedIp": false,
      "status": 2,
      "remark": null,
      "createdTime": "2026-01-28T05:50:20.555Z",
      "updatedTime": "2026-01-28T05:50:20.555Z",
      "userId": 20,
      "teamId": 19,
      "isStoreProxy": false,
      "orderId": null,
      "storeDurationMinutes": null,
      "storeTrafficLimit": null,
      "storeExpireTime": null,
      "isDeleted": false,
      "groupId": null,
      "profileId": "25264fb8694245078d9185206b5e6f0e",
      "proxyHash": "1eddfc11c7c95c8dc3b3b16e01f04a7b7b49f2b14e3f78f8e94bb815a4c8ccd8"
    },
    "envId": 346949
  },
  "message": "Success"
}

11. Get Running Environment List

GET/api/browser/open/list

Get all currently running browser environments.

Request Example

bash
curl -X GET http://127.0.0.1:50326/api/browser/open/list \
  -H "Authorization: Bearer YOUR_API_KEY"
javascript
const response = await fetch('/api/browser/open/list', {
  method: 'GET',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY'
  }
})
const data = await response.json()
console.log(data)
python
import requests

url = "http://127.0.0.1:50326/api/browser/open/list"
headers = {
    "Authorization": "Bearer YOUR_API_KEY"
}

response = requests.get(url, headers=headers)
print(response.json())

Response Example

json
{
  "success": true,
  "data": [
    {
      "envId": 900,
      "browserName": "11",
      "ws": "ws://127.0.0.1:36203/devtools/browser/f1049062-aead-47ed-8719-15f0938b7dd5",
      "http": "http://127.0.0.1:36203/json/version",
      "openStatus": 1,
      "pid": 27652,
      "port": 36203,
      "userIndex": 1,
      "updatedAt": "2025-04-21T08:53:35.531Z"
    }
  ],
  "message": "Success"
}

12. One-Click Adaptive Layout

POST/api/windowbounds/sort

Automatically adjust the position and size of multiple browser windows for adaptive screen layout.

Request Example

bash
curl -X POST http://127.0.0.1:50326/api/windowbounds/sort \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "envIds": [1, 2]
  }'
javascript
const response = await fetch('/api/windowbounds/sort', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    envIds: [1, 2]
  })
})
const data = await response.json()
console.log(data)
python
import requests

url = "http://127.0.0.1:50326/api/windowbounds/sort"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "envIds": [1, 2]
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

Parameter Description

ParameterTypeRequiredDescription
envIdsnumber[]NoEnvironment IDs

Response Example

json
{ "success": true, "data": [], "message": "Successfully arranged 2 windows" }

13. Custom Layout

POST/api/windowbounds/sort/custom

Automatically adjust the position and size of multiple browser windows for adaptive screen layout.

Request Example

bash
curl -X POST http://127.0.0.1:50326/api/windowbounds/sort/custom \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
     "type": "box",
    "startX": 0,
    "startY": 0,
    "width": 500,
    "height": 400,
    "col": 3,
    "spaceX": 50,
    "spaceY": 50,
    "offsetX": 50,
    "offsetY": 50,
    "minWindowCount": 2,
    "envIds": [1, 2]
  }'
javascript
const response = await fetch('/api/windowbounds/sort/custom', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    type: 'box',
    startX: 0,
    startY: 0,
    width: 500,
    height: 400,
    col: 3,
    spaceX: 50,
    spaceY: 50,
    offsetX: 50,
    offsetY: 50,
    minWindowCount: 2,
    envIds: [1, 2]
  })
})
const data = await response.json()
console.log(data)
python
import requests

url = "http://127.0.0.1:50326/api/windowbounds/sort/custom"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}
data = {
    "type": "box",
    "startX": 0,
    "startY": 0,
    "width": 500,
    "height": 400,
    "col": 3,
    "spaceX": 50,
    "spaceY": 50,
    "offsetX": 50,
    "offsetY": 50,
    "minWindowCount": 2,
    "envIds": [1, 2]
}

response = requests.post(url, headers=headers, json=data)
print(response.json())

Parameter Description

ParameterTypeRequiredDescription
envIdsnumber[]NoEnvironment IDs
typestringYesLayout type (currently supports box (grid) and diagonal (diagonal layout))
widthnumberYesWindow width
heightnumberYesWindow height
colnumberYesNumber of columns
startXnumberYesStarting X coordinate
startYnumberYesStarting Y coordinate
spaceXnumberYesHorizontal spacing
spaceYnumberYesVertical spacing
offsetXnumberYesX offset
offsetYnumberYesY offset
minWindowCountnumberNoMinimum window count required to execute sorting

Client Window

1. Hide Client Window

POST/api/window/hide

Request Parameters

Request Example

http
POST /api/window/hide
Authorization: Bearer YOUR_API_KEY

Response Example

json
{
  "success": true,
  "data": { "message": "Window and tray are hidden", "windowHidden": true, "trayHidden": false },
  "message": "Success"
}

2. Show Client Window

POST/api/window/show

Request Parameters

Request Example

http
POST /api/window/show
Authorization: Bearer YOUR_API_KEY

Response Example

json
{
  "success": true,
  "data": { "message": "Window and tray are shown", "windowShown": true, "trayShown": true },
  "message": "Success"
}

14. Get Mobile Device List

GET/api/browser/mobile-devices

Get a list of available mobile devices, with optional OS filtering. Used for selecting device models when creating mobile browser environments.

Request Parameters

ParameterTypeRequiredDescription
osstringNoFilter by OS, options: Android or iOS

Request Example

bash
# Get all mobile devices
curl -X GET "http://127.0.0.1:50326/api/browser/mobile-devices" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Get Android devices
curl -X GET "http://127.0.0.1:50326/api/browser/mobile-devices?os=Android" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Get iOS devices
curl -X GET "http://127.0.0.1:50326/api/browser/mobile-devices?os=iOS" \
  -H "Authorization: Bearer YOUR_API_KEY"
javascript
// Get all mobile devices
const response = await fetch('/api/browser/mobile-devices', {
  method: 'GET',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY'
  }
})
const data = await response.json()
console.log(data)

// Filter by OS
const androidDevices = await fetch('/api/browser/mobile-devices?os=Android', {
  method: 'GET',
  headers: {
    Authorization: 'Bearer YOUR_API_KEY'
  }
}).then((res) => res.json())
python
import requests

headers = {
    "Authorization": "Bearer YOUR_API_KEY"
}

# Get all mobile devices
response = requests.get(
    "http://127.0.0.1:50326/api/browser/mobile-devices",
    headers=headers
)
print(response.json())

# Filter by OS
response = requests.get(
    "http://127.0.0.1:50326/api/browser/mobile-devices",
    headers=headers,
    params={"os": "Android"}
)
print(response.json())

Response Example

json
{
  "success": true,
  "data": {
    "total": 2,
    "list": [
      {
        "id": 1,
        "name": "iPhone 14 Pro",
        "os": "iOS",
        "resolution": "1179x2556",
        "platform": "iPhone"
      },
      {
        "id": 2,
        "name": "Samsung Galaxy S23",
        "os": "Android",
        "resolution": "1080x2340",
        "platform": "Linux armv8l"
      }
    ]
  },
  "message": "Success"
}

Response Fields

FieldTypeDescription
idnumberDevice ID
namestringDevice name
osstringOperating system (Android or iOS)
resolutionstringScreen resolution
platformstringPlatform identifier

Groups

1. Get Group List

GET/api/groups/list

Request Parameters

ParameterTypeRequiredDefaultDescription
currentnumberNo1Current page
pageSizenumberNo20Items per page

Request Example

http
GET /api/groups/list?current=1&pageSize=20
Authorization: Bearer YOUR_API_KEY

Response Example

json
{
  "success": true,
  "data": [
    {
      "id": 63,
      "name": "kkkk",
      "description": null,
      "orderGroup": 0,
      "userId": 4,
      "teamId": 1,
      "createTime": "2025-06-14T10:22:48.000Z",
      "updateTime": "2025-06-14T10:22:48.000Z",
      "envCount": 0
    },
    {
      "id": 61,
      "name": "vess",
      "description": null,
      "orderGroup": 2,
      "userId": 4,
      "teamId": 1,
      "createTime": "2025-06-11T08:19:03.000Z",
      "updateTime": "2025-06-11T08:19:03.000Z",
      "envCount": 0
    },
    {
      "id": 60,
      "name": "kkkk",
      "description": null,
      "orderGroup": 0,
      "userId": 4,
      "teamId": 1,
      "createTime": "2025-06-11T06:20:20.000Z",
      "updateTime": "2025-06-11T06:20:20.000Z",
      "envCount": 16
    },
    {
      "id": 59,
      "name": "aaa",
      "description": null,
      "orderGroup": 1,
      "userId": 4,
      "teamId": 1,
      "createTime": "2025-06-10T14:07:50.000Z",
      "updateTime": "2025-06-10T14:07:50.000Z",
      "envCount": 10
    }
  ],
  "total": 4,
  "current": 1,
  "pageSize": 10,
  "message": "Success"
}

Proxies

1. Get Proxy List

GET/api/proxies/list

Request Parameters

ParameterTypeRequiredDefaultDescription
currentnumberNo1Current page
pageSizenumberNo20Items per page

Request Example

http
GET /api/proxies/list?current=1&pageSize=20
Authorization: Bearer YOUR_API_KEY

Response Example

json
{
  "success": true,
  "data": [
    {
      "userIndex": 1,
      "address": "socks5://185.171.254.53:6085",
      "protocol": "socks5",
      "host": "185.171.254.53",
      "port": 6085,
      "username": "username",
      "password": "password",
      "timezone": "Europe/Amsterdam",
      "realIp": "185.171.254.53",
      "lastIp": "185.171.254.53",
      "lastCheckedTime": "2025-09-02T18:37:52.000Z",
      "ipChecker": "https://ipinfo.io",
      "ipChangeAction": null,
      "status": 2,
      "remark": null,
      "createdTime": "2025-09-01T18:08:08.000Z",
      "updatedTime": "2025-09-01T18:08:08.000Z",
      "userId": 20,
      "teamId": 1,
      "isDeleted": false,
      "groupId": null,
      "profileId": "8e27864c1a3146c5929f49ac4036d886",
      "proxyId": 1
    }
  ],
  "message": "Success"
}


Configuration Parameters

Resolutions

Desktop

5120x2880
2880x1800
2560x1600
2560x1440
2304x1440
2048x1152
1920x1200
1920x1080
1600x1200
1600x900
1400x1050
1400x900
1360x768
1280x1024
1280x960
1280x800
1280x720
1024x768
800x600

Mobile

320x569
360x640
360x720
360x740
360x748
360x760
360x780
411x731
414x896
480x853
480x854

Languages

sq-AL - Albanian - shqip
ak    - Akan - Akan
ar    - Arabic - العربية
an    - Aragonese - aragonés
am    - Amharic - አማርኛ
as    - Assamese - অসমীয়া
az-Cyrl-AZ    - Azerbaijani - azərbaycan
ast   - Asturian - asturianu
ee    - Ewe - Eʋegbe
ay    - Aymara - Aymar
ga    - Irish - Gaeilge
et-EE    - Estonian - eesti
oc    - Occitan - occitan
or    - Odia - ଓଡ଼ିଆ
om    - Oromo - Oromoo
eu    - Basque - euskara
be-BY    - Belarusian - беларуская
bm    - Bambara - bamanakan
bg-BG    - Bulgarian - български
nso    - Northern Sotho - Northern Sotho
is-IS    - Icelandic - íslenska
pl-PL    - Polish - polski
bs    - Bosnian - bosanski
fa    - Persian - فارسی
bho    - Bhojpuri - भोजपुरी
br    - Breton - brezhoneg
tn    - Tswana - Tswana
ts    - Tsonga - Xitsonga
tt    - Tatar - татар
da-DK    - Danish - dansk
de    - German - Deutsch
de-AT    - German (Austria) - Deutsch (Österreich)
de-DE    - German (Germany) - Deutsch (Deutschland)
de-LI    - German (Liechtenstein) - Deutsch (Liechtenstein)
de-CH    - German (Switzerland) - Deutsch (Schweiz)
dv    - Divehi - ދިވެހި
doi    - Dogri - डोगरी
ru    - Russian - русский
fo    - Faroese - føroyskt
fr    - French - français
fr-FR    - French (France) - français (France)
fr-CA    - French (Canada) - français (Canada)
fr-CH    - French (Switzerland) - français (Suisse)
sa    - Sanskrit - संस्कृत भाषा
fil-PH    - Filipino - Filipino
fi-FI    - Finnish - suomi
km    - Khmer - ខ្មែរ
ka-GE    - Georgian - ქართული
gu    - Gujarati - ગુજરાતી
gn    - Guarani - Guarani
ia    - Interlingua - interlingua
kk    - Kazakh - қазақ тілі
ht    - Haitian Creole - créole haïtien
ko    - Korean - 한국어
ha    - Hausa - Hausa
nl-NL    - Dutch - Nederlands
gl    - Galician - galego
ca    - Catalan - català
cs-CZ    - Czech - čeština
kn    - Kannada - ಕನ್ನಡ
ky    - Kyrgyz - кыргызча
xh    - Xhosa - IsiXhosa
co    - Corsican - Corsican
hr-HR    - Croatian - hrvatski
qu    - Quechua - Runasimi
kok    - Konkani - कोंकणी
ku    - Kurdish - Kurdî
la    - Latin - Latin
lv-LV    - Latvian - latviešu
lo-LA    - Lao - ລາວ
lt-LT    - Lithuanian - lietuvių
ln    - Lingala - lingála
lg    - Luganda - Luganda
lb    - Luxembourgish - Lëtzebuergesch
rw-RW    - Kinyarwanda - Kinyarwanda
ro-RO    - Romanian - română
mo    - Romanian (Moldova) - română (Republica Moldova)
rm    - Romansh - rumantsch
mt-MT    - Maltese - Malti
mr    - Marathi - मराठी
mg    - Malagasy - Malagasy
ml    - Malayalam - മലയാളം
ms    - Malay - Melayu
mk-MK    - Macedonian - македонски
mai    - Maithili - मैथिली
mni-Mtei    - Manipuri (Meitei) - mni (Mtei)
mi    - Maori - Māori
mn    - Mongolian - монгол
bn-BD    - Bengali - বাংলা
lus    - Mizo - Mizo tawng
my    - Burmese - မြန်မာ
hmn    - Hmong - Hmong
af  -  Afrikaans - Afrikaans
st    - Southern Sotho - Southern Sotho
ne-NP    - Nepali - नेपाली
nn    - Norwegian Nynorsk - norsk nynorsk
no    - Norwegian - norsk
pa    - Punjabi - ਪੰਜਾਬੀ
pt-PT    - Portuguese - português
pt-BR    - Portuguese (Brazil) - português (Brasil)
pt-PT    - Portuguese (Portugal) - português (Portugal)
ps    - Pashto - پښتو
ny    - Chichewa - Nyanja
tw    - Twi - Twi
chr    - Cherokee - ᏣᎳᎩ
ja-JP    - Japanese - 日本語
sv-SE    - Swedish - svenska
sm    - Samoan - Samoan
sh    - Serbo-Croatian - srpskohrvatski
sr-Latn-RS    - Serbian - српски
si    - Sinhala - සිංහල
sn   - Shona - chiShona
eo   - Esperanto - Esperanto
nb   - Norwegian Bokmål - norsk bokmål
sk-SK    - Slovak - slovenčina
sl-SI    - Slovenian - slovenščina
sw    - Swahili - Kiswahili
gd   - Scottish Gaelic - Gàidhlig
ceb  - Cebuano - Cebuano
so    - Somali - Soomaali
tg    - Tajik - тоҷикӣ
te    - Telugu - తెలుగు
ta    - Tamil - தமிழ்
th    - Thai - ไทย
to    - Tongan - lea fakatonga
ti    - Tigrinya - ትግርኛ
tr-TR    - Turkish - Türkçe
tk    - Turkmen - türkmen dili
wa    - Walloon - wa
cy    - Welsh - Cymraeg
ug    - Uyghur - ئۇيغۇرچە
wo    - Wolof - Wolof
ur    - Urdu - اردو
uk-UA    - Ukrainian - українська
uz    - Uzbek - o'zbek
es-ES     - Spanish - español
es-AR    - Spanish (Argentina) - español (Argentina)
es-CO    - Spanish (Colombia) - español (Colombia)
es-CR    - Spanish (Costa Rica) - español (Costa Rica)
es-HN   - Spanish (Honduras) - español (Honduras)
es-419   - Spanish (Latin America) - español (Latinoamérica)
es-US    - Spanish (United States) - español (Estados Unidos)
es-PE    - Spanish (Peru) - español (Perú)
es-MX   - Spanish (Mexico) - español (México)
es-VE    - Spanish (Venezuela) - español (Venezuela)
es-UY    - Spanish (Uruguay) - español (Uruguay)
es-ES    - Spanish (Spain) - español (España)
es-CL    - Spanish (Chile) - español (Chile)
fy    - Western Frisian - Frysk
he   - Hebrew - עברית
el-GR   - Greek - Ελληνικά
haw    - Hawaiian - ʻŌlelo Hawaiʻi
sd    - Sindhi - سنڌي
hu-HU    - Hungarian - magyar
su    - Sundanese - Basa Sunda
hy-AM    - Armenian - հայերեն
ig    - Igbo - Igbo
ilo   - Ilokano - Ilokano
it-IT    - Italian - italiano
it-CH - Italian (Switzerland) - italiano (Svizzera)
it-IT - Italian (Italy) - italiano (Italia)
yi    - Yiddish - ייִדיש
hi    - Hindi - हिन्दी
id-ID    - Indonesian - Indonesia
en    - English - English
en-IE - English (Ireland) - English (Ireland)
en-AU - English (Australia) - English (Australia)
en-CA - English (Canada) - English (Canada)
en-US - English (United States) - English (United States)
en-ZA - English (South Africa) - English (South Africa)
en-NZ - English (New Zealand) - English (New Zealand)
en-IN - English (India) - English (India)
en-GB-oxendict - English (UK, Oxford Dictionary) - English (United Kingdom)
en-GB - English (United Kingdom) - English (United Kingdom)
yo - Yoruba - Èdè Yorùbá
vi-VN - Vietnamese - Tiếng Việt
jv - Javanese - Jawa
ckb  - Central Kurdish - کوردیی ناوەندی
zh    - Chinese - 中文
zh-TW    - Chinese (Traditional) - 中文(繁體)
zh-CN    - Chinese (Simplified) - 中文(简体)
zh-HK    - Chinese (Hong Kong) - 中文(香港)
zu    - Zulu - isiZulu

Timezones

GMT-01:00 America/Scoresbysund
GMT-01:00 Atlantic/Azores
GMT-01:00 Atlantic/Cape_Verde
GMT-01:00 Etc/GMT+1
GMT-02:00 America/Noronha
GMT-02:00 Atlantic/South_Georgia
GMT-02:00 Etc/GMT+2
GMT-03:00 America/Araguaina
GMT-03:00 America/Argentina/Buenos_Aires
GMT-03:00 America/Argentina/Catamarca
GMT-03:00 America/Argentina/Cordoba
GMT-03:00 America/Argentina/Jujuy
GMT-03:00 America/Argentina/La_Rioja
GMT-03:00 America/Argentina/Mendoza
GMT-03:00 America/Argentina/Rio_Gallegos
GMT-03:00 America/Argentina/Salta
GMT-03:00 America/Argentina/San_Juan
GMT-03:00 America/Argentina/San_Luis
GMT-03:00 America/Argentina/Tucuman
GMT-03:00 America/Argentina/Ushuaia
GMT-03:00 America/Asuncion
GMT-03:00 America/Bahia
GMT-03:00 America/Belem
GMT-03:00 America/Cayenne
GMT-03:00 America/Fortaleza
GMT-03:00 America/Godthab
GMT-03:00 America/Maceio
GMT-03:00 America/Miquelon
GMT-03:00 America/Montevideo
GMT-03:00 America/Nuuk
GMT-03:00 America/Paramaribo
GMT-03:00 America/Punta_Arenas
GMT-03:00 America/Recife
GMT-03:00 America/Santarem
GMT-03:00 America/Santiago
GMT-03:00 America/Sao_Paulo
GMT-03:00 Antarctica/Palmer
GMT-03:00 Antarctica/Rothera
GMT-03:00 Atlantic/Stanley
GMT-03:00 Etc/GMT+3
GMT-03:30 America/St_Johns
GMT-04:00 America/Anguilla
GMT-04:00 America/Antigua
GMT-04:00 America/Aruba
GMT-04:00 America/Barbados
GMT-04:00 America/Blanc-Sablon
GMT-04:00 America/Boa_Vista
GMT-04:00 America/Campo_Grande
GMT-04:00 America/Caracas
GMT-04:00 America/Cuiaba
GMT-04:00 America/Curacao
GMT-04:00 America/Dominica
GMT-04:00 America/Glace_Bay
GMT-04:00 America/Goose_Bay
GMT-04:00 America/Grenada
GMT-04:00 America/Guadeloupe
GMT-04:00 America/Guyana
GMT-04:00 America/Halifax
GMT-04:00 America/Kralendijk
GMT-04:00 America/La_Paz
GMT-04:00 America/Lower_Princes
GMT-04:00 America/Manaus
GMT-04:00 America/Marigot
GMT-04:00 America/Martinique
GMT-04:00 America/Moncton
GMT-04:00 America/Montserrat
GMT-04:00 America/Port_of_Spain
GMT-04:00 America/Porto_Velho
GMT-04:00 America/Puerto_Rico
GMT-04:00 America/Santo_Domingo
GMT-04:00 America/St_Barthelemy
GMT-04:00 America/St_Kitts
GMT-04:00 America/St_Lucia
GMT-04:00 America/St_Thomas
GMT-04:00 America/St_Vincent
GMT-04:00 America/Thule
GMT-04:00 America/Tortola
GMT-04:00 Atlantic/Bermuda
GMT-04:00 Etc/GMT+4
GMT-05:00 America/Atikokan
GMT-05:00 America/Bogota
GMT-05:00 America/Cancun
GMT-05:00 America/Cayman
GMT-05:00 America/Detroit
GMT-05:00 America/Eirunepe
GMT-05:00 America/Grand_Turk
GMT-05:00 America/Guayaquil
GMT-05:00 America/Havana
GMT-05:00 America/Indiana/Indianapolis
GMT-05:00 America/Indiana/Marengo
GMT-05:00 America/Indiana/Petersburg
GMT-05:00 America/Indiana/Vevay
GMT-05:00 America/Indiana/Vincennes
GMT-05:00 America/Indiana/Winamac
GMT-05:00 America/Indianapolis
GMT-05:00 America/Iqaluit
GMT-05:00 America/Jamaica
GMT-05:00 America/Kentucky/Louisville
GMT-05:00 America/Kentucky/Monticello
GMT-05:00 America/Lima
GMT-05:00 America/Montreal
GMT-05:00 America/Nassau
GMT-05:00 America/New_York
GMT-05:00 America/Nipigon
GMT-05:00 America/Panama
GMT-05:00 America/Pangnirtung
GMT-05:00 America/Port-au-Prince
GMT-05:00 America/Rio_Branco
GMT-05:00 America/Thunder_Bay
GMT-05:00 America/Toronto
GMT-05:00 EST
GMT-05:00 EST5EDT
GMT-05:00 Etc/GMT+5
GMT-05:00 Pacific/Easter
GMT-06:00 America/Bahia_Banderas
GMT-06:00 America/Belize
GMT-06:00 America/Chicago
GMT-06:00 America/Costa_Rica
GMT-06:00 America/El_Salvador
GMT-06:00 America/Guatemala
GMT-06:00 America/Indiana/Knox
GMT-06:00 America/Indiana/Tell_City
GMT-06:00 America/Managua
GMT-06:00 America/Matamoros
GMT-06:00 America/Menominee
GMT-06:00 America/Merida
GMT-06:00 America/Mexico_City
GMT-06:00 America/Monterrey
GMT-06:00 America/North_Dakota/Beulah
GMT-06:00 America/North_Dakota/Center
GMT-06:00 America/North_Dakota/New_Salem
GMT-06:00 America/Rainy_River
GMT-06:00 America/Rankin_Inlet
GMT-06:00 America/Regina
GMT-06:00 America/Resolute
GMT-06:00 America/Swift_Current
GMT-06:00 America/Tegucigalpa
GMT-06:00 America/Winnipeg
GMT-06:00 CST6CDT
GMT-06:00 Etc/GMT+6
GMT-06:00 Pacific/Galapagos
GMT-07:00 America/Boise
GMT-07:00 America/Cambridge_Bay
GMT-07:00 America/Chihuahua
GMT-07:00 America/Creston
GMT-07:00 America/Dawson
GMT-07:00 America/Dawson_Creek
GMT-07:00 America/Denver
GMT-07:00 America/Edmonton
GMT-07:00 America/Fort_Nelson
GMT-07:00 America/Hermosillo
GMT-07:00 America/Inuvik
GMT-07:00 America/Mazatlan
GMT-07:00 America/Ojinaga
GMT-07:00 America/Phoenix
GMT-07:00 America/Whitehorse
GMT-07:00 America/Yellowknife
GMT-07:00 Etc/GMT+7
GMT-07:00 MST
GMT-07:00 MST7MDT
GMT-08:00 America/Los_Angeles
GMT-08:00 America/Tijuana
GMT-08:00 America/Vancouver
GMT-08:00 Etc/GMT+8
GMT-08:00 Pacific/Pitcairn
GMT-08:00 PST8PDT
GMT-09:00 America/Anchorage
GMT-09:00 America/Juneau
GMT-09:00 America/Metlakatla
GMT-09:00 America/Nome
GMT-09:00 America/Sitka
GMT-09:00 America/Yakutat
GMT-09:00 Etc/GMT+9
GMT-09:00 Pacific/Gambier
GMT-09:30 Pacific/Marquesas
GMT-10:00 America/Adak
GMT-10:00 Etc/GMT+10
GMT-10:00 HST
GMT-10:00 Pacific/Honolulu
GMT-10:00 Pacific/Rarotonga
GMT-10:00 Pacific/Tahiti
GMT-11:00 Etc/GMT+11
GMT-11:00 Pacific/Midway
GMT-11:00 Pacific/Niue
GMT-11:00 Pacific/Pago_Pago
GMT-12:00 Etc/GMT+12
GMT+00:00 Africa/Abidjan
GMT+00:00 Africa/Accra
GMT+00:00 Africa/Bamako
GMT+00:00 Africa/Banjul
GMT+00:00 Africa/Bissau
GMT+00:00 Africa/Conakry
GMT+00:00 Africa/Dakar
GMT+00:00 Africa/Freetown
GMT+00:00 Africa/Lome
GMT+00:00 Africa/Monrovia
GMT+00:00 Africa/Nouakchott
GMT+00:00 Africa/Ouagadougou
GMT+00:00 Africa/Sao_Tome
GMT+00:00 America/Danmarkshavn
GMT+00:00 Antarctica/Troll
GMT+00:00 Atlantic/Canary
GMT+00:00 Atlantic/Faroe
GMT+00:00 Atlantic/Madeira
GMT+00:00 Atlantic/Reykjavik
GMT+00:00 Atlantic/St_Helena
GMT+00:00 Etc/GMT
GMT+00:00 Etc/GMT-0
GMT+00:00 Etc/GMT+0
GMT+00:00 Etc/GMT0
GMT+00:00 Etc/Greenwich
GMT+00:00 Etc/Universal
GMT+00:00 Etc/Zulu
GMT+00:00 Europe/Dublin
GMT+00:00 Europe/Guernsey
GMT+00:00 Europe/Isle_of_Man
GMT+00:00 Europe/Jersey
GMT+00:00 Europe/Lisbon
GMT+00:00 Europe/London
GMT+00:00 GMT
GMT+00:00 UTC
GMT+00:00 WET
GMT+01:00 Africa/Algiers
GMT+01:00 Africa/Bangui
GMT+01:00 Africa/Brazzaville
GMT+01:00 Africa/Casablanca
GMT+01:00 Africa/Ceuta
GMT+01:00 Africa/Douala
GMT+01:00 Africa/El_Aaiun
GMT+01:00 Africa/Kinshasa
GMT+01:00 Africa/Lagos
GMT+01:00 Africa/Libreville
GMT+01:00 Africa/Luanda
GMT+01:00 Africa/Malabo
GMT+01:00 Africa/Ndjamena
GMT+01:00 Africa/Niamey
GMT+01:00 Africa/Porto-Novo
GMT+01:00 Africa/Tunis
GMT+01:00 Arctic/Longyearbyen
GMT+01:00 CET
GMT+01:00 Etc/GMT-1
GMT+01:00 Europe/Amsterdam
GMT+01:00 Europe/Andorra
GMT+01:00 Europe/Belgrade
GMT+01:00 Europe/Berlin
GMT+01:00 Europe/Bratislava
GMT+01:00 Europe/Brussels
GMT+01:00 Europe/Budapest
GMT+01:00 Europe/Busingen
GMT+01:00 Europe/Copenhagen
GMT+01:00 Europe/Gibraltar
GMT+01:00 Europe/Ljubljana
GMT+01:00 Europe/Luxembourg
GMT+01:00 Europe/Madrid
GMT+01:00 Europe/Malta
GMT+01:00 Europe/Monaco
GMT+01:00 Europe/Oslo
GMT+01:00 Europe/Paris
GMT+01:00 Europe/Podgorica
GMT+01:00 Europe/Prague
GMT+01:00 Europe/Rome
GMT+01:00 Europe/San_Marino
GMT+01:00 Europe/Sarajevo
GMT+01:00 Europe/Skopje
GMT+01:00 Europe/Stockholm
GMT+01:00 Europe/Tirane
GMT+01:00 Europe/Vaduz
GMT+01:00 Europe/Vatican
GMT+01:00 Europe/Vienna
GMT+01:00 Europe/Warsaw
GMT+01:00 Europe/Zagreb
GMT+01:00 Europe/Zurich
GMT+01:00 MET
GMT+02:00 Africa/Blantyre
GMT+02:00 Africa/Bujumbura
GMT+02:00 Africa/Cairo
GMT+02:00 Africa/Gaborone
GMT+02:00 Africa/Harare
GMT+02:00 Africa/Johannesburg
GMT+02:00 Africa/Khartoum
GMT+02:00 Africa/Kigali
GMT+02:00 Africa/Lubumbashi
GMT+02:00 Africa/Lusaka
GMT+02:00 Africa/Maputo
GMT+02:00 Africa/Maseru
GMT+02:00 Africa/Mbabane
GMT+02:00 Africa/Tripoli
GMT+02:00 Africa/Windhoek
GMT+02:00 Asia/Amman
GMT+02:00 Asia/Beirut
GMT+02:00 Asia/Damascus
GMT+02:00 Asia/Famagusta
GMT+02:00 Asia/Gaza
GMT+02:00 Asia/Hebron
GMT+02:00 Asia/Jerusalem
GMT+02:00 Asia/Nicosia
GMT+02:00 EET
GMT+02:00 Etc/GMT-2
GMT+02:00 Europe/Athens
GMT+02:00 Europe/Bucharest
GMT+02:00 Europe/Chisinau
GMT+02:00 Europe/Helsinki
GMT+02:00 Europe/Kaliningrad
GMT+02:00 Europe/Kiev
GMT+02:00 Europe/Mariehamn
GMT+02:00 Europe/Nicosia
GMT+02:00 Europe/Riga
GMT+02:00 Europe/Sofia
GMT+02:00 Europe/Tallinn
GMT+02:00 Europe/Uzhgorod
GMT+02:00 Europe/Vilnius
GMT+02:00 Europe/Zaporozhye
GMT+03:00 Africa/Addis_Ababa
GMT+03:00 Africa/Asmara
GMT+03:00 Africa/Dar_es_Salaam
GMT+03:00 Africa/Djibouti
GMT+03:00 Africa/Juba
GMT+03:00 Africa/Kampala
GMT+03:00 Africa/Mogadishu
GMT+03:00 Africa/Nairobi
GMT+03:00 Antarctica/Syowa
GMT+03:00 Asia/Aden
GMT+03:00 Asia/Baghdad
GMT+03:00 Asia/Bahrain
GMT+03:00 Asia/Istanbul
GMT+03:00 Asia/Kuwait
GMT+03:00 Asia/Qatar
GMT+03:00 Asia/Riyadh
GMT+03:00 Etc/GMT-3
GMT+03:00 Europe/Istanbul
GMT+03:00 Europe/Kirov
GMT+03:00 Europe/Minsk
GMT+03:00 Europe/Moscow
GMT+03:00 Europe/Simferopol
GMT+03:00 Indian/Antananarivo
GMT+03:00 Indian/Comoro
GMT+03:00 Indian/Mayotte
GMT+03:30 Asia/Tehran
GMT+04:00 Asia/Baku
GMT+04:00 Asia/Dubai
GMT+04:00 Asia/Muscat
GMT+04:00 Asia/Tbilisi
GMT+04:00 Asia/Yerevan
GMT+04:00 Etc/GMT-4
GMT+04:00 Europe/Astrakhan
GMT+04:00 Europe/Samara
GMT+04:00 Europe/Saratov
GMT+04:00 Europe/Ulyanovsk
GMT+04:00 Europe/Volgograd
GMT+04:00 Indian/Mahe
GMT+04:00 Indian/Mauritius
GMT+04:00 Indian/Reunion
GMT+04:30 Asia/Kabul
GMT+05:00 Antarctica/Mawson
GMT+05:00 Asia/Aqtau
GMT+05:00 Asia/Aqtobe
GMT+05:00 Asia/Ashgabat
GMT+05:00 Asia/Atyrau
GMT+05:00 Asia/Dushanbe
GMT+05:00 Asia/Karachi
GMT+05:00 Asia/Oral
GMT+05:00 Asia/Qyzylorda
GMT+05:00 Asia/Samarkand
GMT+05:00 Asia/Tashkent
GMT+05:00 Asia/Yekaterinburg
GMT+05:00 Etc/GMT-5
GMT+05:00 Indian/Kerguelen
GMT+05:00 Indian/Maldives
GMT+05:30 Asia/Calcutta
GMT+05:30 Asia/Colombo
GMT+05:30 Asia/Kolkata
GMT+05:45 Asia/Kathmandu
GMT+05:45 Asia/Katmandu
GMT+06:00 Antarctica/Vostok
GMT+06:00 Asia/Almaty
GMT+06:00 Asia/Bishkek
GMT+06:00 Asia/Dhaka
GMT+06:00 Asia/Omsk
GMT+06:00 Asia/Qostanay
GMT+06:00 Asia/Thimphu
GMT+06:00 Asia/Urumqi
GMT+06:00 Etc/GMT-6
GMT+06:00 Indian/Chagos
GMT+06:30 Asia/Yangon
GMT+06:30 Indian/Cocos
GMT+07:00 Antarctica/Davis
GMT+07:00 Asia/Bangkok
GMT+07:00 Asia/Barnaul
GMT+07:00 Asia/Ho_Chi_Minh
GMT+07:00 Asia/Hovd
GMT+07:00 Asia/Jakarta
GMT+07:00 Asia/Krasnoyarsk
GMT+07:00 Asia/Novokuznetsk
GMT+07:00 Asia/Novosibirsk
GMT+07:00 Asia/Phnom_Penh
GMT+07:00 Asia/Pontianak
GMT+07:00 Asia/Tomsk
GMT+07:00 Asia/Vientiane
GMT+07:00 Etc/GMT-7
GMT+07:00 Indian/Christmas
GMT+08:00 Asia/Brunei
GMT+08:00 Asia/Choibalsan
GMT+08:00 Asia/Hong_Kong
GMT+08:00 Asia/Irkutsk
GMT+08:00 Asia/Kuala_Lumpur
GMT+08:00 Asia/Kuching
GMT+08:00 Asia/Macau
GMT+08:00 Asia/Makassar
GMT+08:00 Asia/Manila
GMT+08:00 Asia/Shanghai
GMT+08:00 Asia/Singapore
GMT+08:00 Asia/Taipei
GMT+08:00 Asia/Ulaanbaatar
GMT+08:00 Australia/Perth
GMT+08:00 Etc/GMT-8
GMT+08:45 Australia/Eucla
GMT+09:00 Asia/Chita
GMT+09:00 Asia/Dili
GMT+09:00 Asia/Jayapura
GMT+09:00 Asia/Khandyga
GMT+09:00 Asia/Pyongyang
GMT+09:00 Asia/Seoul
GMT+09:00 Asia/Tokyo
GMT+09:00 Asia/Yakutsk
GMT+09:00 Etc/GMT-9
GMT+09:00 Pacific/Palau
GMT+09:30 Australia/Darwin
GMT+10:00 Antarctica/DumontDUrville
GMT+10:00 Asia/Ust-Nera
GMT+10:00 Asia/Vladivostok
GMT+10:00 Australia/Brisbane
GMT+10:00 Australia/Lindeman
GMT+10:00 Etc/GMT-10
GMT+10:00 Pacific/Chuuk
GMT+10:00 Pacific/Guam
GMT+10:00 Pacific/Port_Moresby
GMT+10:00 Pacific/Saipan
GMT+10:30 Australia/Adelaide
GMT+10:30 Australia/Broken_Hill
GMT+11:00 Antarctica/Casey
GMT+11:00 Antarctica/Macquarie
GMT+11:00 Asia/Magadan
GMT+11:00 Asia/Sakhalin
GMT+11:00 Asia/Srednekolymsk
GMT+11:00 Australia/Currie
GMT+11:00 Australia/Hobart
GMT+11:00 Australia/Lord_Howe
GMT+11:00 Australia/Melbourne
GMT+11:00 Australia/Sydney
GMT+11:00 Etc/GMT-11
GMT+11:00 Pacific/Bougainville
GMT+11:00 Pacific/Efate
GMT+11:00 Pacific/Guadalcanal
GMT+11:00 Pacific/Kosrae
GMT+11:00 Pacific/Noumea
GMT+11:00 Pacific/Pohnpei
GMT+12:00 Asia/Anadyr
GMT+12:00 Asia/Kamchatka
GMT+12:00 Etc/GMT-12
GMT+12:00 Pacific/Fiji
GMT+12:00 Pacific/Funafuti
GMT+12:00 Pacific/Kwajalein
GMT+12:00 Pacific/Majuro
GMT+12:00 Pacific/Nauru
GMT+12:00 Pacific/Norfolk
GMT+12:00 Pacific/Tarawa
GMT+12:00 Pacific/Wake
GMT+12:00 Pacific/Wallis
GMT+13:00 Antarctica/McMurdo
GMT+13:00 Etc/GMT-13
GMT+13:00 Pacific/Auckland
GMT+13:00 Pacific/Enderbury
GMT+13:00 Pacific/Fakaofo
GMT+13:00 Pacific/Tongatapu
GMT+13:45 Pacific/Chatham
GMT+14:00 Etc/GMT-14
GMT+14:00 Pacific/Apia
GMT+14:00 Pacific/Kiritimati