API Reference

The Incogniton API Reference provides a complete set of endpoints for managing browser profiles, cookies, and automation workflows. It details the technical specifications and methods for programmatically creating, configuring, launching, and deleting profiles, ensuring precise control over the Incogniton browser for integration with your development environment.


Profile Operations

The Profile Operations endpoints allow you to manage browser profiles on the Incogniton platform. Create, retrieve, launch, and delete profiles to efficiently handle configuration and automation workflows.


POST/profile/add

Add a profile

Creates a new browser profile using the provided configuration details, including general profile information, proxy settings, timezone, WebRTC, navigator settings, and other options. The profile document can be sent either wrapped in a top-level profileData key or as the bare document at the top level — both shapes are accepted.

Body Parameters

  • Name
    profileData
    Type
    object
    Description

    An object containing all configuration settings required to create or update a browser profile, including general information, proxy, timezone, WebRTC, navigator, and additional custom options.

Add a profile

POST
/profile/add
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.profile.add({
    "profile_name": "New Profile",
    "platform": "windows",
    "userAgent": "Mozilla/5.0"
  });
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "profile_browser_id": "e06d24a7-ccd2-456e-86d4-1e8a572bfae5",
  "status": "ok"
}

GET/profile/launch/{profile_id}

Launch profile

This endpoint initiates the launch of a specific browser profile. It starts the profile session using the configuration specified in your settings.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The unique identifier of the profile to launch.

Launch profile

GET
/profile/launch/{profile_id}
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.profile.launch("PROFILE_ID");
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "message": "Profile launched",
  "status": "ok"
}

GET/profile/launch/{profile_id}/force/local

Launch profile force Local sync

Launches a browser profile and forces synchronization using the latest local backup. It helps solve out-of-sync or related browser profile issues.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The browser profile ID.

Launch profile force Local sync

GET
/profile/launch/{profile_id}/force/local
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.profile.launchForceLocal("PROFILE_ID");
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "message": "Profile launched",
  "status": "ok"
}

GET/profile/launch/{profile_id}/force/cloud

Launch profile force Cloud sync

Launches a browser profile and forces synchronization using the latest cloud backup. It helps solve out-of-sync or similar browser profile issues.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The browser profile ID.

Launch profile force Cloud sync

GET
/profile/launch/{profile_id}/force/cloud
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.profile.launchForceCloud("PROFILE_ID");
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "message": "Profile launched",
  "status": "ok"
}

POST/profile/update

Update a profile

Updates a browser profile with the specified settings. The document can be sent either wrapped in a top-level profileData key or as the bare document — both shapes are accepted. Either way it must include a top-level profile_browser_id identifying the profile to update.

Body Parameters

  • Name
    profile_browser_id
    Type
    string
    Description

    The unique identifier of the browser profile.

  • Name
    general_profile_information
    Type
    object
    Description

    Encapsulates core profile details including the display name, notes, group, last edited timestamp, simulated operating system, and browser version.

  • Name
    unblocked_free_proxy_country
    Type
    object
    Description

    Manages the selection and configuration of the built-in Unblocked free proxy for this profile, including whether it is enabled and which country to route traffic through.

  • Name
    proxy
    Type
    object
    Description

    Defines the proxy connection settings including type, URL, authentication credentials, rotation options, and provider information.

  • Name
    timezone
    Type
    object
    Description

    Specifies the timezone configuration for a profile, supporting both automatic IP-based detection and manual timezone settings.

  • Name
    webRTC
    Type
    object
    Description

    Configures WebRTC settings to manage IP exposure, including options to set custom external and local IP addresses and specify the behavior mode.

  • Name
    navigator
    Type
    object
    Description

    Contains browser navigator settings for fingerprint consistency, including the User-Agent, screen resolution, language settings, and platform details.

  • Name
    other
    Type
    object
    Description

    Provides additional, miscellaneous configuration options to fine-tune profile behavior, including session locking, display settings, custom browser arguments, and language preferences.

Update a profile

POST
/profile/update
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.profile.update("PROFILE_ID", {
    "profile_id": "PROFILE_ID",
    "name": "Updated profile",
    "platform": "windows",
    "userAgent": "Mozilla/5.0",
    "proxy": {
      "host": "proxy.example.com",
      "port": 8080,
      "username": "user",
      "password": "pass"
    }
  });
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "message": "Profile updated",
  "status": "ok"
}

