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, латиницею й цифрами. |