Создание профиля
Базовый URL
Запрос
Заголовки запроса
Prop
Type
Параметры URL
Prop
Type
Тело запроса
Для создания профиля необходим отпечаток, посмотрите Получение отпечатка.
Prop
Type
Обязательные параметры объекта fingerprint
Prop
Type
Дополнительные параметры объекта fingerprint
Prop
Type
Режим работы Audio
Prop
Type
Режим работы Client Rects
Prop
Type
Аргументы запуска
В Vision есть возможность указать аргументы (флаги) запуска для каждого конкретного профиля, без необходимости указывать их непосредственно в запросе на запуск. Их можно указать в массиве args вложенного объекта options в объекте fingerprint для каждого конкретного профиля.
Отключение уведомлений
{"fingerprint": {..., "options": {"args": ["--disable-notifications"] } } }Аргумент --disable-notifications отключает все всплывающие уведомления в Chrome, включая:
- Запросы веб-сайтов на показ уведомлений (например, «Разрешить уведомления от этого сайта?»)
- Push-уведомления из сайтов (новости, мессенджеры, соцсети)
- Системные уведомления Chrome (например, о завершении загрузки файла или синхронизации)
Отключение изображений
{"fingerprint": {..., "options": {"args": ["--blink-settings=imagesEnabled=false"] } } }Аргумент --blink-settings=imagesEnabled=false отключает загрузку изображений в Chrome, включая:
- Фотографии и графику на веб-страницах
- Иконки и фоны сайтов
- Анимации и декоративные изображения, встроенные в страницы
Блокировка доступа к сайту
{"fingerprint": {..., "options": {"args": ["--host-rules=MAP www.blockedsite1.com 127.0.0.1,MAP www.blockedsite2.com 127.0.0.1"] } } }Аргумент --host-rules позволяет перенаправлять или блокировать указанные сайты, включая:
- Перенаправление сайтов на локальный IP (например, 127.0.0.1)
- Блокировку доступа к определённым доменам
- Возможность перечислять несколько правил через запятую для одновременной блокировки нескольких сайтов
Отключение прокси для конкретных сайтов
{"fingerprint": {..., "options": {"args": ["--proxy-bypass-list=*.example.com;*.another.com"] } } }Аргумент --proxy-bypass-list позволяет указывать список сайтов, доступ к которым будет осуществляться в обход привязанных к профилю прокси.
Пример кода для создания профиля с отпечатком актуальной версии
Обратите внимание, что в данном примере использован запрос на получение отпечатка.
Подробнее о нём прочитать можно в соответствующем пункте документации.
const token = "YOUR_TOKEN_HERE";
const folderId = "FOLDER_ID_HERE";
(async () => {
// Получение отпечатка актуальной версии
const { data: { fingerprint } } = await fetch(
"https://api.browser.vision/api/v1/fingerprints/windows/latest"
).then(r => r.json());
// Начало выполнения запроса на создание профиля
const result = await fetch(
`https://api.browser.vision/api/v1/folders/${folderId}/profiles`,
{
method: "POST",
headers: {
"X-Token": token,
"Content-Type": "application/json"
},
body: JSON.stringify({
profile_name: "Название профиля",
profile_notes: "",
profile_tags: [],
proxy_id: null,
new_profile_tags: [],
profile_status: null,
browser: "Chrome",
platform: "Windows",
// Добавление обязательных параметров объекта fingerprint
fingerprint: {
...fingerprint,
webrtc_pref: "auto",
canvas_pref: "real",
webgl_pref: "real",
audio_pref: null,
ports_protection: [3389, 5900, 5901, 5800, 7070, 6568, 5938, 1080, 8080, 3128, 3030],
options: {
args: []
},
// Изменение параметров language на auto
navigator: {
...fingerprint.navigator,
language: "auto",
languages: []
},
}
})
}
).then(r => r.json());
console.log(result);
})();Ответ
Данные ответа
Prop
Type
Пример ответа
{
"data": {
"owner": "***privacy***",
"id": "***privacy***",
"folder_id": "***privacy***",
"proxy_id": null,
"profile_name": "Profile name",
"profile_notes": "",
"profile_status": null,
"profile_tags": [],
"browser": "chrome",
"platform": "windows",
"fingerprint": {
"major": 145,
"os": "windows",
"screen": {
"width": 3072,
"height": 1728,
"pixel_ratio": 1.25,
"avail_width": 3072,
"avail_height": 1680,
"avail_top": 0,
"avail_left": 0,
"color_depth": 24,
"pixel_depth": 24
},
"fonts": [],
"webrtc_pref": "auto",
"canvas_pref": "real",
"webgl_pref": "real",
"audio_pref": null,
"media_devices": null,
"ports_protection": [
3389, 5900, 5901,
5800, 7070, 6568,
5938, 1080, 8080,
3128, 3030
],
"geolocation": null,
"client_rects": null,
"hints": {
"architecture": "x86",
"bitness": 64,
"model": "",
"platform": "Windows",
"platform_version": "19.0.0",
"mobile": false,
"ua_full_version": "145.0.7632.76"
},
"navigator": {
"hardware_concurrency": 24,
"device_memory": 8,
"max_touch_points": 10,
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36",
"platform": "Win32",
"timezone": null,
"language": "auto",
"languages": [],
"quota": 1199994590822,
"dnt": null,
"oscpu": null
},
"webgl": {
"unmasked_renderer": "ANGLE (AMD, AMD Radeon(TM) 890M Graphics (0x0000150E) Direct3D11 vs_5_0 ps_5_0, D3D11)",
"unmasked_vendor": "Google Inc. (AMD)",
"extensions": [
"ANGLE_instanced_arrays",
"EXT_blend_minmax",
"EXT_clip_control",
"EXT_color_buffer_half_float",
"EXT_depth_clamp",
"EXT_disjoint_timer_query",
"EXT_float_blend",
"EXT_frag_depth",
"EXT_polygon_offset_clamp",
"EXT_shader_texture_lod",
"EXT_texture_compression_bptc",
"EXT_texture_compression_rgtc",
"EXT_texture_filter_anisotropic",
"EXT_texture_mirror_clamp_to_edge",
"EXT_sRGB",
"KHR_parallel_shader_compile",
"OES_element_index_uint",
"OES_fbo_render_mipmap",
"OES_standard_derivatives",
"OES_texture_float",
"OES_texture_float_linear",
"OES_texture_half_float",
"OES_texture_half_float_linear",
"OES_vertex_array_object",
"WEBGL_blend_func_extended",
"WEBGL_color_buffer_float",
"WEBGL_compressed_texture_s3tc",
"WEBGL_compressed_texture_s3tc_srgb",
"WEBGL_debug_renderer_info",
"WEBGL_debug_shaders",
"WEBGL_depth_texture",
"WEBGL_draw_buffers",
"WEBGL_lose_context",
"WEBGL_multi_draw",
"WEBGL_polygon_mode"
],
"extensions_v2": [
"EXT_clip_control",
"EXT_color_buffer_float",
"EXT_color_buffer_half_float",
"EXT_conservative_depth",
"EXT_depth_clamp",
"EXT_disjoint_timer_query_webgl2",
"EXT_float_blend",
"EXT_polygon_offset_clamp",
"EXT_render_snorm",
"EXT_texture_compression_bptc",
"EXT_texture_compression_rgtc",
"EXT_texture_filter_anisotropic",
"EXT_texture_mirror_clamp_to_edge",
"EXT_texture_norm16",
"KHR_parallel_shader_compile",
"NV_shader_noperspective_interpolation",
"OES_draw_buffers_indexed",
"OES_sample_variables",
"OES_shader_multisample_interpolation",
"OES_texture_float_linear",
"OVR_multiview2",
"WEBGL_blend_func_extended",
"WEBGL_clip_cull_distance",
"WEBGL_compressed_texture_s3tc",
"WEBGL_compressed_texture_s3tc_srgb",
"WEBGL_debug_renderer_info",
"WEBGL_debug_shaders",
"WEBGL_lose_context",
"WEBGL_multi_draw",
"WEBGL_polygon_mode",
"WEBGL_provoking_vertex",
"WEBGL_stencil_texturing"
],
"extra": {
"uniform_buffer_offset_alignment": 256,
"max_elements_vertices": 2147483647,
"max_elements_indices": 2147483647,
"max_draw_buffers": 8,
"min_program_texel_offset": -8,
"max_program_texel_offset": 7,
"max_color_attachments": 8,
"max_vertex_texture_image_units": 16,
"max_texture_image_units": 16,
"max_3d_texture_size": 2048,
"max_texture_lod_bias": 2,
"max_fragment_uniform_components": 4096,
"max_vertex_uniform_components": 16384,
"max_array_texture_layers": 2048,
"max_varying_components": 120,
"max_transform_feedback_separate_components": 4,
"max_transform_feedback_interleaved_components": 120,
"max_samples": 8,
"max_vertex_uniform_blocks": 12,
"max_fragment_uniform_blocks": 12,
"max_combined_uniform_blocks": 24,
"max_uniform_buffer_bindings": 24,
"max_uniform_block_size": 65536,
"max_combined_vertex_uniform_components": 212992,
"max_combined_fragment_uniform_components": 200704,
"max_vertex_output_components": 120,
"max_fragment_input_components": 120,
"max_element_index": 4294967294,
"max_texture_size": 16384,
"max_vertex_attribs": 16,
"max_vertex_uniform_vectors": 4096,
"max_varying_vectors": 30,
"max_combined_texture_image_units": 32,
"max_fragment_uniform_vectors": 1024,
"max_cube_map_texture_size": 16384,
"max_renderbuffer_size": 16384,
"max_viewport_width": 32767,
"max_viewport_height": 32767,
"aliased_line_width_range_min": 1,
"aliased_line_width_range_max": 1,
"aliased_point_size_range_min": 1,
"aliased_point_size_range_max": 1024,
"max_server_wait_timeout": 0
}
},
"webgpu": {
"vendor": "amd",
"architecture": "rdna-2",
"limits": {
"maxBindGroups": 4,
"maxBufferSize": 268435456,
"maxVertexBuffers": 8,
"maxColorAttachments": 8,
"maxVertexAttributes": 16,
"maxTextureArrayLayers": 256,
"maxTextureDimension1D": 8192,
"maxTextureDimension2D": 8192,
"maxTextureDimension3D": 2048,
"maxBindingsPerBindGroup": 1000,
"maxComputeWorkgroupSizeX": 256,
"maxComputeWorkgroupSizeY": 256,
"maxComputeWorkgroupSizeZ": 64,
"maxSamplersPerShaderStage": 16,
"maxVertexBufferArrayStride": 2048,
"maxUniformBufferBindingSize": 65536,
"maxInterStageShaderVariables": 16,
"maxInterStageShaderComponents": 0,
"maxComputeWorkgroupStorageSize": 16384,
"maxStorageBuffersPerShaderStage": 8,
"maxUniformBuffersPerShaderStage": 12,
"minStorageBufferOffsetAlignment": 256,
"minUniformBufferOffsetAlignment": 256,
"maxComputeWorkgroupsPerDimension": 65535,
"maxSampledTexturesPerShaderStage": 16,
"maxStorageTexturesPerShaderStage": 4,
"maxComputeInvocationsPerWorkgroup": 256,
"maxDynamicStorageBuffersPerPipelineLayout": 4,
"maxDynamicUniformBuffersPerPipelineLayout": 8
}
},
"webcam": null,
"crc": "6f3131f2"
},
"running": false,
"pinned": false,
"worktime": 0,
"last_run_at": null,
"created_at": "2026-03-10T22:03:58.530125Z",
"updated_at": "2026-03-10T22:03:58.530125Z",
"recovered": 0,
"is_received": false,
"app_version": "0.0.0",
"proxy": null
},
"usage": { "users": 4, "profiles": 665 }
}Типы
Prop
Type
Prop
Type
Prop
Type