GET/profile/all

List all profiles

Retrieve a comprehensive list of all browser profiles associated with your account.

List all profiles

GET
/profile/all
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.profile.list();
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "profileData": [
    {
      "Timezone": {
        "fill_timezone_based_on_ip": true,
        "timezone_offset": "+03:00",
        "timezone_name": "Africa/Addis_Ababa"
      },
      "general_profile_information": {
        "profile_browser_version": "129",
        "simulated_operating_system": "mac",
        "profile_name": "Profile 1",
        "profile_group": "Unassigned",
        "profile_last_edited": "2025-02-04"
      },
      "Geolocation": {
        "fill_geolocation_based_on_ip": true,
        "behavior": "Prompt",
        "location_information": {
          "latitude": "8.46",
          "longitude": "39.38",
          "accuracy": "3212.0"
        }
      },
      "Navigator": {
        "navigator_languageIPToggle": true,
        "hardware_concurrency": "SIXTEEN",
        "languages": "en_US",
        "do_not_track": false,
        "screen_resolution": "1360x768",
        "navigator_useragent_always_latest": true,
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.182 Safari/537.36",
        "platform": "MacIntel",
        "navigator_deviceMemory": "8",
        "navigator_useragent_match_chrome_core": false
      },
      "Media_devices": {
        "audio_outputs": 2,
        "video_outputs": 2,
        "enable_media_masking": true,
        "audio_inputs": 4
      },
      "Fonts": {
        "enable_font_list_masking": true,
        "enable_unicode_glyps_domrect": false
      },
      "Extensions": {
        "contains_extensions": false
      },
      "UnblockedFreeProxySettings": {
        "unblocked_free_proxy_country": "IN",
        "unblocked_free_proxy_enabled": true
      },
      "Proxy": {
        "connection_type": "Without proxy",
        "proxy_rotating": 0,
        "proxy_provider": "main-ipinfo"
      },
      "CustomDNS": {
        "customDNS_enabled": true
      },
      "Hardware": {
        "WebGL": {
          "WebGL_meta": {
            "WebGL_meta_behavior": "Mask"
          },
          "WebGL_image": {
            "WebGL_behavior": "Off"
          }
        },
        "Canvas": {
          "Canvas_behavior": "Off"
        },
        "AudioContext": {
          "Audio_Context_behavior": "Noise"
        }
      },
      "WebRTC": {
        "behavior": "Altered",
        "set_external_ip": true
      },
      "Other": {
        "browser_allowRealMediaDevices": false,
        "other_try_to_pass_iphey": false,
        "active_session_lock": true,
        "other_ShowProfileName": true,
        "custom_browser_args_enabled": false,
        "browser_language_lock": true,
        "other_doNotShowChromeSettings": false
      }
    },
    {
      "Timezone": {
        "fill_timezone_based_on_ip": true,
        "timezone_offset": "-05:00",
        "timezone_name": "America/Indiana/Vincennes"
      },
      "general_profile_information": {
        "profile_browser_version": "131",
        "simulated_operating_system": "mac",
        "profile_name": "Profile 2",
        "profile_group": "Unassigned",
        "profile_last_edited": "2025-02-04"
      },
      "Geolocation": {
        "fill_geolocation_based_on_ip": true,
        "behavior": "Prompt",
        "location_information": {
          "latitude": "41.88",
          "longitude": "-86.31",
          "accuracy": "2501.0"
        }
      },
      "Navigator": {
        "navigator_languageIPToggle": true,
        "hardware_concurrency": "SIX",
        "languages": "en_US",
        "do_not_track": false,
        "screen_resolution": "1600x900",
        "navigator_useragent_always_latest": true,
        "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.139 Safari/537.36",
        "platform": "MacIntel",
        "navigator_deviceMemory": "8",
        "navigator_useragent_match_chrome_core": false
      },
      "Media_devices": {
        "audio_outputs": 3,
        "video_outputs": 3,
        "enable_media_masking": true,
        "audio_inputs": 3
      },
      "Fonts": {
        "enable_font_list_masking": true,
        "enable_unicode_glyps_domrect": false
      },
      "Extensions": {
        "contains_extensions": false
      },
      "UnblockedFreeProxySettings": {
        "unblocked_free_proxy_country": "US",
        "unblocked_free_proxy_enabled": true
      },
      "Proxy": {
        "connection_type": "Without proxy",
        "proxy_rotating": 0,
        "proxy_provider": "main-ipinfo"
      },
      "CustomDNS": {
        "customDNS_enabled": false
      },
      "Hardware": {
        "WebGL": {
          "WebGL_meta": {
            "WebGL_meta_behavior": "Mask"
          },
          "WebGL_image": {
            "WebGL_behavior": "Off"
          }
        },
        "Canvas": {
          "Canvas_behavior": "Off"
        },
        "AudioContext": {
          "Audio_Context_behavior": "Noise"
        }
      },
      "WebRTC": {
        "behavior": "Altered",
        "set_external_ip": true
      },
      "Other": {
        "browser_allowRealMediaDevices": false,
        "other_try_to_pass_iphey": false,
        "active_session_lock": true,
        "other_ShowProfileName": true,
        "custom_browser_args_enabled": false,
        "browser_language_lock": true,
        "other_doNotShowChromeSettings": false
      }
    }
  ],
  "status": "ok"
}

