Автоматизация работы с Octo Browser через API — полное руководство
17.11.2025


Valentin Kirmond
Technical Support Specialist, Octo Browser
Octo Browser — это антидетект-браузер, который помогает безопасно и удобно работать с множеством аккаунтов. Он позволяет создавать уникальные цифровые отпечатки для каждого профиля, защищая вас от обнаружения и блокировок. Octo Browser отлично подходит для мультиаккаунтинга на любых сервисах: Amazon, CoinList, Facebook, TikTok, Winline и многих других.
Когда количество профилей растет до десятков и сотен, а задачи становятся рутинными, ручное управление уже неэффективно. Для таких сценариев существует API, который позволяет автоматизировать работу с профилями, прокси и другими сущностями. В этой статье разберем возможности работы с автоматизацией в Octo Browser.
Octo Browser — это антидетект-браузер, который помогает безопасно и удобно работать с множеством аккаунтов. Он позволяет создавать уникальные цифровые отпечатки для каждого профиля, защищая вас от обнаружения и блокировок. Octo Browser отлично подходит для мультиаккаунтинга на любых сервисах: Amazon, CoinList, Facebook, TikTok, Winline и многих других.
Когда количество профилей растет до десятков и сотен, а задачи становятся рутинными, ручное управление уже неэффективно. Для таких сценариев существует API, который позволяет автоматизировать работу с профилями, прокси и другими сущностями. В этой статье разберем возможности работы с автоматизацией в Octo Browser.
Содержание
Что такое API
API (Application Programming Interface) — это программный интерфейс, способ, с помощью которого программы общаются между собой. Представьте, что вы в ресторане: вы делаете заказ, официант передает его на кухню и возвращает готовое блюдо. Точно так же ваша программа отправляет запрос через API и получает ответ от сервера Octo Browser.
HTTP-запросы
Для взаимодействия с API используются HTTP-запросы — сообщения, которые клиент отправляет серверу для запроса или передачи данных.
Основные HTTP-методы
Метод | Назначение | Пример |
|---|---|---|
POST | Создать новые данные | Создать новый профиль |
GET | Получить данные | Получить список всех профилей в аккаунте Octo Browser |
PATCH | Изменить/обновить существующие данные | Изменить имя профиля |
DELETE | Удалить данные (ресурс) | Удалить профиль |
Структура запроса
Каждый запрос состоит из нескольких частей:
URL: куда отправлять запрос.
Метод: что мы хотим сделать (GET, POST и т. д.).
Заголовки (Headers): дополнительная информация о запросе (например, API-токен).
Тело запроса (Body): данные, которые мы отправляем (например, информация для нового профиля).
Давайте разберем создание профиля с использованием POST-запроса, Node.js и библиотеки Axios. Пример скрипта запроса:
const axios = require('axios'); const data = JSON.stringify({ "title": "Test profile from api", "fingerprint": { "os": "win" } }); const config = { method: 'post', maxBodyLength: Infinity, url: 'https://app.octobrowser.net/api/v2/automation/profiles', headers: { 'Content-Type': 'application/json', 'X-Octo-Api-Token': '<GET_TOKEN_IN_CLIENT>' }, data : data }; axios(config) .then(function (response) { console.log(JSON.stringify(response.data)); }) .catch(function (error) { console.log(error); });
URL: 'https://app.octobrowser.net/api/v2/automation/profiles' (адрес API для работы с профилями).
Метод: 'post' (создать новый профиль).
Тело запроса (data): JSON-объект с обязательными данными (имя профиля и ОС).
Заголовки (headers):
Content-Type': 'application/json'— сообщает серверу, что данные в формате JSON.'X-Octo-Api-Token': '<GET_TOKEN_IN_CLIENT>'— уникальный API-токен (доступен в настройках мастер-аккаунта на подписке Base и выше).
После отправки запроса сервер всегда возвращает HTTP-ответ, который включает статус-код — трехзначное число, определяющее результат обработки запроса.
Ответы сервера
Успешно (2xx):
{"success":true,"msg":"","data":{"uuid":"<profile_uuid>"},"code":null}
Ошибки (4xx и 5xx):
400 Bad Request — неверный синтаксис или отсутствует обязательный параметр.
401 Unauthorized — неверный или отсутствующий API-токен.
404 Not Found — URL не существует.
429 Too Many Requests — превышен лимит запросов.
500 Internal Server Error — ошибка сервера.
Блок .catch в скрипте помогает обработать эти ошибки.
Документация Octo Browser по API
В официальной документации по работе с API Octo Browser представлена структура запросов и примеры их использования:
Меню слева — разделы: Profiles, Proxies, Local Client API, Teams и др.
В центре — описание запроса: адрес (endpoint), метод (GET, POST и т. д.), параметры, заголовки и возможные варианты использования.
Справа — готовые примеры запросов (Example Requests) и ответы сервера (Example Response).
Выпадающее меню LANGUAGE — выбор языка программирования для примеров: Node.js, Python, Java, C#, PHP и др.

