Vision

Instant profiles

Introduction

Vision provides the ability to launch a “one-time” profile. This profile will be launched immediately after the launch request is executed, and upon closure, this profile will be deleted and unavailable for subsequent use. At the same time, data from the profile (cookies) will be included in the response to the profile closure request.

This feature is useful for automation specialists whose work does not involve using a profile after its initial launch and subsequent shutdown.

Important! All parameters described below are optional.

No parameters are required to start the profile; specify them only if you need to start the profile with specific values.

Base URL for launching Instant profile

GET
http://127.0.0.1:3030/start/instant

Use the GET method to run the profile without parameters. In this case, the profile will be run with a random fingerprint, and the OS fingerprint will match yours.

POST
http://127.0.0.1:3030/start/instant

Use the POST method to launch the profile with the parameters specified in the request body.

Base URL for stopping Instant profile

GET
http://127.0.0.1:3030/stop/instant/{PROFILE_ID}

Request

Request headers

Prop

Type

Request body

Prop

Type

Fingerprint object

Prop

Type

You can get a list of available time zones by sending a request to the Local API. More details are available here.

The list of available languages can also be obtained by making a similar request.

Screen object

Prop

Type

webgl_renderer parameter

Prop

Type

You can get a list of available graphics cards by sending a request to the Local API. More details are available here.

media_devices object

Prop

Type

geolocation object

Prop

Type

noise object

If noise does not need to be applied to any of the above parameters, the noise object can be omitted.

If noise needs to be specified for only one or two of the three parameters, the remaining parameters do not need to be specified in the noise object.

Prop

Type

canvas parameter

If you need to disable Canvas, set the value to off. If you need Real mode, do not specify the canvas parameter in the fingerprint object.

Prop

Type

webgl parameter

If you need to disable WebGL, set the value to off. If you need Real mode, do not specify the webgl parameter in the fingerprint object.

Prop

Type

webrtc parameter

If you need to disable WebRTC, set the value to off. If you need to specify the value Manual, specify the IP address in string format, for example, 1.1.1.1. If you need Auto mode, do not specify the webrtc parameter in the fingerprint object.

Prop

Type

ports_protection parameter

Prop

Type

behavior object

Prop

Type

Start Instant profile

Examples of requests to launch an Instant profile without parameters

const url =  "http://127.0.0.1:3030/start/instant"; const options = {  method: "GET",  headers: {    "X-Token": "Your Token",   }, };fetch(url, options)  .then((response) => {    response.json().then((data) => {      console.log(data);    });  })  .catch((error) => {    console.error(error);  });
import requestsurl = 'http://127.0.0.1:3030/start/instant' headers = {    'X-Token': 'Your Token',    'Content-Type': 'application/json'}response = requests.get(url, headers=headers)print(response.json())
<?php$url = "http://127.0.0.1:3030/start/instant";$token = "Your Token"; $headers = array(  'X-Token: '.$token,  'Content-Type: application/json');$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);$data = curl_exec($ch);if (curl_errno($ch)) {    print "Error: " . curl_error($ch);} else {    var_dump($data);    curl_close($ch);}?>
// Requires tokio with features = ["macros", "rt-multi-thread"]// Requires reqwest with features = ["json"]// Requires serde_json#[tokio::main]async fn main() {    let url = "http://127.0.0.1:3030/start/instant";    let token = "Token";     let client = reqwest::Client::new();    let response = client        .get(url)        .header("X-Token", token)        .send()        .await        .expect("Failed to send request")        .json::<serde_json::Value>()        .await        .expect("Failed to parse response");    dbg!(response);}
package mainimport (	"io"	"net/http")func main() {	url := "http://127.0.0.1:3030/start/instant"	token := "Your Token"    	client := http.Client{}	req, err := http.NewRequest("GET", url, nil)	if err != nil {		panic(err)	}	req.Header.Add("X-Token", token)        	resp, err := client.Do(req)	if err != nil {		panic(err)	}	defer resp.Body.Close()	body, _ := io.ReadAll(resp.Body)	println(string(body))}
var url = "http://127.0.0.1:3030/start/instant";var token = "Your Token"; var client = new HttpClient();client.DefaultRequestHeaders.Add("X-Token", token);var response = await client.GetAsync(url);var content = await response.Content.ReadAsStringAsync();Console.WriteLine(content);

Response

Response data

Prop

Type

Response example

{
success: true,
profile_id: "039e50ce-6748-43c3-81ca-9d16aece007e",
port: 61453
}

Examples of requests to launch an Instant profile with all parameters