GET/profile/get/{profile_id}

Get profile information

Returns detailed profile data including timezone, general info, geolocation, navigator settings, media devices, fonts, extensions, proxy, customDNS, hardware, WebRTC configuration, and other custom options, with a status indicator.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The browser profile ID

Get profile information

GET
/profile/get/{profile_id}
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.profile.get("PROFILE_ID");
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "profileData": {
    "Timezone": {
      "fill_timezone_based_on_ip": "true",
      "timezone_offset": "-05:00",
      "timezone_name": "America/Indiana/Vincennes"
    },
    "general_profile_information": {
      "profile_browser_version": "131",
      "simulated_operating_system": "mac",
      "profile_name": "Profile 1",
      "profile_notes": "",
      "profile_group": "Unassigned",
      "profile_last_edited": "2025-02-04"
    },
    "Geolocation": {
      "fill_geolocation_based_on_ip": "true",
      "behavior": "Prompt",
      "location_information": {
        "latitude": "41.88",
        "accuracy": "2501.0",
        "longitude": "-86.31"
      }
    },
    "Navigator": {
      "navigator_languageIPToggle": true,
      "hardware_concurrency": "SIX",
      "languages": "en_US",
      "do_not_track": false,
      "screen_resolution": "1600x900",
      "navigator_useragent_always_latest": true,
      "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.139 Safari/537.36",
      "platform": "MacIntel",
      "navigator_deviceMemory": "8",
      "navigator_useragent_match_chrome_core": false
    },
    "Media_devices": {
      "audio_outputs": 3,
      "video_outputs": 3,
      "enable_media_masking": "true",
      "audio_inputs": 3
    },
    "Fonts": {
      "enable_font_list_masking": "true",
      "enable_unicode_glyps_domrect": "false"
    },
    "Extensions": {
      "contains_extensions": "false"
    },
    "UnblockedFreeProxySettings": {
      "unblocked_free_proxy_country": "US",
      "unblocked_free_proxy_enabled": true
    },
    "Proxy": {
      "connection_type": "Without proxy",
      "proxy_rotation_api_url": "",
      "proxy_rotating": 0,
      "proxy_provider": "main-ipinfo",
      "proxy_url": ""
    },
    "CustomDNS": {
      "customDNS_enabled": "false",
      "customDNS_details": ""
    },
    "Hardware": {
      "WebGL": {
        "WebGL_meta": {
          "WebGL_meta_behavior": "Mask"
        },
        "WebGL_image": {
          "WebGL_behavior": "Off"
        }
      },
      "Canvas": {
        "Canvas_behavior": "Off"
      },
      "AudioContext": {
        "Audio_Context_behavior": "Noise"
      }
    },
    "WebRTC": {
      "behavior": "Altered",
      "set_external_ip": true
    },
    "Other": {
      "browser_allowRealMediaDevices": "false",
      "other_try_to_pass_iphey": "false",
      "active_session_lock": "true",
      "other_ShowProfileName": "true",
      "custom_browser_args_enabled": "false",
      "browser_language_lock": "true",
      "custom_browser_language": "",
      "custom_browser_args_string": "",
      "other_doNotShowChromeSettings": "false"
    }
  },
  "status": "ok"
}

