API Reference
The Incogniton API 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.
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.
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
curl -X POST http://localhost:35000/profile/add \
-H "Content-Type: application/json"
-d '{
"profileData": {
"Timezone": {
"fill_timezone_based_on_ip": false,
"timezone_offset": "+01:00",
"timezone_name": "Europe/Berlin"
},
"general_profile_information": {
"profile_browser_version": "120",
"simulated_operating_system": "Linux",
"profile_name": "Automation Bot",
"browser_id": "a1b2c3d4-e5f6-7890-ab12-cd34ef56gh78",
"profile_notes": "Automated task profile",
"profile_group": "Automation",
"profile_last_edited": "2025-03-10"
},
"WebRTC": {
"local_ip": "10.10.10.100",
"public_ip": "",
"behavior": "Masked",
"set_external_ip": true
},
"Other": {
"browser_allowRealMediaDevices": false,
"active_session_lock": false,
"other_ShowProfileName": false,
"custom_browser_args_enabled": false,
"browser_language_lock": false,
"custom_browser_language": "fr-FR",
"custom_browser_args_string": ""
}
}
}'
Example Response
{
"profileData": {
"Timezone": {
"fill_timezone_based_on_ip": false,
"timezone_offset": "+01:00",
"timezone_name": "Europe/Berlin"
},
"general_profile_information": {
"profile_browser_version": "120",
"simulated_operating_system": "Linux",
"profile_name": "Automation Bot",
"browser_id": "a1b2c3d4-e5f6-7890-ab12-cd34ef56gh78",
"profile_notes": "Automated task profile",
"profile_group": "Automation",
"profile_last_edited": "2025-03-10"
},
"WebRTC": {
"local_ip": "10.10.10.100",
"public_ip": "",
"behavior": "Masked",
"set_external_ip": true
},
"Other": {
"browser_allowRealMediaDevices": false,
"active_session_lock": false,
"other_ShowProfileName": false,
"custom_browser_args_enabled": false,
"browser_language_lock": false,
"custom_browser_language": "fr-FR",
"custom_browser_args_string": ""
}
},
"status": "ok"
}
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
curl -G http://localhost:35000/profile/launch/{profile_id} \
# Path params: profile_id=123e4567-e89b-12d3-a456-426614174000
Example Response
{
"message": "Profile launched",
"status": "ok"
}
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
curl -G http://localhost:35000/profile/launch/{profile_id}/force/local \
# Path params: profile_id={profile_id}
Example Response
{
"message": "Profile launched",
"status": "ok"
}
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
curl -G http://localhost:35000/profile/launch/{profile_id}/force/cloud \
# Path params: profile_id={profile_id}
Example Response
{
"message": "Profile launched",
"status": "ok"
}
Update a profile
Updates a browser profile with the specified settings.
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
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
curl -X POST http://localhost:35000/profile/update \
-H "Content-Type: application/json"
-d '{
"profileData": {
"profile_browser_id": "e2124f8a-0a05-48e3-b26a-0b5349c779f5",
"general_profile_information": {
"profile_name": "Example Account",
"profile_notes": "",
"profile_group": "Unassigned",
"profile_last_edited": "",
"simulated_operating_system": "Windows",
"profile_browser_version": "117"
},
"Proxy": {
"connection_type": "HTTP proxy",
"proxy_url": "123.123.123.123:4444",
"proxy_username": "USERNAME",
"proxy_password": "PASSWORD",
"proxy_rotating": "0"
},
"Timezone": {
"fill_timezone_based_on_ip": true,
"timezone_name": "Africa/Abidjan",
"timezone_offset": "0"
},
"WebRTC": {
"set_external_ip": true,
"behavior": "Altered",
"public_ip": "",
"local_ip": "192.168.0.01"
},
"Navigator": {
"user_agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36",
"screen_resolution": "1920x1080",
"languages": "en_US",
"navigator_languageIPToggle": "0",
"platform": "Win32",
"do_not_track": true,
"hardware_concurrency": 6,
"navigator_useragent_always_latest": false
},
"Other": {
"active_session_lock": true,
"other_ShowProfileName": true,
"custom_browser_args_enabled": false,
"custom_browser_args_string": "",
"browser_language_lock": false,
"custom_browser_language": ""
}
}
}'
Example Response
{
"message": "profile updated",
"status": "ok"
}
List all profiles
Retrieve a comprehensive list of all browser profiles associated with your account.
List all profiles
curl -G http://localhost:35000/profile/all
Example Response
{
"profiles": [
{
"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
},
"unblocked_free_proxy_settings": {
"unblocked_free_proxy_country": "IN",
"unblocked_free_proxy_enabled": true
},
"proxy": {
"connection_type": "Without proxy",
"proxy_rotating": 0,
"proxy_provider": "main-ipinfo"
},
"custom_dns": {
"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
}
},
{
"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
},
"unblocked_free_proxy_settings": {
"unblocked_free_proxy_country": "US",
"unblocked_free_proxy_enabled": true
},
"proxy": {
"connection_type": "Without proxy",
"proxy_rotating": 0,
"proxy_provider": "main-ipinfo"
},
"custom_dns": {
"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 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
curl -G http://localhost:35000/profile/get/{profile_id} \
# Path params: profile_id=profile_id
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
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
curl -G http://localhost:35000/profile/status/{profile_id} \
# Path params: profile_id={profile_id}
Example Response
{
"status": "Ready"
}
Stop a profile
Stops a launched profile
Path Parameters
- Name
profile_id
- Type
- string
- Description
The browser profile ID
Stop a profile
curl -G http://localhost:35000/profile/stop/{profile_id} \
# Path params: profile_id=profile_id
Example Response
{
"message": "Profile stopped",
"status": "ok"
}
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
curl -G http://localhost:35000/profile/delete/{profile_id} \
# Path params: profile_id={profile_id}
Example Response
{
"message": "profile removed",
"status": "ok"
}
Cookie operations
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.
Add Cookie to profile
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. Use
base64json
.
- Name
cookie
- Type
- string
- Description
The cookie data, provided as a Base64-encoded JSON string.
Add Cookie to profile
curl -X POST http://localhost:35000/profile/addCookie
Example Response
{
"profile_browser_id": "9fdd851d-8a3b-431b-a994-d49448980c68",
"format": "base64json",
"cookie": "BASE64ENCODEDJSONCOOKIE"
}
Get Cookie from profile
Retrieves cookie data associated with a specific profile. The response returns a JSON object containing a CookieData
array with one or more cookie entries (each with details such as name and value).
Path Parameters
- Name
profile_id
- Type
- string
- Description
The unique identifier of the profile whose cookie data is being retrieved.
Get Cookie from profile
curl -G http://localhost:35000/profile/cookie/{profile_id} \
# Path params: profile_id={profile_id}
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"
}
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
curl -G http://localhost:35000/profile/deleteCookie/{profile_id} \
# Path params: profile_id={profile_id}
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 JavaScript
or Selenium Python
to streamline and enhance your automation tasks.
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
curl -G http://localhost:35000/automation/launch/puppeteer/{profile_id} \
# Path params: profile_id=7093ddfd-58d2-4c7a-b7e7-647d85be9c3f
Example Response
{
"puppeteerUrl": "http://127.0.0.1:60128",
"status": "ok"
}
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
curl -G http://localhost:35000/automation/launch/python/{profile_id} \
# Path params: profile_id=7093ddfd-58d2-4c7a-b7e7-647d85be9c3f
Example Response
{
"status": "ok"
}
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
customArgs
- Type
- string
- Description
Custom command-line arguments for launching the browser, such as enabling headless mode.
Launch Puppeteer Custom
curl -X POST http://localhost:35000/automation/launch/puppeteer \
-H "Content-Type: application/json"
-d '{
"profileID": "7093ddfd-58d2-4c7a-b7e7-647d85be9c3f",
"customArgs": "--headless=new"
}'
Example Response
{
"puppeteerUrl": "http://127.0.0.1:60128",
"status": "ok"
}
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
curl -X POST http://localhost:35000/automation/launch/python/{profile_id}/ \
# Path params: profile_id={profile_id} \
-H "Content-Type: application/json"
-d '{
"customArgs": "--headless=new"
}'
Example Response
{
"status": "ok"
}