const url =  "http://127.0.0.1:3030/start/instant"; const body = {  "name": "Profile 1",  "os": "macos",  "version": 142,  "smart": "standard",  "fingerprint": {    "navigator": {      "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",      "language": "en-GB",      "languages": [        "en-GB",        "en",        "en-US",        "en"      ],      "timezone": "America/New_York",      "hardware_concurrency": 8,      "device_memory": 8    },    "screen": {      "resolution": "1920x1080",      "pixel_ratio": 2    },    "webgl_renderer": "Apple M3",    "media_devices": {      "audio_input": 1,      "audio_output": 1,      "video_input": 1    },    "geolocation": {      "latitude": 40.7128,      "longitude": -74.006,      "accuracy": 100    },    "noise": {      "canvas": true,      "webgl": true,      "client_rects": true    },    "canvas": "off",    "webgl": "off",    "webrtc": "1.1.1.1",    "ports_protection": [      3389,      5900,      5901    ]  },  "proxy": "socks5://user:pass@1.1.1.1:5555",  "extensions": [    "C:\\extension1",    "C:\\extension2"  ],  "cookies": [    {      "domain": ".google.com",      "name": "1P_JAR",      "value": "2021-11-10-11",      "path": "/",      "expires": 1639134293,      "secure": true,      "http_only": false,      "same_site": "none"    }  ],  "behavior": {    "urls": [      "https://google.com/"    ],    "args": [      "--flag"    ],    "headless": false,    "remote_debugging_port": 61374,    "timeout": 3  }}const options = {  method: "POST",  headers: {    "X-Token": "Your Token",     "Content-Type": "application/json"  },   body: JSON.stringify(body)};fetch(url, options)  .then((response) => {    response.json().then((data) => {      console.log(data);    });  })  .catch((error) => {    console.error(error);  });
import requestsurl = 'http://127.0.0.1:3030/start/instant' body = {  "name": "Profile 1",  "os": "macos",  "version": 142,  "smart": "standard",  "fingerprint": {    "navigator": {      "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",      "language": "en-GB",      "languages": [        "en-GB",        "en",        "en-US",        "en"      ],      "timezone": "America/New_York",      "hardware_concurrency": 8,      "device_memory": 8    },    "screen": {      "resolution": "1920x1080",      "pixel_ratio": 2    },    "webgl_renderer": "Apple M3",    "media_devices": {      "audio_input": 1,      "audio_output": 1,      "video_input": 1    },    "geolocation": {      "latitude": 40.7128,      "longitude": -74.006,      "accuracy": 100    },    "noise": {      "canvas": true,      "webgl": true,      "client_rects": true    },    "canvas": "off",    "webgl": "off",    "webrtc": "1.1.1.1",    "ports_protection": [      3389,      5900,      5901    ]  },  "proxy": "socks5://user:pass@1.1.1.1:5555",  "extensions": [    "C:\\extension1",    "C:\\extension2"  ],  "cookies": [    {      "domain": ".google.com",      "name": "1P_JAR",      "value": "2021-11-10-11",      "path": "/",      "expires": 1639134293,      "secure": true,      "http_only": false,      "same_site": "none"    }  ],  "behavior": {    "urls": [      "https://google.com/"    ],    "args": [      "--flag"    ],    "headless": false,    "remote_debugging_port": 61374,    "timeout": 3  }}headers = {    'X-Token': 'Your Token',    'Content-Type': 'application/json'}response = requests.post(url, headers=headers, json=body)print(response.json())
<?php$url = "http://127.0.0.1:3030/start/instant";$token = "Your Token"; $body = '{  "name": "Profile 1",  "os": "macos",  "version": 142,  "smart": "standard",  "fingerprint": {    "navigator": {      "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",      "language": "en-GB",      "languages": [        "en-GB",        "en",        "en-US",        "en"      ],      "timezone": "America/New_York",      "hardware_concurrency": 8,      "device_memory": 8    },    "screen": {      "resolution": "1920x1080",      "pixel_ratio": 2    },    "webgl_renderer": "Apple M3",    "media_devices": {      "audio_input": 1,      "audio_output": 1,      "video_input": 1    },    "geolocation": {      "latitude": 40.7128,      "longitude": -74.006,      "accuracy": 100    },    "noise": {      "canvas": true,      "webgl": true,      "client_rects": true    },    "canvas": "off",    "webgl": "off",    "webrtc": "1.1.1.1",    "ports_protection": [      3389,      5900,      5901    ]  },  "proxy": "socks5://user:pass@1.1.1.1:5555",  "extensions": [    "C:\\extension1",    "C:\\extension2"  ],  "cookies": [    {      "domain": ".google.com",      "name": "1P_JAR",      "value": "2021-11-10-11",      "path": "/",      "expires": 1639134293,      "secure": true,      "http_only": false,      "same_site": "none"    }  ],  "behavior": {    "urls": [      "https://google.com/"    ],    "args": [      "--flag"    ],    "headless": false,    "remote_debugging_port": 61374,    "timeout": 3  }}';$headers = array(  'X-Token: '.$token,  'Content-Type: application/json');$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);curl_setopt($ch, CURLOPT_POSTFIELDS, $body);$data = curl_exec($ch);if (curl_errno($ch)) {    print "Error: " . curl_error($ch);} else {    var_dump($data);    curl_close($ch);}?>
// Requires tokio with features = ["macros", "rt-multi-thread"]// Requires reqwest with features = ["json"]// Requires serde_json#[tokio::main]async fn main() {    let url = "http://127.0.0.1:3030/start/instant";    let token = "Token";     let body = serde_json::json!(        {          "name": "Profile 1",          "os": "macos",          "version": 142,          "smart": "standard",          "fingerprint": {            "navigator": {              "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",              "language": "en-GB",              "languages": [                "en-GB",                "en",                "en-US",                "en"              ],              "timezone": "America/New_York",              "hardware_concurrency": 8,              "device_memory": 8            },            "screen": {              "resolution": "1920x1080",              "pixel_ratio": 2            },            "webgl_renderer": "Apple M3",            "media_devices": {              "audio_input": 1,              "audio_output": 1,              "video_input": 1            },            "geolocation": {              "latitude": 40.7128,              "longitude": -74.006,              "accuracy": 100            },            "noise": {              "canvas": true,              "webgl": true,              "client_rects": true            },            "canvas": "off",            "webgl": "off",            "webrtc": "1.1.1.1",            "ports_protection": [              3389,              5900,              5901            ]          },          "proxy": "socks5://user:pass@1.1.1.1:5555",          "extensions": [            "C:\\extension1",            "C:\\extension2"          ],          "cookies": [            {              "domain": ".google.com",              "name": "1P_JAR",              "value": "2021-11-10-11",              "path": "/",              "expires": 1639134293,              "secure": true,              "http_only": false,              "same_site": "none"            }          ],          "behavior": {            "urls": [              "https://google.com/"            ],            "args": [              "--flag"            ],            "headless": false,            "remote_debugging_port": 61374,            "timeout": 3          }        }	);    let client = reqwest::Client::new();    let response = client        .post(url)        .header("X-Token", token)        .json(&body)        .send()        .await        .expect("Failed to send request")        .json::<serde_json::Value>()        .await        .expect("Failed to parse response");    dbg!(response);}
package mainimport (	"bytes"	"io"	"net/http")func main() {	url := "http://127.0.0.1:3030/start/instant"	token := "Your Token"    body := []byte(`        {          "name": "Profile 1",          "os": "macos",          "version": 142,          "smart": "standard",          "fingerprint": {            "navigator": {              "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",              "language": "en-GB",              "languages": [                "en-GB",                "en",                "en-US",                "en"              ],              "timezone": "America/New_York",              "hardware_concurrency": 8,              "device_memory": 8            },            "screen": {              "resolution": "1920x1080",              "pixel_ratio": 2            },            "webgl_renderer": "Apple M3",            "media_devices": {              "audio_input": 1,              "audio_output": 1,              "video_input": 1            },            "geolocation": {              "latitude": 40.7128,              "longitude": -74.006,              "accuracy": 100            },            "noise": {              "canvas": true,              "webgl": true,              "client_rects": true            },            "canvas": "off",            "webgl": "off",            "webrtc": "1.1.1.1",            "ports_protection": [              3389,              5900,              5901            ]          },          "proxy": "socks5://user:pass@1.1.1.1:5555",          "extensions": [            "C:\\extension1",            "C:\\extension2"          ],          "cookies": [            {              "domain": ".google.com",              "name": "1P_JAR",              "value": "2021-11-10-11",              "path": "/",              "expires": 1639134293,              "secure": true,              "http_only": false,              "same_site": "none"            }          ],          "behavior": {            "urls": [              "https://google.com/"            ],            "args": [              "--flag"            ],            "headless": false,            "remote_debugging_port": 61374,            "timeout": 3          }        }	`)	client := http.Client{}	req, err := http.NewRequest("POST", url, nil)	if err != nil {		panic(err)	}	req.Header.Add("X-Token", token)    req.Header.Add("Content-Type", "application/json")    req.Body = io.NopCloser(bytes.NewReader(body))	resp, err := client.Do(req)	if err != nil {		panic(err)	}	defer resp.Body.Close()	body, _ := io.ReadAll(resp.Body)	println(string(body))}
var url = "http://127.0.0.1:3030/start/instant";var token = "Your Token"; var body = """{  "name": "Profile 1",  "os": "macos",  "version": 142,  "smart": "standard",  "fingerprint": {    "navigator": {      "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36",      "language": "en-GB",      "languages": [        "en-GB",        "en",        "en-US",        "en"      ],      "timezone": "America/New_York",      "hardware_concurrency": 8,      "device_memory": 8    },    "screen": {      "resolution": "1920x1080",      "pixel_ratio": 2    },    "webgl_renderer": "Apple M3",    "media_devices": {      "audio_input": 1,      "audio_output": 1,      "video_input": 1    },    "geolocation": {      "latitude": 40.7128,      "longitude": -74.006,      "accuracy": 100    },    "noise": {      "canvas": true,      "webgl": true,      "client_rects": true    },    "canvas": "off",    "webgl": "off",    "webrtc": "1.1.1.1",    "ports_protection": [      3389,      5900,      5901    ]  },  "proxy": "socks5://user:pass@1.1.1.1:5555",  "extensions": [    "C:\\extension1",    "C:\\extension2"  ],  "cookies": [    {      "domain": ".google.com",      "name": "1P_JAR",      "value": "2021-11-10-11",      "path": "/",      "expires": 1639134293,      "secure": true,      "http_only": false,      "same_site": "none"    }  ],  "behavior": {    "urls": [      "https://google.com/"    ],    "args": [      "--flag"    ],    "headless": false,    "remote_debugging_port": 61374,    "timeout": 3  }}"""var client = new HttpClient();client.DefaultRequestHeaders.Add("X-Token", token);client.DefaultRequestHeaders.Add("Content-Type", "application/json");var contentBody = new StringContent(body, Encoding.UTF8, "application/json");var response = await client.PostAsync(url, contentBody);var content = await response.Content.ReadAsStringAsync();Console.WriteLine(content);