GET/profile/status/{profile_id}

Get profile status

Returns the current status of a specific profile, which may be ready, launching, launched, syncing, synced, etc.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The unique identifier of the profile for which the status is retrieved.

Get profile status

GET
/profile/status/{profile_id}
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.profile.getStatus("PROFILE_ID");
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "status": "Ready"
}

GET/profile/stop/{profile_id}

Stop a profile

Stops a launched profile

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The browser profile ID

Stop a profile

GET
/profile/stop/{profile_id}
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.profile.stop("PROFILE_ID");
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "message": "Profile stopped",
  "status": "ok"
}

GET/profile/force-stop/{profile_id}

Force stop a profile

Forcefully stops a launched profile, terminating all associated processes and connections.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The browser profile ID

Force stop a profile

GET
/profile/force-stop/{profile_id}
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.profile.forceStop("PROFILE_ID");
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "message": "Profile force stopped",
  "status": "ok"
}

GET/profile/delete/{profile_id}

Delete a profile

Deletes the profile with the specified ID.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The unique identifier of the profile to be deleted.

Delete a profile

GET
/profile/delete/{profile_id}
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.profile.delete("PROFILE_ID");
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "message": "Profile removed",
  "status": "ok"
}

POST/profile/clone

Clone a profile with custom settings

Clones an existing profile, letting you choose which settings to copy (cookies, user agent, advanced settings, other browser data) and optionally set a name and group for the clone. The settings can be sent either as bare top-level fields or wrapped in a top-level profileCloneData key — both shapes are accepted.

Body Parameters

  • Name
    profile_browser_id
    Type
    string
    Description

    Browser id of the source profile.

  • Name
    profile_name
    Type
    string
    Description

    Name for the clone. Defaults to the source profile's name.

  • Name
    target_group
    Type
    string
    Description

    Group for the clone. Defaults to the source profile's group.

  • Name
    clone_cookies
    Type
    boolean
    Description

    Copy cookies.

  • Name
    clone_advanced_other_settings
    Type
    boolean
    Description

    Copy advanced/other settings.

  • Name
    clone_useragent
    Type
    boolean
    Description

    Copy the user agent.

  • Name
    clone_other_browser_data
    Type
    boolean
    Description

    Copy other browser data.

Clone a profile with custom settings

POST
/profile/clone
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.profile.clone("PROFILE_ID")
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

{
  "status": "ok",
  "profile_browser_id": "<profile_browser_id>"
}

GET/profile/clone/{profile_id}

Clone a profile using all-true defaults

Clones with the same name + group as the source and every clone_* option on.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    Browser id of the source profile.

Clone a profile using all-true defaults

GET
/profile/clone/{profile_id}
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.profile.clone_quick("PROFILE_ID")
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

{
  "status": "ok",
  "profile_browser_id": "<profile_browser_id>"
}

GET/profile/dryLaunch/{profile_id}

Prepare a launch without starting the browser

Runs only the prep stages (validate / proxy / sync / server-args / build-command) and returns the built launch command as 'arg'. For clients that want to spawn Chrome themselves or inspect what the launcher would do.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The profile's browser id.

Prepare a launch without starting the browser

GET
/profile/dryLaunch/{profile_id}
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.profile.dry_launch("PROFILE_ID")
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

{
  "status": "ok",
  "message": "Profile launched",
  "arg": "<arg>"
}

GET/profile/dryLaunch/{profile_id}/force/local

Dry-launch, forcing the LOCAL copy when out of sync

No description available

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The profile's browser id.

Dry-launch, forcing the LOCAL copy when out of sync

GET
/profile/dryLaunch/{profile_id}/force/local
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.profile.dry_launch_force_local("PROFILE_ID")
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

{
  "status": "ok",
  "arg": "<arg>"
}

GET/profile/dryLaunch/{profile_id}/force/cloud

Dry-launch, forcing the CLOUD copy when out of sync

No description available

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The profile's browser id.

Dry-launch, forcing the CLOUD copy when out of sync