Работа с Public и Local API
Public API
Удаленный интерфейс через интернет, не требует запуска клиента.
Запросы выполняются по адресу: https://app.octobrowser.net.
Лимиты зависят от подписки:
Подписка | RPM | RPH |
|---|---|---|
Base | 50 | 500 |
Team | 100 | 1 500 |
Advanced | 200+ | 3 000+ |
С помощью Public API можно:
получать информацию о профилях;
создавать, редактировать и удалять профили;
работать с тегами, командами, прокси.
Пример запроса: создание профиля
POST https://app.octobrowser.net/api/v2/automation/profiles
Заголовок: X-Octo-Api-Token: <ВАШ_API_ТОКЕН>
Local API
Работает локально, когда Octo Browser запущен на устройстве.
Лимиты зависят от типа запроса: Start Profile — 1 запрос, One-time Profile — 4 запроса. Остальные запросы Local API не влияют на лимиты.
Можно авторизоваться, запускать/останавливать профили, подключать библиотеки автоматизации.
Запросы выполняются по адресу: http://localhost:58888 (58888 — порт локального HTTP-сервера).
Пример запроса: запуск профиля
POST http://localhost:58888/api/profiles/start
Заголовок: Content-Type: application/json и тело JSON с UUID и опциями.
Инструменты для отправки запросов
Postman
Загрузите API Octo Browser в workspace через кнопку Run in Postman.
Выберите запрос (например, POST Create Profile → Simple Profile).
Укажите https://app.octobrowser.net вместо {{baseUrl}}.

Укажите API-токен во вкладке Headers.

Укажите необходимые параметры профиля во вкладке Body.

Нажмите Send, чтобы создать профиль.
Аналогично и с запуском профиля:
Выберите запрос POST Start Profile.
Укажите URL локального API: http://localhost:58888.

Найдите UUID профиля в меню «История и восстановление», в таблице профилей или через запрос GET Get Profiles.

Во вкладке Body задайте параметры:
uuid: ID профиля;
headless: запуск без GUI (true/false);
debug_port: включение порта для автоматизации (true/false или конкретный порт);
timeout: время ожидания в секундах;
only_local: ограничение доступа к localhost (true/false);
flags: дополнительные аргументы (например,
["--start-maximized"]);password: пароль профиля, если установлен.

Нажмите Send и проверьте ответ.
VS Code
Скачайте и установите VS Code.
Скачайте и установите node.js для JavaScript.
Скачайте и установите Python для Python-скриптов.
Откройте VS Code и создайте папку для проекта.
Установите зависимости:
Для Node.js:
npm install axios.Для Python:
pip install requests.
Скопируйте пример из документации Octo для POST Create Profile на node.js+axios.
Создайте файл с расширением .js, вставьте в него скрипт.
Укажите ваш API-токен и сохраните файл.
Выполните скрипт командой
node <название файла>(например,node post_create_profile).

Аналогично для запуска профиля с помощью Python: выберите POST Start Profile в Example Request, вставьте скрипт в файл с расширением .py, сохраните и запустите его.

Terminal/CMD
Также работать с API можно в Terminal/CMD. Для этого выберите в меню LANGUAGE язык cURL — cURL.
Укажите API-токен в запросе POST Create Profile и выполните:

