API для разработчиков
Управляйте планами из своих скриптов и сервисов: узнавайте остаток трафика, получайте строки прокси, добавляйте IP-адреса и докупайте гигабайты с баланса без входа в кабинет.
Быстрый старт
Создайте ключ в кабинете: «Настройки» → «API». Ключ показываем полностью только один раз — сразу сохраните его в менеджере паролей или переменной окружения. Действует до 5 ключей на аккаунт; ненужный ключ отзовите там же.
Все адреса начинаются с https://prokso.com/api/v1, ответы — JSON, деньги — в центах доллара (USD), трафик — в байтах и ГБ, время — UTC в формате ISO 8601.
curl https://prokso.com/api/v1/me \
-H "Authorization: Bearer $PROKSO_KEY"
Авторизация
Передавайте ключ в заголовке Authorization: Bearer <ключ> или X-API-Key. Сессия кабинета в браузере для API не действует. Запросы с заблокированного или удалённого аккаунта и с отозванным ключом получают ответ 401.
Ограничения
- До 60 запросов в минуту на один ключ. Больше — ответ 429 и заголовок
Retry-Afterс числом секунд до следующей попытки. - До 20 неудачных попыток авторизации за 10 минут с одного IP-адреса (для IPv6 — из сети /64), дальше — 429.
- Не больше 1000 строк прокси за один запрос, до 5 IP-адресов в белом списке плана.
Ошибки
Ошибка всегда приходит в одном формате с подходящим HTTP-кодом:
{"error": {"code": "insufficient_balance", "message": "Not enough money on the balance. Top it up in the dashboard."}}
| HTTP | code | Что значит |
|---|---|---|
| 400 | validation_error, invalid_json, below_minimum_order | Неверные параметры или заказ не проходит условия из GET /api/v1/prices. |
| 401 | unauthorized | Нет ключа, ключ неверный или отозван. |
| 402 | insufficient_balance | На балансе недостаточно средств. Ничего не списано. |
| 404 | not_found | Плана или заказа нет либо они принадлежат другому аккаунту. |
| 409 / 422 | idempotency_in_progress, idempotency_key_reused | Запрос с этим Idempotency-Key ещё выполняется или ключ уже использован с другими данными. |
| 429 | rate_limited | Превышен лимит запросов — подождите столько секунд, сколько в Retry-After. |
| 503 | service_unavailable | Сеть прокси временно не отвечает — повторите через минуту. |
Покупки без дублей
Покупка через API списывает деньги только с баланса (пополняется в кабинете). Чтобы повтор запроса после обрыва связи не купил гигабайты дважды, добавьте заголовок Idempotency-Key — любую уникальную строку до 100 символов. В течение 24 часов повторный запрос с тем же ключом вернёт первый заказ (заголовок Idempotent-Replayed: true), а не создаст новый. Если запрос отклонён (например, не хватает средств), ключ можно использовать снова.
Методы
GET /api/v1/me
Почта аккаунта и баланс.
curl https://prokso.com/api/v1/me \
-H "Authorization: Bearer $PROKSO_KEY"
{
"email": "you@example.com",
"balance_cents": 4250,
"balance": "$42.50",
"currency": "USD"
}
GET /api/v1/prices
Цены за 1 ГБ и условия одного заказа для каждого типа прокси — актуальные, как в кабинете.
curl https://prokso.com/api/v1/prices -H "Authorization: Bearer $PROKSO_KEY"
{
"currency": "USD",
"max_gb_per_order": 5000,
"pools": {
"residential": {
"tiers": [
{
"from_gb": 1,
"price_per_gb_cents": 159,
"price_per_gb": "$1.59"
}
],
"min_order_cents": 100,
"min_order": "$1.00",
"min_gb": 1
},
"mobile": {...},
"datacenter": {...}
}
}
GET /api/v1/plans
Все планы: тип, статус (active, paused, limited), логин, купленные ГБ и остаток трафика.
curl https://prokso.com/api/v1/plans -H "Authorization: Bearer $PROKSO_KEY"
{
"plans": [{
"id": 17, "label": "Instagram UA", "pool": "residential",
"status": "active", "paused": false, "login": "a1b2c3d4", "gb_bought": 10,
"traffic": {"left_bytes": 8053063680, "used_bytes": 2684354560, "total_bytes": 10737418240,
"left_gb": 7.5, "used_gb": 2.5, "total_gb": 10.0},
"created_at": "2026-10-05T09:12:44Z"
}]
}
GET /api/v1/plans/{id}
Один план: хост, порты, логин и пароль, белый список IP, настройки пула.
curl https://prokso.com/api/v1/plans/17 -H "Authorization: Bearer $PROKSO_KEY"
{
"id": 17, "label": "Instagram UA", "pool": "residential", "status": "active", ...,
"host": "gw.prokso.com", "login": "a1b2c3d4", "password": "********",
"ports": {"http_rotating": 823, "socks5_rotating": 824, "sticky_from": 10000, "sticky_to": 20000},
"ip_whitelist": ["203.0.113.7"], "ip_whitelist_max": 5,
"pool_settings": {"countries": [], "exclude_countries": [], "exclude_asn": [], "anonymous_filter": false,
"rotation_interval_minutes": null, "blocked_hosts": [], "traffic_limit": null}
}
POST /api/v1/plans
Новый план с оплатой с баланса. pool — residential, mobile или datacenter; gb — целое число; label и promo — необязательные.
curl -X POST https://prokso.com/api/v1/plans \
-H "Authorization: Bearer $PROKSO_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 6f1c2a90-order-1" \
-d '{"pool": "residential", "gb": 10, "label": "Instagram UA"}'
201 Created
{
"order": {"id": 311, "kind": "new", "status": "fulfilled", "pool": "residential", "gb": 10,
"plan_id": 18, "amount_cents": 1590, "amount": "$15.90", ...},
"plan": {"id": 18, "login": "e5f6a7b8", ...},
"balance_cents": 2350, "balance": "$23.50"
}
POST /api/v1/plans/{id}/topup
Докупить ГБ в существующий план с баланса. Те же правила, что и для нового плана.
curl -X POST https://prokso.com/api/v1/plans/17/topup \
-H "Authorization: Bearer $PROKSO_KEY" \
-H "Idempotency-Key: 6f1c2a90-topup-1" \
-d '{"gb": 50}'
201 Created
{"order": {"id": 312, "kind": "topup", "status": "fulfilled", "gb": 50, ...}, "plan": {...}, ...}
GET /api/v1/plans/{id}/proxies
Строки прокси для плана. JSON или обычный текст.
Добавьте заголовок Accept: text/plain — получите строки обычным текстом, по одной в строке.
curl "https://prokso.com/api/v1/plans/17/proxies?country=ua&count=3&protocol=http&session=sticky" \
-H "Authorization: Bearer $PROKSO_KEY"
{
"lines": [
"a1b2c3d4__cr.ua:********@gw.prokso.com:10000",
"a1b2c3d4__cr.ua:********@gw.prokso.com:10001",
"a1b2c3d4__cr.ua:********@gw.prokso.com:10002"
],
"count": 3,
"precise_geo": false
}
GET /api/v1/plans/{id}/whitelist
POST /api/v1/plans/{id}/whitelist
DELETE /api/v1/plans/{id}/whitelist?ip=…
Белый список IP плана: посмотреть, добавить (POST с полем ip) и удалить (DELETE с параметром ip).
curl -X POST https://prokso.com/api/v1/plans/17/whitelist \
-H "Authorization: Bearer $PROKSO_KEY" \
-d '{"ip": "203.0.113.7"}'
{"ips": ["203.0.113.7"], "max": 5}
POST /api/v1/plans/{id}/pause
POST /api/v1/plans/{id}/resume
Приостановить план (прокси не работают, трафик не тратится) или возобновить.
curl -X POST https://prokso.com/api/v1/plans/17/pause -H "Authorization: Bearer $PROKSO_KEY"
{"id": 17, "status": "paused", "paused": true, ...}
PATCH /api/v1/plans/{id}
Переименовать план (label, до 60 символов).
curl -X PATCH https://prokso.com/api/v1/plans/17 \
-H "Authorization: Bearer $PROKSO_KEY" \
-d '{"label": "Ads Poland"}'
{"id": 17, "label": "Ads Poland", ...}
GET /api/v1/orders
GET /api/v1/orders/{id}
Последние заказы аккаунта (limit — до 100) и один заказ по номеру.
curl "https://prokso.com/api/v1/orders?limit=20" -H "Authorization: Bearer $PROKSO_KEY"
{"orders": [{"id": 312, "kind": "topup", "status": "fulfilled", "gb": 50, "amount": "$79.50", ...}]}
Параметры генератора прокси
Те же правила, что и в генераторе в кабинете (расширенный режим). Точное гео — штат, город, индекс, провайдер — списывает трафик вдвое.
| Параметр | Значение |
|---|---|
country | Код страны (ua) или до 10 кодов через запятую; пусто — любая страна. |
count | Количество строк, 1–1000 (по умолчанию 10). Для session=rotating достаточно одной строки. |
protocol | http или socks5. |
session | sticky — свой порт 10000–20000 на каждую строку и тот же IP; rotating — новый IP на каждый запрос (порт 823 HTTP, 824 SOCKS5); session — ротационный порт с номером сессии в логине. |
format | lp@hp, hp:lp, url, hp@lp, lp:hp или hp (только хост и порт — для доступа по IP). |
start_port | Первый порт для sticky, 10000–20000. |
state, city, zip, asn | Точное гео и провайдер (ASN) — для одной страны; штат — только для США. |
exclude_state, exclude_city, exclude_zip | Исключить штаты, города или индексы. |
session_prefix | Префикс номеров сессий для session, латиницей и цифрами. |