GET
/profile/dryLaunch/{profile_id}/force/cloud
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.profile.dry_launch_force_cloud("PROFILE_ID")
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

{
  "status": "ok",
  "arg": "<arg>"
}

The Cookie Operations endpoints let you manage cookie data for Incogniton profiles. Retrieve, add, and delete cookies to maintain session integrity and support seamless authentication.


POST/profile/addCookie

Adds a cookie to a specified Incogniton profile. Requires the profile's unique ID, base64json format, and Base64-encoded JSON cookie data.

Body Parameters

  • Name
    profile_browser_id
    Type
    string
    Description

    The unique identifier of the profile in Incogniton.

  • Name
    format
    Type
    string
    Description

    Specifies the encoding format of the cookie data (case-insensitive). One of json, netscape, base64json, or base64netscape.

  • Name
    cookie
    Type
    string
    Description

    The cookie data, provided as a Base64-encoded JSON string.

Add Cookie to profile

POST
/profile/addCookie
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.cookie.add("PROFILE_ID", );
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "message": "Cookies imported",
  "status": "ok"
}

GET/profile/cookie/{profile_id}

Retrieves cookie data associated with a specific profile. The response returns a JSON object containing a cookie array with one or more cookie entries (each with details such as name and value). Wire quirk: the array is returned under the key CookieData — note the trailing space — preserved for backward compatibility; parse for that exact key.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The unique identifier of the profile whose cookie data is being retrieved.

Get Cookie from profile

GET
/profile/cookie/{profile_id}
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.cookie.get("PROFILE_ID");
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "CookieData ": [
    {
      "path": "/",
      "session": false,
      "domain": ".example.com",
      "hostOnly": false,
      "sameSite": "no_restriction",
      "name": "SESSION_ID",
      "httpOnly": true,
      "secure": true,
      "value": "generic-session-id",
      "expirationDate": 1760000000
    },
    {
      "path": "/",
      "session": false,
      "domain": "auth.example.org",
      "hostOnly": true,
      "sameSite": "unspecified",
      "name": "user_token",
      "httpOnly": false,
      "secure": true,
      "value": "generic-user-token",
      "expirationDate": 1780000000
    },
    {
      "path": "/",
      "session": false,
      "domain": "auth.example.org",
      "hostOnly": true,
      "sameSite": "unspecified",
      "name": "device_id",
      "httpOnly": false,
      "secure": true,
      "value": "generic-device-id",
      "expirationDate": 1780000000
    },
    {
      "path": "/",
      "session": false,
      "domain": ".generic-site.net",
      "hostOnly": false,
      "sameSite": "no_restriction",
      "name": "auth_token",
      "httpOnly": false,
      "secure": true,
      "value": "generic-auth-token-1",
      "expirationDate": 1755000000
    },
    {
      "path": "/",
      "session": false,
      "domain": ".generic-site.eu",
      "hostOnly": false,
      "sameSite": "no_restriction",
      "name": "auth_token",
      "httpOnly": false,
      "secure": true,
      "value": "generic-auth-token-2",
      "expirationDate": 1755000000
    },
    {
      "path": "/",
      "session": false,
      "domain": "www.generic-site.net",
      "hostOnly": true,
      "sameSite": "unspecified",
      "name": "session_key",
      "httpOnly": false,
      "secure": false,
      "value": "generic-session-key",
      "expirationDate": 1765000000
    },
    {
      "path": "/",
      "session": false,
      "domain": ".www.generic-site.net",
      "hostOnly": false,
      "sameSite": "unspecified",
      "name": "cache_data",
      "httpOnly": false,
      "secure": true,
      "value": "{\"expire\":1760000000,\"items\":[\"item1\",\"item2\"]}",
      "expirationDate": 1760000000
    },
    {
      "path": "/",
      "session": false,
      "domain": ".www.generic-site.net",
      "hostOnly": false,
      "sameSite": "unspecified",
      "name": "theme",
      "httpOnly": false,
      "secure": true,
      "value": "light",
      "expirationDate": 1770000000
    },
    {
      "path": "/",
      "session": false,
      "domain": ".www.generic-site.net",
      "hostOnly": false,
      "sameSite": "unspecified",
      "name": "theme_source",
      "httpOnly": false,
      "secure": true,
      "value": "manual",
      "expirationDate": 1770000000
    },
    {
      "path": "/",
      "session": false,
      "domain": ".generic-site.net",
      "hostOnly": false,
      "sameSite": "unspecified",
      "name": "chain_token",
      "httpOnly": true,
      "secure": true,
      "value": "generic-chain-token",
      "expirationDate": 1760000000
    },
    {
      "path": "/",
      "session": false,
      "domain": ".generic-site.net",
      "hostOnly": false,
      "sameSite": "lax",
      "name": "csrf_token",
      "httpOnly": true,
      "secure": true,
      "value": "generic-csrf-token",
      "expirationDate": 0
    },
    {
      "path": "/",
      "session": false,
      "domain": ".generic-site.net",
      "hostOnly": false,
      "sameSite": "no_restriction",
      "name": "tracking_id",
      "httpOnly": true,
      "secure": true,
      "value": "generic-tracking-id",
      "expirationDate": 1780000000
    }
  ],
  "message": "Successfully exported cookies",
  "status": "ok"
}

