Skip to content

Developer/API

API documentation for interacting with OmniLogin features. API calls return these statuses:

  • 200: Success
  • 400: Syntax error
  • 404: Resource not found
  • 500: Server error or invalid characters

Only include body values you want to modify; omit unchanged ones.

Browser

Open Browser

Open a profile using GET with these parameters:

  • profile_id: Profile ID to open
  • remote_debug_port: Port to use (random if empty, 1-65536 range)
  • scale: Scale UI (e.g., zoom level, regardless of screen/OS)
  • headless: Open without showing window (true/false)
  • addition_args: Additional args (e.g., ?addition_args=[arg1]&addition_args=[arg2], see here)

Example: Open profile ID 21696 with the browser window visible: http://localhost:35353/open?profile_id=21696&headless=false

Close Browser by Profile ID

Close a profile by ID using GET.

Example: Close profile ID 19092: http://localhost:35353/stop/19092

Proxy

Get Proxies

Search proxies by name, date_created, date_updated, sort order, page, and page size.

Example: Find proxies named "proxy1", ascending, page 1, size 20: http://localhost:35353/proxies?sort=name&sort_type=desc&page=1&pageSize=20&q=proxy1

Add New Proxy

Add a proxy using POST with body values:

  • name: Proxy name (string)
  • proxy_type: Type (string, HTTPS, HTTP, Socks5)
  • host: Proxy host (string)
  • port: Proxy port (number)
  • user_name: Username (string)
  • password: Password (string)

Example: Add proxy "pro2", HTTPS, host "123.456.789.012", port 12345, user "adminomni", pass "adminthomas": http://localhost:35353/proxies with body:

json
{
  "name": "pro2",
  "proxy_type": "HTTPS",
  "host": "123.456.789.012",
  "port": 12345,
  "user_name": "adminomni",
  "password": "adminthomas"
}

Get a Proxy by ID

Get a proxy by ID using GET.

Example: Get proxy ID 189: http://localhost:35353/proxies/189

Update an existing proxy

Update a proxy using PUT with body values (same as Add New Proxy).

Example: Update proxy ID 189 from "pro2" to "pro21", HTTP, host "121.456.789.012", user "adminomni1", pass "adminthomas1": http://localhost:35353/proxies/189 with body:

json
{
  "name": "pro21",
  "proxy_type": "HTTP",
  "host": "121.456.789.012",
  "port": 12345,
  "user_name": "adminomni1",
  "password": "adminthomas1"
}

Delete Proxy

Delete a proxy by ID using DELETE.

Example: Delete proxy ID 189: http://localhost:35353/proxies/189

Profile

Get All Profiles

Search profiles by:

  • sort: name, date_created, date_updated
  • sort_type: asc or desc
  • page: Page number
  • pageSize: Items per page
  • q: Search by name, date_created, or date_updated

Example: Find profiles named "123edaksjd", ascending, page 1, size 20: http://localhost:35353/profiles?sort=name&sort_type=desc&page=1&pageSize=20&q=123edaksjd

Add New Profile

Create a profile using POST with body values:

  • name: Profile name (string)
  • account: Profile details (notes, cookie, userDataType, userData)
  • fingerprint: Timezone, tzValue, web_rtc, public_ip, screen_resolution, fonts, canvas, web_gl_image_type, web_gl_type, audio_context, client_rects, lang, operating_system, user_agent, omni_browser_version
  • embedded_proxy: Proxy details (name, proxy_type, host, port, user_name, password)
  • idProxy: Proxy ID from Proxy Management
  • dest_url: Default URL on open
  • group: Group ID

Example: Create profile "rjwdn13" in group ID 1, auto-generate rest: http://localhost:35353/profiles with body:

json
{
  "name": "rjwdn13",
  "group": { "id": "1" }
}

Example with custom operating_system and omni_browser_version:

json
{
  "name": "rjwdn13",
  "fingerprint": {
    "operating_system": "android",
    "omni_browser_version": "63"
  },
  "group": { "id": "1" }
}

Add a new profile based on select profile

Clone a profile using POST with body values (name, account, embedded_proxy, idProxy).

Example: Clone profile ID 21702 to "iqwends1214": http://localhost:35353/profiles/21702/clone with body:

json
{ "name": "iqwends1214" }

Get a profile by id

Get a profile by ID using GET.

Example: Get profile ID 21703: http://localhost:35353/profiles/21703

Deletes a Profile

Delete a profile by ID using DELETE.

Example: Delete profile ID 21703 with data: http://localhost:35353/profiles/21703?deleteData=y

Update name an existing profile

Update a profile name using PUT with body { "name": "newName" }.