Важный нюанс: для CMD на Windows необходимо адаптировать синтаксис, так как CMD интерпретирует команды немного иначе, чем Unix-подобные оболочки. В частности, нужно правильно экранировать кавычки и учитывать переносы строк. Пример адаптированного скрипта запуска профиля:
curl --location "http://localhost:58888/api/profiles/start" ^ --header "Content-Type: application/json" ^ --data "{\"uuid\": \"42c4231d71f6495fb33e70d97915c696\", \"headless\": false, \"debug_port\": true, \"timeout\": 120, \"only_local\": true, \"flags\": [], \"password\": \"\"}"
*Укажите UUID необходимого профиля
Это не все возможные варианты работы с API Octo Browser, для примера мы привели лишь некоторые из них.
Библиотеки автоматизации и CDP
CDP (Chrome DevTools Protocol) позволяет управлять действиями в профиле через код: открывать сайты, кликать, вводить текст, делать скриншоты.
Octo Browser поддерживает подключение по CDP через Local API. Когда вы запускаете профиль через POST Start Profile, необходимо передать параметр debug_port: true (или указать конкретный порт), и Octo откроет порт для удаленного подключения (например, ws://127.0.0.1:53215/devtools/browser/...).
Пример запуска профиля с CDP-портом:
curl --location 'http://localhost:58888/api/profiles/start' \ --header 'Content-Type: application/json' \ --data '{ "uuid": "eb5d6441b2b349368b31fd901b82a8ac", "headless": false, "debug_port": true, "timeout": 120, "only_local": true }'
Ответ будет содержать адрес для подключения:
{"uuid":"eb5d6441b2b349368b31fd901b82a8ac","state":"STARTED","headless":false,"start_time":1761735064,"ws_endpoint":"ws://127.0.0.1:53215/devtools/browser/d633f197-1623-4f61-a9b0-28a65e0df2fd","debug_port":"53215","one_time":false,"browser_pid":57411,"connection_data":{"ip":"","country":""}}
Этот адрес можно использовать в любой библиотеке, которая поддерживает CDP. Например, в Puppeteer/Pyppeteer, Playwright. Подробные примеры подключения библиотек доступны в документации.
Помимо прямого использования CDP, существует возможность подключать библиотеку Selenium к профилям Octo Browser через WebDriver. В этом случае Selenium управляет уже запущенным браузером через debug_port, но использует WebDriver вместо прямых CDP-команд. Пример подключения доступен в документации.
Использование библиотек автоматизации открывает широкие возможности — от прогрева профилей и сбора куки до создания сложной логики регистрации аккаунтов и управления их действиями.
Как запустить Octo Browser в Docker
Docker — программное обеспечение для автоматизации развертывания и управления приложениями в контейнерах. Каждый контейнер имеет свою ОС (обычно Linux), библиотеки, зависимости и настройки. В отличие от виртуальной машины, контейнер легкий и запускается очень быстро.
Преимущества использования Docker для Octo Browser:
Изоляция окружения: Octo Browser и все его зависимости работают отдельно, не конфликтуя с другими приложениями.
Универсальность: один и тот же контейнер можно запускать на сервере, ноутбуке или VPS, и все будет работать одинаково.
Масштабируемость: можно запускать много профилей одновременно, а при необходимости создавать новые контейнеры для работы с большим количеством профилей параллельно.
Автоматизация: удобно использовать в скриптах, где браузер работает в headless-режиме без графического интерфейса.
Запускаем Docker:
1. Подготовьте Dockerfile. Пример Dockerfile для Ubuntu 22.04 со всеми зависимостями, включая Octo Browser и Google Chrome, доступен в документации.
2. Соберите Docker-контейнер:
docker build -t octobrowser:latest
3. Запустите контейнер:
docker run --name octo -it --rm \ --security-opt seccomp:unconfined \ -v '/srv/docker_octo/cache:/home/octo/.Octo Browser/' \ -p 58895:58888 \ octobrowser:latest
Как управлять контейнерами с Octo Browser с помощью Kubernetes
Kubernetes (K8s) помогает управлять множеством контейнеров одновременно.
Docker — запуск одного контейнера.
Kubernetes — целый кластер контейнеров с автоматическим распределением нагрузки.
Для запуска Kubernetes можно использовать Minikube, kind, Docker Desktop или другие решения.
Процесс работы с Octo Browser и Kubernetes:
Соберите Docker-контейнер.
Запустите контейнер.
Используйте Kubernetes для управления контейнерами.
Пример Deployment YAML доступен в документации.
Полезные сценарии и сниппеты
В документации Octo Browser по работе с API вы найдете не только базовые методы, но и готовые скрипты на Node.js и Python. Описаны следующие сценарии:
Массовое создание профилей — укажите количество профилей и ваш API-токен.
Массовое добавление в указанные профили расширений, стартовых страниц и закладок — укажите список профилей, расширения, стартовые страницы, закладки и API-токен.
Массовое добавление расширений, стартовых страниц и закладок во все профили — укажите расширения, стартовые страницы, закладки и API-токен.
Массовое добавление расширений, стартовых страниц и закладок в профили с определенным тегом/тегами — укажите тег/теги, расширения, стартовые страницы, закладки и API-токен.
Массовое создание прокси из .txt‑файла и последующее создание профилей с этими прокси — файл должен быть в формате
protocol;host;port;login;password;title;change_ip_url(change_ip_url— опционально). В скрипте укажите API-токен и имя файла.Добавление сохраненного прокси в профиль — укажите прокси, профиль и API-токен.
Копирование всех экспортированных профилей из списка экспорта клиента в указанную папку — укажите папку и API-токен.
Создание .txt‑файла с названиями всех профилей из аккаунта Octo Browser — вставьте API-токен.
API FAQ
Как передать параметры при создании профиля через API?
Пример тела запроса (body):
const body = { title: "profile_title", // обязательное поле fingerprint: { os: "mac", // обязательное поле: "mac", "win" или "android" os_arch: "arm", // необязательное поле: можно указать "x86", если хотите создать профиль mac с процессором Intel os_version: "13" // необязательное поле /* Возможные значения: — для Windows: 10, 11 — для macOS (arm): 12, 13, 14, 15 — для macOS (x86): 12, 13, 14, 15 — для Android: 12, 13, 14, 15 */ } };
Поле os в объекте fingerprint обязательно. Если вы не укажете другие параметры, Octo Browser сгенерирует для них оптимальные значения автоматически.
Чтобы узнать, какие еще параметры можно передавать при создании профиля:
Перейдите в API-документацию Octo Browser (запрос POST Create Profile).
Пролистайте страницу до блока Body — там указана структура всех доступных параметров.
После создания профиля вы можете получить его параметры через запрос GET Get Profile — в ответе сервера будет полная структура профиля.
Как использовать одноразовые профили (one-time profiles)?
One-time profile — это одноразовый профиль, который создается и сразу запускается одним запросом API и автоматически удаляется после закрытия.
Нет необходимости выполнять отдельные запросы на создание, запуск, остановку и удаление профиля. Может быть полезно, например, для веб-скрейпинга, где пользователю нужно лишь посетить веб-ресурс с новым отпечатком браузера, собрать данные и удалить профиль.
Одноразовые профили можно использовать во всех подписках с доступом к API.
Один запрос POST One-time profile учитывается как 4 запроса при подсчете лимитов RPM/RPH.
Чтобы завершить работу одноразового профиля, достаточно выполнить POST Stop Profile, закрыть окно браузера вручную или программно вызвать закрытие через Puppeteer, Playwright или аналогичные библиотеки, например с помощью await browser.close(). После закрытия профиль автоматически удаляется и не появляется в списке профилей или корзине.
Что делать при превышении лимитов API (ошибка 429)?
Остановите ваш скрипт и приостановите запросы на некоторое время. Лимиты API можно проверить в заголовках ответа сервера:
Retry-After: 0 # — можете слать следующий запрос, если значение равно нулю.
X-Ratelimit-Limit: 200 # RPM — общий лимит количества запросов в минуту.
X-Ratelimit-Limit-Hour: 3000 # RPH — общий лимит количества запросов в час.
X-Ratelimit-Remaining: 4 # remaining RPM — оставшееся количество запросов в минуту.
X-Ratelimit-Remaining-Hour: 2999 # remaining RPH — оставшееся количество запросов в час.
X-Ratelimit-Reset: 1671789217 # unix timestamp — время по UNIX, через которое сбросится лимит.
Не отправляйте запросы, если у вас исчерпаны лимиты, иначе время ограничения будет увеличено и могут быть применены более строгие ограничения. Проверяйте заголовки лимитов в ваших скриптах, прежде чем слать запрос.
Как получить ws_endpoint для подключения по CDP?
Когда вы запускаете профиль через API с параметром "debug_port": true (или указываете конкретный порт, например "debug_port": 20000), Octo Browser возвращает в ответе значение ws_endpoint.
Этот ws_endpoint используется библиотеками автоматизации (например, Puppeteer или Playwright) для подключения к запущенному профилю.
Где найти API-токен?
API доступен пользователям с подпиской Base и выше. API-токен отображается в клиенте Octo Browser в настройках мастер-аккаунта на вкладке «Дополнительные» (другие члены команды API-токен не видят).

Что такое API
API (Application Programming Interface) — это программный интерфейс, способ, с помощью которого программы общаются между собой. Представьте, что вы в ресторане: вы делаете заказ, официант передает его на кухню и возвращает готовое блюдо. Точно так же ваша программа отправляет запрос через API и получает ответ от сервера Octo Browser.
HTTP-запросы
Для взаимодействия с API используются HTTP-запросы — сообщения, которые клиент отправляет серверу для запроса или передачи данных.
Основные HTTP-методы
Метод | Назначение | Пример |
|---|---|---|
POST | Создать новые данные | Создать новый профиль |
GET | Получить данные | Получить список всех профилей в аккаунте Octo Browser |
PATCH | Изменить/обновить существующие данные | Изменить имя профиля |
DELETE | Удалить данные (ресурс) | Удалить профиль |
Структура запроса
Каждый запрос состоит из нескольких частей:
URL: куда отправлять запрос.
Метод: что мы хотим сделать (GET, POST и т. д.).
Заголовки (Headers): дополнительная информация о запросе (например, API-токен).
Тело запроса (Body): данные, которые мы отправляем (например, информация для нового профиля).
Давайте разберем создание профиля с использованием POST-запроса, Node.js и библиотеки Axios. Пример скрипта запроса:
const axios = require('axios'); const data = JSON.stringify({ "title": "Test profile from api", "fingerprint": { "os": "win" } }); const config = { method: 'post', maxBodyLength: Infinity, url: 'https://app.octobrowser.net/api/v2/automation/profiles', headers: { 'Content-Type': 'application/json', 'X-Octo-Api-Token': '<GET_TOKEN_IN_CLIENT>' }, data : data }; axios(config) .then(function (response) { console.log(JSON.stringify(response.data)); }) .catch(function (error) { console.log(error); });
URL: 'https://app.octobrowser.net/api/v2/automation/profiles' (адрес API для работы с профилями).
Метод: 'post' (создать новый профиль).
Тело запроса (data): JSON-объект с обязательными данными (имя профиля и ОС).
Заголовки (headers):
Content-Type': 'application/json'— сообщает серверу, что данные в формате JSON.'X-Octo-Api-Token': '<GET_TOKEN_IN_CLIENT>'— уникальный API-токен (доступен в настройках мастер-аккаунта на подписке Base и выше).
После отправки запроса сервер всегда возвращает HTTP-ответ, который включает статус-код — трехзначное число, определяющее результат обработки запроса.
Ответы сервера
Успешно (2xx):
{"success":true,"msg":"","data":{"uuid":"<profile_uuid>"},"code":null}
Ошибки (4xx и 5xx):
400 Bad Request — неверный синтаксис или отсутствует обязательный параметр.
401 Unauthorized — неверный или отсутствующий API-токен.
404 Not Found — URL не существует.
429 Too Many Requests — превышен лимит запросов.
500 Internal Server Error — ошибка сервера.
Блок .catch в скрипте помогает обработать эти ошибки.
Документация Octo Browser по API
В официальной документации по работе с API Octo Browser представлена структура запросов и примеры их использования:
Меню слева — разделы: Profiles, Proxies, Local Client API, Teams и др.
В центре — описание запроса: адрес (endpoint), метод (GET, POST и т. д.), параметры, заголовки и возможные варианты использования.
Справа — готовые примеры запросов (Example Requests) и ответы сервера (Example Response).
Выпадающее меню LANGUAGE — выбор языка программирования для примеров: Node.js, Python, Java, C#, PHP и др.

Работа с Public и Local API
Public API
Удаленный интерфейс через интернет, не требует запуска клиента.
Запросы выполняются по адресу: https://app.octobrowser.net.
Лимиты зависят от подписки:
Подписка | RPM | RPH |
|---|---|---|
Base | 50 | 500 |
Team | 100 | 1 500 |
Advanced | 200+ | 3 000+ |
С помощью Public API можно:
получать информацию о профилях;
создавать, редактировать и удалять профили;
работать с тегами, командами, прокси.
Пример запроса: создание профиля
POST https://app.octobrowser.net/api/v2/automation/profiles
Заголовок: X-Octo-Api-Token: <ВАШ_API_ТОКЕН>
Local API
Работает локально, когда Octo Browser запущен на устройстве.
Лимиты зависят от типа запроса: Start Profile — 1 запрос, One-time Profile — 4 запроса. Остальные запросы Local API не влияют на лимиты.
Можно авторизоваться, запускать/останавливать профили, подключать библиотеки автоматизации.
Запросы выполняются по адресу: http://localhost:58888 (58888 — порт локального HTTP-сервера).
Пример запроса: запуск профиля
POST http://localhost:58888/api/profiles/start
Заголовок: Content-Type: application/json и тело JSON с UUID и опциями.
Инструменты для отправки запросов
Postman
Загрузите API Octo Browser в workspace через кнопку Run in Postman.
Выберите запрос (например, POST Create Profile → Simple Profile).
Укажите https://app.octobrowser.net вместо {{baseUrl}}.

Укажите API-токен во вкладке Headers.

Укажите необходимые параметры профиля во вкладке Body.

Нажмите Send, чтобы создать профиль.
Аналогично и с запуском профиля:
Выберите запрос POST Start Profile.
Укажите URL локального API: http://localhost:58888.

Найдите UUID профиля в меню «История и восстановление», в таблице профилей или через запрос GET Get Profiles.

Во вкладке Body задайте параметры:
uuid: ID профиля;
headless: запуск без GUI (true/false);
debug_port: включение порта для автоматизации (true/false или конкретный порт);
timeout: время ожидания в секундах;
only_local: ограничение доступа к localhost (true/false);
flags: дополнительные аргументы (например,
["--start-maximized"]);password: пароль профиля, если установлен.

Нажмите Send и проверьте ответ.
VS Code
Скачайте и установите VS Code.
Скачайте и установите node.js для JavaScript.
Скачайте и установите Python для Python-скриптов.
Откройте VS Code и создайте папку для проекта.
Установите зависимости:
Для Node.js:
npm install axios.Для Python:
pip install requests.
Скопируйте пример из документации Octo для POST Create Profile на node.js+axios.
Создайте файл с расширением .js, вставьте в него скрипт.
Укажите ваш API-токен и сохраните файл.
Выполните скрипт командой
node <название файла>(например,node post_create_profile).

Аналогично для запуска профиля с помощью Python: выберите POST Start Profile в Example Request, вставьте скрипт в файл с расширением .py, сохраните и запустите его.

Terminal/CMD
Также работать с API можно в Terminal/CMD. Для этого выберите в меню LANGUAGE язык cURL — cURL.
Укажите API-токен в запросе POST Create Profile и выполните:

Важный нюанс: для CMD на Windows необходимо адаптировать синтаксис, так как CMD интерпретирует команды немного иначе, чем Unix-подобные оболочки. В частности, нужно правильно экранировать кавычки и учитывать переносы строк. Пример адаптированного скрипта запуска профиля:
curl --location "http://localhost:58888/api/profiles/start" ^ --header "Content-Type: application/json" ^ --data "{\"uuid\": \"42c4231d71f6495fb33e70d97915c696\", \"headless\": false, \"debug_port\": true, \"timeout\": 120, \"only_local\": true, \"flags\": [], \"password\": \"\"}"
*Укажите UUID необходимого профиля
Это не все возможные варианты работы с API Octo Browser, для примера мы привели лишь некоторые из них.
Библиотеки автоматизации и CDP
CDP (Chrome DevTools Protocol) позволяет управлять действиями в профиле через код: открывать сайты, кликать, вводить текст, делать скриншоты.
Octo Browser поддерживает подключение по CDP через Local API. Когда вы запускаете профиль через POST Start Profile, необходимо передать параметр debug_port: true (или указать конкретный порт), и Octo откроет порт для удаленного подключения (например, ws://127.0.0.1:53215/devtools/browser/...).
Пример запуска профиля с CDP-портом:
curl --location 'http://localhost:58888/api/profiles/start' \ --header 'Content-Type: application/json' \ --data '{ "uuid": "eb5d6441b2b349368b31fd901b82a8ac", "headless": false, "debug_port": true, "timeout": 120, "only_local": true }'
Ответ будет содержать адрес для подключения:
{"uuid":"eb5d6441b2b349368b31fd901b82a8ac","state":"STARTED","headless":false,"start_time":1761735064,"ws_endpoint":"ws://127.0.0.1:53215/devtools/browser/d633f197-1623-4f61-a9b0-28a65e0df2fd","debug_port":"53215","one_time":false,"browser_pid":57411,"connection_data":{"ip":"","country":""}}
Этот адрес можно использовать в любой библиотеке, которая поддерживает CDP. Например, в Puppeteer/Pyppeteer, Playwright. Подробные примеры подключения библиотек доступны в документации.
Помимо прямого использования CDP, существует возможность подключать библиотеку Selenium к профилям Octo Browser через WebDriver. В этом случае Selenium управляет уже запущенным браузером через debug_port, но использует WebDriver вместо прямых CDP-команд. Пример подключения доступен в документации.
Использование библиотек автоматизации открывает широкие возможности — от прогрева профилей и сбора куки до создания сложной логики регистрации аккаунтов и управления их действиями.
Как запустить Octo Browser в Docker
Docker — программное обеспечение для автоматизации развертывания и управления приложениями в контейнерах. Каждый контейнер имеет свою ОС (обычно Linux), библиотеки, зависимости и настройки. В отличие от виртуальной машины, контейнер легкий и запускается очень быстро.
Преимущества использования Docker для Octo Browser:
Изоляция окружения: Octo Browser и все его зависимости работают отдельно, не конфликтуя с другими приложениями.
Универсальность: один и тот же контейнер можно запускать на сервере, ноутбуке или VPS, и все будет работать одинаково.
Масштабируемость: можно запускать много профилей одновременно, а при необходимости создавать новые контейнеры для работы с большим количеством профилей параллельно.
Автоматизация: удобно использовать в скриптах, где браузер работает в headless-режиме без графического интерфейса.
Запускаем Docker:
1. Подготовьте Dockerfile. Пример Dockerfile для Ubuntu 22.04 со всеми зависимостями, включая Octo Browser и Google Chrome, доступен в документации.
2. Соберите Docker-контейнер:
docker build -t octobrowser:latest
3. Запустите контейнер:
docker run --name octo -it --rm \ --security-opt seccomp:unconfined \ -v '/srv/docker_octo/cache:/home/octo/.Octo Browser/' \ -p 58895:58888 \ octobrowser:latest
Как управлять контейнерами с Octo Browser с помощью Kubernetes
Kubernetes (K8s) помогает управлять множеством контейнеров одновременно.
Docker — запуск одного контейнера.
Kubernetes — целый кластер контейнеров с автоматическим распределением нагрузки.
Для запуска Kubernetes можно использовать Minikube, kind, Docker Desktop или другие решения.
Процесс работы с Octo Browser и Kubernetes:
Соберите Docker-контейнер.
Запустите контейнер.
Используйте Kubernetes для управления контейнерами.
Пример Deployment YAML доступен в документации.
Полезные сценарии и сниппеты
В документации Octo Browser по работе с API вы найдете не только базовые методы, но и готовые скрипты на Node.js и Python. Описаны следующие сценарии:
Массовое создание профилей — укажите количество профилей и ваш API-токен.
Массовое добавление в указанные профили расширений, стартовых страниц и закладок — укажите список профилей, расширения, стартовые страницы, закладки и API-токен.
Массовое добавление расширений, стартовых страниц и закладок во все профили — укажите расширения, стартовые страницы, закладки и API-токен.
Массовое добавление расширений, стартовых страниц и закладок в профили с определенным тегом/тегами — укажите тег/теги, расширения, стартовые страницы, закладки и API-токен.
Массовое создание прокси из .txt‑файла и последующее создание профилей с этими прокси — файл должен быть в формате
protocol;host;port;login;password;title;change_ip_url(change_ip_url— опционально). В скрипте укажите API-токен и имя файла.Добавление сохраненного прокси в профиль — укажите прокси, профиль и API-токен.
Копирование всех экспортированных профилей из списка экспорта клиента в указанную папку — укажите папку и API-токен.
Создание .txt‑файла с названиями всех профилей из аккаунта Octo Browser — вставьте API-токен.
API FAQ
Как передать параметры при создании профиля через API?
Пример тела запроса (body):
const body = { title: "profile_title", // обязательное поле fingerprint: { os: "mac", // обязательное поле: "mac", "win" или "android" os_arch: "arm", // необязательное поле: можно указать "x86", если хотите создать профиль mac с процессором Intel os_version: "13" // необязательное поле /* Возможные значения: — для Windows: 10, 11 — для macOS (arm): 12, 13, 14, 15 — для macOS (x86): 12, 13, 14, 15 — для Android: 12, 13, 14, 15 */ } };
Поле os в объекте fingerprint обязательно. Если вы не укажете другие параметры, Octo Browser сгенерирует для них оптимальные значения автоматически.
Чтобы узнать, какие еще параметры можно передавать при создании профиля:
Перейдите в API-документацию Octo Browser (запрос POST Create Profile).
Пролистайте страницу до блока Body — там указана структура всех доступных параметров.
После создания профиля вы можете получить его параметры через запрос GET Get Profile — в ответе сервера будет полная структура профиля.
Как использовать одноразовые профили (one-time profiles)?
One-time profile — это одноразовый профиль, который создается и сразу запускается одним запросом API и автоматически удаляется после закрытия.
Нет необходимости выполнять отдельные запросы на создание, запуск, остановку и удаление профиля. Может быть полезно, например, для веб-скрейпинга, где пользователю нужно лишь посетить веб-ресурс с новым отпечатком браузера, собрать данные и удалить профиль.
Одноразовые профили можно использовать во всех подписках с доступом к API.
Один запрос POST One-time profile учитывается как 4 запроса при подсчете лимитов RPM/RPH.
Чтобы завершить работу одноразового профиля, достаточно выполнить POST Stop Profile, закрыть окно браузера вручную или программно вызвать закрытие через Puppeteer, Playwright или аналогичные библиотеки, например с помощью await browser.close(). После закрытия профиль автоматически удаляется и не появляется в списке профилей или корзине.
Что делать при превышении лимитов API (ошибка 429)?
Остановите ваш скрипт и приостановите запросы на некоторое время. Лимиты API можно проверить в заголовках ответа сервера:
Retry-After: 0 # — можете слать следующий запрос, если значение равно нулю.
X-Ratelimit-Limit: 200 # RPM — общий лимит количества запросов в минуту.
X-Ratelimit-Limit-Hour: 3000 # RPH — общий лимит количества запросов в час.
X-Ratelimit-Remaining: 4 # remaining RPM — оставшееся количество запросов в минуту.
X-Ratelimit-Remaining-Hour: 2999 # remaining RPH — оставшееся количество запросов в час.
X-Ratelimit-Reset: 1671789217 # unix timestamp — время по UNIX, через которое сбросится лимит.
Не отправляйте запросы, если у вас исчерпаны лимиты, иначе время ограничения будет увеличено и могут быть применены более строгие ограничения. Проверяйте заголовки лимитов в ваших скриптах, прежде чем слать запрос.
Как получить ws_endpoint для подключения по CDP?
Когда вы запускаете профиль через API с параметром "debug_port": true (или указываете конкретный порт, например "debug_port": 20000), Octo Browser возвращает в ответе значение ws_endpoint.
Этот ws_endpoint используется библиотеками автоматизации (например, Puppeteer или Playwright) для подключения к запущенному профилю.
Где найти API-токен?
API доступен пользователям с подпиской Base и выше. API-токен отображается в клиенте Octo Browser в настройках мастер-аккаунта на вкладке «Дополнительные» (другие члены команды API-токен не видят).

Следите за последними новостями Octo Browser
Нажимая кнопку, вы соглашаетесь с нашей политикой конфиденциальности.
Следите за последними новостями Octo Browser
Нажимая кнопку, вы соглашаетесь с нашей политикой конфиденциальности.
Следите за последними новостями Octo Browser
Нажимая кнопку, вы соглашаетесь с нашей политикой конфиденциальности.
Похожие статьи
Похожие статьи
Похожие статьи

Присоединяйтесь к Octo Browser сейчас
Вы можете обращаться за помощью к нашим специалистам службы поддержки в чате в любое время.

Присоединяйтесь к Octo Browser сейчас
Вы можете обращаться за помощью к нашим специалистам службы поддержки в чате в любое время.
Присоединяйтесь к Octo Browser сейчас
Вы можете обращаться за помощью к нашим специалистам службы поддержки в чате в любое время.


