API массовая покупка прокси и импорт в антидетект-браузер
Скрипт может купить, перечитать и выдать сотню статических IP, пока вы заняты другим. Здесь три вызова и места, где у каждого антидетект-браузера свои нюансы.
Три шага: купить, прочитать, импортировать
Метод покупки отдаёт один IP за запрос, поэтому массовый заказ — это цикл. Цикл должен останавливаться на первой ошибке (например, не хватило баланса или нет остатка), ведь каждый вызов списывает деньги с кошелька. Консоль работает так же: при количестве от 1 до 100 она оформляет IP поочерёдно и останавливается на первой ошибке.
После покупок метод списка отдаёт все активные статические IP со строкой входа. Последний шаг — антидетект-браузер: у каждого свой локальный API и свои лимиты, они собраны в таблице ниже.
По умолчанию http://local.adspower.net:50325/; порт может меняться, смотрите в настройках Local API
В документации не зафиксирован: после входа возьмите URL локального API в системных настройках
Чем сохранить прокси
POST /api/v2/proxy-list/create с полями type, host, port, user, password, remark
Отдельного метода списка в прочитанной документации нет; прокси задаётся в окне через /browser/update, для готовых окон — /browser/proxy/update
Как привязать прокси к профилю
POST /api/v2/browser-profile/create с user_proxy_config либо proxyid сохранённого прокси (или random)
POST /browser/update с proxyMethod 2, proxyType, host, port, proxyUserName, proxyPassword; пустой id создаёт окно
Лимиты по документации
500 прокси за один вызов Add proxy; 1 запрос в секунду для всех методов
Все запросы — POST с телом; при создании окна обязательны несколько полей
Данные из официальной документации самих продуктов, прочитано 15 ноября 2026; версии меняются, перед использованием поля перечитайте страницу. С AdsPower у Proxy302 официальное партнёрство; BitBrowser приведён лишь как второй пример.
Пополните кошелёк и создайте API-ключ на странице ключей API в консоли. У ключа есть id и secret; не храните их в коммитимых скриптах, используйте переменные окружения.
Шаг 2: сначала одна тестовая покупка
Запустите скрипт ниже с количеством 1, затем откройте «Мои активы» (страница консоли со всем купленным) и убедитесь, что IP там есть и протокол тот, что вы заказали.
Шаг 3: запустите партию
Для каждого запуска берите новую метку партии. Если скрипт остановился, запустите его снова с той же меткой: уже использованные ключи второй раз не купят.
Шаг 4: выгрузите строки входа
Запустите скрипт списка. Он создаст proxies.txt: по строке host:port:username:password на каждый активный статический IP.
Шаг 5: импортируйте в браузер
Сначала загрузите одну строку, откройте с ней профиль и проверьте выход на https://ipinfo.io/json, потом остальные. Один аккаунт — один постоянный IP.
import os, sys, requests
BASE = "https://proxy302.com/open_api/v3"
AUTH = (os.environ["P302_KEY_ID"], os.environ["P302_KEY_SECRET"]) # API key id and secret
def call(method, path, **kw):
body = requests.request(method, BASE + path, auth=AUTH, timeout=30, **kw).json()
if body.get("code") != 0: # every answer is HTTP 200; code 0 = success
raise SystemExit(f"{path}: code={body.get('code')} msg={body.get('msg')}")
return body["data"]
print(call("GET", "/user/users/wallet")) # balance in PTC
print(call("GET", "/proxy/payway/static_residential")) # plans: pick the payway_id of your term
COUNTRY_ID = 233 # United States; ids come from GET /proxy/area/country?name=...
PAYWAY_ID = int(sys.argv[1]) # plan id printed above
COUNT = int(sys.argv[2]) # keep it small the first time
BATCH = sys.argv[3] # one label per batch, e.g. nov15a
for i in range(COUNT):
data = call("POST", "/proxy/api/proxy/static/ip", json={
"country_id": COUNTRY_ID,
"payway_id": PAYWAY_ID,
"protocol": "http", # fixed per IP at purchase time
"is_data_center": False,
"idempotency_key": f"{BATCH}-{i:04d}", # same key on a retry = no second purchase
})
print(i, data["token_id"], data["host"], data["port"])
Только пример. Сначала задайте P302_KEY_ID и P302_KEY_SECRET, запускайте с id тарифа, небольшим количеством и меткой партии, например: python buy.py 12 1 nov15a.
Выгрузка строк входа (Python)
import os, requests
BASE = "https://proxy302.com/open_api/v3"
AUTH = (os.environ["P302_KEY_ID"], os.environ["P302_KEY_SECRET"])
rows, cursor = [], None
while True:
params = {"page_size": 200, "status": 1, "sort_field": "created_on", "sort": "desc"}
if cursor:
params["cursor"] = cursor
body = requests.get(BASE + "/proxy/tokens/static/ip", params=params, auth=AUTH, timeout=30).json()
if body["code"] != 0:
raise SystemExit(body["msg"])
rows += body["data"]["data"]
cursor = body["data"].get("next_cursor")
if not body["data"].get("has_more") or not cursor:
break
with open("proxies.txt", "w", encoding="utf-8") as f:
for r in rows:
f.write(r["ads_proxy_url"] + "\n") # host:port:username:password
print(len(rows), "active static IPs written to proxies.txt")
Только пример. Поле ads_proxy_url и поля постраничной выдачи описаны в справочнике API.
Отправка строк в AdsPower (Python)
import requests
ADS = "http://local.adspower.net:50325" # the port can change: see Local API in the AdsPower settings
items = []
for line in open("proxies.txt", encoding="utf-8"):
host, port, user, pwd = line.strip().split(":", 3)
items.append({
"type": "http" if port == "2222" else "socks5", # Proxy302: HTTP on 2222, SOCKS5 on 3333
"host": host, "port": int(port), "user": user, "password": pwd,
"remark": "proxy302",
})
# AdsPower: at most 500 proxies per call and 1 request per second.
# Check the body shape against the Add proxy page and try with one line first.
print(requests.post(ADS + "/api/v2/proxy-list/create", json=items[:1], timeout=30).json())
Иллюстрация. На странице AdsPower перечислены поля, но нет примера тела запроса, поэтому отправьте одну строку и прочитайте ответ, прежде чем слать 500.
Проверьте Прочитайте msg: там сказано, не хватает ли баланса, нет ли остатка в стране или ключ ещё не привязан к аккаунту Proxy302.
Решение Пополните баланс либо выберите другую страну или срок и запустите снова с той же меткой партии. Остаток меняется ежедневно и виден на странице заказа.
Когда остановиться Если повторяется при пополненном кошельке и наличии остатка, отправьте msg и номер заказа в поддержку.
Код 401
Проверьте Неверный id или secret ключа, либо вместо API-ключа указан пароль от аккаунта.
Решение Создайте ключ на странице ключей API и используйте его id и secret как логин Basic.
Когда остановиться Не повторяйте в цикле: неверный ключ сам не заработает.
После повтора куплено больше IP, чем планировали
Проверьте При повторе использовали новый idempotency_key. Тот же ключ возвращает прежний заказ, новый ключ — это новая покупка.
Решение Собирайте ключ из метки партии и счётчика, как в скрипте, и не берите время.
Когда остановиться Перед следующим запуском пересчитайте строки в «Мои активы».
AdsPower отвечает code -1
Проверьте Проверьте, что Local API включён, порт совпадает с настройками, частота не выше 1 запроса в секунду, а тело соответствует странице Add proxy.
Решение Отправьте один прокси отдельно и прочитайте msg; затем шлите группами до 500 с паузой между вызовами.
Когда остановиться Если падает одна строка, сверьте её хост, порт и логин с «Мои активы».
Цены и ограничения
Статический ISP IP стоит $0,50 за день и $7,99 за 30 дней, около $0,27 в день, цена одинакова во всех странах. Дата-центровый IP — $0,25 за день и $3,99 за 30 дней. Каждый IP выдаётся с одним протоколом: HTTP на порту 2222 или SOCKS5 на порту 3333 адреса proxy.proxy302.com. В консоли количество в заказе — от 1 до 100. Автопродление необязательное и включается для каждого IP отдельно; при заказе в консоли оно по умолчанию включено, поэтому проверьте настройку у IP, купленных скриптом, и выключите её в «Мои активы», если оно не нужно. Бесплатного пробного периода нет, минимальная покупка — один IP на один день.
Да. Метод статических IP открытого API покупает один IP за вызов с кошелька: нужны страна, id тарифа и протокол. Полный список методов — в документации для разработчиков.
Один. Параметры count и format относятся к динамическим методам. Для статических IP вызывайте метод в цикле или используйте форму заказа в консоли с количеством от 1 до 100.
Строка входа host:port:username:password — в таком порядке большинство антидетект-браузеров принимает вставляемые прокси. Перед большой вставкой проверьте порядок в своём браузере.
Что такое прокси MCP-сервер, чем отличаются локальные и удалённые MCP-серверы, как установить его в Claude Code, Codex CLI и Cursor и как направить собственный трафик сервера через прокси.
Файл фактов о продуктах сайта (значения сверены с консолью, бэкендом и прайсом 18-19 октября 2026): цены в долларах (1 PTC = $1), сроки аренды, протоколы и порты, лимиты количества, бесплатного пробного периода нет.
Прочитано 15 ноября 2026: авторизация HTTP Basic, логин — id API-ключа, пароль — secret; все ответы приходят с HTTP 200, результат в code, msg, data, успех — code 0; метод покупки статического IP принимает country_id, payway_id, protocol и idempotency_key длиной 8-128 символов; список активов отдаёт ads_proxy_url в виде host:port:username:password; код 50301 покрывает нехватку баланса и отсутствие остатка.
Прочитано 15 ноября 2026: POST /api/v2/proxy-list/create, поля type, host, port, необязательные user, password, remark; за один запрос не больше 500 прокси; при успехе code 0 и список id прокси. Примера тела запроса на странице нет.
Прочитано 15 ноября 2026: POST /api/v2/browser-profile/create требует group_id и fingerprint_config и одно из двух: user_proxy_config или proxyid (id сохранённого прокси либо random).
Прочитано 15 ноября 2026: адрес по умолчанию http://local.adspower.net:50325/ или http://localhost:50325/, порт может меняться; лимит частоты для всех методов — 1 запрос в секунду; включается в разделе «Управление аккаунтом», «Настройки», Local API.
Прочитано 15 ноября 2026: POST /browser/update создаёт окно, если id пустой, и меняет, если id передан; поля прокси proxyMethod (2 — свой прокси), proxyType (noproxy, http, https, socks5), host, port, proxyUserName, proxyPassword; /browser/proxy/update меняет прокси пакетно.
Прочитано 15 ноября 2026: установите браузер и войдите, затем возьмите URL локального API в системных настройках; все запросы — POST с параметрами в теле.
Готовы попробовать?
Создайте аккаунт, пополните баланс и выберите ротируемый резидентный, статический ISP или дата-центр IP — настроить его в браузере можно за несколько минут.