Response

Response data

Prop

Type

Response example

{
success: true,
profile_id: "b437dea0-e465-4a18-b2b4-db2521df9eae",
port: 60756
}

Stop Instant profile

Example of stopping an Instant profile

Please note that instead of PROFILE_ID, you need to insert the ID of the Instant profile that is running!

const url =  "http://127.0.0.1:3030/stop/instant/PROFILE_ID"; const options = {  method: "GET",  headers: {    "X-Token": "Your Token",   }, };fetch(url, options)  .then((response) => {    response.json().then((data) => {      console.log(data);    });  })  .catch((error) => {    console.error(error);  });
import requestsurl = 'http://127.0.0.1:3030/stop/instant/PROFILE_ID' headers = {    'X-Token': 'Your Token',    'Content-Type': 'application/json'}response = requests.get(url, headers=headers)print(response.json())
<?php$url = "http://127.0.0.1:3030/stop/instant/PROFILE_ID";$token = "Your Token"; $headers = array(  'X-Token: '.$token,  'Content-Type: application/json');$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);$data = curl_exec($ch);if (curl_errno($ch)) {    print "Error: " . curl_error($ch);} else {    var_dump($data);    curl_close($ch);}?>
// Requires tokio with features = ["macros", "rt-multi-thread"]// Requires reqwest with features = ["json"]// Requires serde_json#[tokio::main]async fn main() {    let url = "http://127.0.0.1:3030/stop/instant/PROFILE_ID";    let token = "Token";     let client = reqwest::Client::new();    let response = client        .get(url)        .header("X-Token", token)        .send()        .await        .expect("Failed to send request")        .json::<serde_json::Value>()        .await        .expect("Failed to parse response");    dbg!(response);}
package mainimport (	"io"	"net/http")func main() {	url := "http://127.0.0.1:3030/stop/instant/PROFILE_ID"	token := "Your Token"    	client := http.Client{}	req, err := http.NewRequest("GET", url, nil)	if err != nil {		panic(err)	}	req.Header.Add("X-Token", token)        	resp, err := client.Do(req)	if err != nil {		panic(err)	}	defer resp.Body.Close()	body, _ := io.ReadAll(resp.Body)	println(string(body))}
var url = "http://127.0.0.1:3030/stop/instant/PROFILE_ID";var token = "Your Token"; var client = new HttpClient();client.DefaultRequestHeaders.Add("X-Token", token);var response = await client.GetAsync(url);var content = await response.Content.ReadAsStringAsync();Console.WriteLine(content);

Response

Response data

Prop

Type

Response example

{
success: true,
profile_id: "75b4f9e6-fa6a-45a9-b272-f35d06a749d1",
folder_id: "00000000-0000-0000-0000-000000000000",
cookies: [{
  "domain": ".google.com",
  "name": "1P_JAR",
  "value": "2021-11-10-11",
  "path": "/",
  "expires": 1639134293,
  "secure": true,
  "http_only": false,
  "same_site": "none"
}]
}

On this page