GET/profile/deleteCookie/{profile_id}

Delete cookies from profile

Remove all stored cookies associated with the specified profile, ensuring a clean browsing session.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The unique identifier of the profile whose cookies will be deleted.

Delete cookies from profile

GET
/profile/deleteCookie/{profile_id}
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.cookie.delete("PROFILE_ID");
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "message": "Cookies successfully deleted",
  "status": "ok"
}

Automation Operations

The Automation Operations endpoints enable automated browser sessions using Incogniton profiles. Launch sessions via Puppeteer or Selenium to streamline and enhance your automation tasks.


GET/automation/launch/puppeteer/{profile_id}

Launch Puppeteer Default

This endpoint launches an automated Puppeteer browser session using a specific profile. The profile ID is passed as a URL parameter so that the server can retrieve the corresponding browser configuration

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The unique identifier of the profile to be launched.

Launch Puppeteer Default

GET
/automation/launch/puppeteer/{profile_id}
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.automation.launchPuppeteer("PROFILE_ID");
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "puppeteerUrl": "http://127.0.0.1:60128",
  "status": "ok"
}

GET/automation/launch/python/{profile_id}

Launch Selenium Default

Launches an automated Selenium browser session using a specific profile. The profile ID is provided as a URL parameter so that the server can retrieve the corresponding browser configuration and initiate the session with default Python settings.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The unique identifier of the profile to be launched with Selenium.

Launch Selenium Default

GET
/automation/launch/python/{profile_id}
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.automation.launchSelenium("PROFILE_ID");
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "url": "127.0.0.1:9515/7093ddfd-58d2-4c7a-b7e7-647d85be9c3f",
  "dataDict": "{}",
  "successes": [],
  "errors": [],
  "status": "ok"
}

POST/automation/launch/puppeteer

Launch Puppeteer Custom

Launches a Puppeteer-controlled browser session using a specified profile. This allows automation of browsing tasks with a customized environment, including custom command-line arguments such as headless mode.

Body Parameters

  • Name
    profileID
    Type
    string
    Description

    The unique identifier of the profile to be used for launching the session.

  • Name
    forceLocal
    Type
    boolean
    Description

    Force the local copy when out of sync. The legacy alias force sets the same flag.

  • Name
    forceCloud
    Type
    boolean
    Description

    Force the cloud copy when out of sync.

  • Name
    customArgs
    Type
    string
    Description

    Custom command-line arguments for launching the browser, such as enabling headless mode.

Launch Puppeteer Custom

POST
/automation/launch/puppeteer
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.automation.launchPuppeteerCustom("PROFILE_ID", );
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "puppeteerUrl": "http://127.0.0.1:60128",
  "status": "ok"
}

POST/automation/launch/python/{profile_id}/

Launch Selenium Custom

Launches a Selenium-controlled browser session with custom command-line arguments, allowing modifications like headless mode while preserving the specified profile's browsing environment.

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The unique identifier of the profile to be used for launching the session.

Body Parameters

  • Name
    customArgs
    Type
    string
    Description

    Custom command-line arguments for launching the browser, such as enabling headless mode.

Launch Selenium Custom

POST
/automation/launch/python/{profile_id}/
import { IncognitonClient } from "incogniton";