Example: Rename profile ID 21702 from "213adsnasd" to "jbdkjadqe": http://localhost:35353/profiles/21702/name with body:

json
{ "name": "jbdkjadqe" }

Update status of an existing profile

Update profile status (e.g., "red", "blue", or Hex #00FFF) using PUT with body { "status": "color" }.

Example: Set profile ID 21702 to "red": http://localhost:35353/profiles/21702/status with body:

json
{ "status": "red" }

Update disabled Proxy Status of profile

Toggle proxy (true=disable, false=enable) using PUT with body { "disabled": boolean }.

Example: Enable proxy for profile ID 21702: http://localhost:35353/profiles/21702/disable-proxy with body:

json
{ "disabled": false }

Update tags of an existing profile

Update tags for profiles using PUT with body { "tags": [], "ids": [], "append": boolean }.

Example: Add tag "test1" to profile ID 21702: http://localhost:35353/profiles/tags with body:

json
{ "tags": ["test1"], "ids": ["21702"], "append": true }

Example: Add tags "test2", "test3", "test4" to IDs 21702, 21704, 21705:

json
{ "tags": ["test2", "test3", "test4"], "ids": ["21702", "21704", "21705"], "append": true }

Update fingerprint an existing profile

Update fingerprint using PUT with body (same fingerprint fields as Add New Profile).

Example: Change omni_browser_version to 60 for profile ID 21702: http://localhost:35353/profiles/21702/fingerprint with body:

json
{ "omni_browser_version": "60" }

Change Proxy for Profiles

Assign a proxy from Proxy Management using PUT with body { "proxyId": string, "profileIds": [] }.

Example: Set proxy ID 190 for profile ID 21702: http://localhost:35353/profiles/proxy with body:

json
{ "proxyId": "190", "profileIds": ["21702"] }

Example: Set for IDs 21702, 21703:

json
{ "proxyId": "190", "profileIds": ["21702", "21703"] }

Change Embedded Proxy for Profiles

Update with a new proxy using PUT with body { "proxy": {...}, "profileIds": [] } (same proxy fields as Add New Proxy).

Example: Update proxy for ID 21702 from "pro2" to "pro21": http://localhost:35353/profiles/embedded-proxy with body:

json
{
  "proxy": {
    "name": "pro21",
    "proxy_type": "HTTP",
    "host": "121.456.789.012",
    "port": 12345,
    "user_name": "adminomni1",
    "password": "adminthomas1"
  },
  "profileIds": ["21702"]
}

Example: Update for IDs 21702, 21704:

json
{
  "proxy": {
    "name": "pro21",
    "proxy_type": "HTTP",
    "host": "121.456.789.012",
    "port": 12345,
    "user_name": "adminomni1",
    "password": "adminthomas1"
  },
  "profileIds": ["21702", "21704"]
}

Group

Get Groups

Search groups by:

  • sort: name, date_created, date_updated
  • sort_type: asc or desc
  • page: Page number
  • pageSize: Items per page
  • q: Search by name, date_created, or date_updated

Example: Find groups named "script1", ascending, page 1, size 50: http://localhost:35353/groups?sort=name&sort_type=asc&page=1&pageSize=50&q=script1

Add a New Group

Add a group using POST with body { "name": "groupName" }.

Example: Add group "nhom111": http://localhost:35353/groups with body:

json
{ "name": "nhom111" }

Get Group by ID

Get a group by ID using GET.

Example: Get group ID 12: http://localhost:35353/groups/12

Update an existing group

Update a group name using PUT with body { "name": "newName" }.

Example: Rename group ID 12 to "nhom111": http://localhost:35353/groups/12 with body:

json
{ "name": "nhom111" }

Delete a Group

Delete a group by ID using DELETE.

Example: Delete group ID 12: http://localhost:35353/groups/12

Automation

Start Workflow

Run a workflow by ID from Copy Workflow ID using POST.

Example: Start workflow ID de75360c-0231-45fb-9cca-4c35ad259ff8: http://localhost:35353/automation/workflow/de75360c-0231-45fb-9cca-4c35ad259ff8/start

Stop a Workflow

Stop a workflow by ID using PUT.

Example: Stop workflow ID de75360c-0231-45fb-9cca-4c35ad259ff8: http://localhost:35353/automation/workflow/de75360c-0231-45fb-9cca-4c35ad259ff8/stop

Stop All Running Workflows

Stop all running workflows using PUT.

Example: http://localhost:35353/automation/workflow/stop

Get status of a task

Get workflow status using taskId from Start Workflow with GET.

Example: Check status for task ID 2025042917425399118: http://localhost:35353/automation/task/2025042917425399118/status