const client = new IncognitonClient();

const run = async () => {
  const response = await client.automation.launchSeleniumCustom("PROFILE_ID", );
  console.log(response);
};

run();

// Don't forget to run "npm install incogniton" 

Example Response

{
  "url": "127.0.0.1:9515/7093ddfd-58d2-4c7a-b7e7-647d85be9c3f",
  "dataDict": "{}",
  "successes": [],
  "errors": [],
  "status": "ok"
}

GET/automation/launch/puppeteer/{profile_id}/local

Launch for Puppeteer, forcing the LOCAL copy

No description available

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The profile's browser id.

Launch for Puppeteer, forcing the LOCAL copy

GET
/automation/launch/puppeteer/{profile_id}/local
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.automation.launch_puppeteer_force_local("PROFILE_ID")
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

{
  "status": "ok",
  "puppeteerUrl": "<puppeteerUrl>"
}

GET/automation/launch/puppeteer/{profile_id}/cloud

Launch for Puppeteer, forcing the CLOUD copy

No description available

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The profile's browser id.

Launch for Puppeteer, forcing the CLOUD copy

GET
/automation/launch/puppeteer/{profile_id}/cloud
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.automation.launch_puppeteer_force_cloud("PROFILE_ID")
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

{
  "status": "ok",
  "puppeteerUrl": "<puppeteerUrl>"
}

GET/automation/launch/python/{profile_id}/local

Launch on the Selenium grid, forcing the LOCAL copy

No description available

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The profile's browser id.

Launch on the Selenium grid, forcing the LOCAL copy

GET
/automation/launch/python/{profile_id}/local
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.automation.launch_selenium_force_local("PROFILE_ID")
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

{
  "status": "ok",
  "url": "<url>"
}

GET/automation/launch/python/{profile_id}/cloud

Launch on the Selenium grid, forcing the CLOUD copy

No description available

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The profile's browser id.

Launch on the Selenium grid, forcing the CLOUD copy

GET
/automation/launch/python/{profile_id}/cloud
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.automation.launch_selenium_force_cloud("PROFILE_ID")
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

{
  "status": "ok",
  "url": "<url>"
}

POST/automation/launch/python/

Launch on the Selenium grid with custom args (POST)

Note the trailing slash is part of the registered path. Profile id comes from the profileID field.

Body Parameters

  • Name
    profileID
    Type
    string
    Description

    The profile's browser id.

  • Name
    forceLocal
    Type
    boolean
    Description

    Force the local copy when out of sync. The legacy alias 'force' sets the same flag.

  • Name
    forceCloud
    Type
    boolean
    Description

    Force the cloud copy when out of sync.

  • Name
    customArgs
    Type
    string
    Description

    Extra args passed to the launch.

Launch on the Selenium grid with custom args (POST)

POST
/automation/launch/python/
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.automation.launch_selenium_custom_body("PROFILE_ID")
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

{
  "status": "ok",
  "url": "<url>"
}

GET/automation/cookieRobot/{profile_id}

Forces the cloud copy and uses default settings (top-50 sites, 120s timeout, accept-cookies extension, random crawl order).

Path Parameters

  • Name
    profile_id
    Type
    string
    Description

    The profile's browser id.

Run the cookie-collection robot on a profile

GET
/automation/cookieRobot/{profile_id}
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.automation.launch_cookie_robot("PROFILE_ID")
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

{
  "status": "ok",
  "message": "Cookie robot launched"
}

System Operations

The System Operations endpoints let you check and control the Incogniton application itself.


GET/alive

Health probe

Checks that the Incogniton app is running and reachable. Returns the plain-text string OK — this is the only endpoint that does not return a JSON response.

Health probe

GET
/alive
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.system.alive()
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

"OK"

GET/incogniton/close

Shut down the Incogniton application

Shuts down the Incogniton application. The API responds before the app closes, so the response always reaches the client.

Shut down the Incogniton application

GET
/incogniton/close
from incogniton import IncognitonClient
import asyncio

client = IncognitonClient()


async def run():
    response = await client.system.close()
    print(response)

asyncio.run(run())

# Don't forget to run "pip install incogniton"

Example Response

{
  "status": "ok",
  "message": "Closing"
}

Was this page helpful?