API для прокси
REST API для своих программ, парсеров и реселлеров: смотрите каталог и наличие, покупайте прокси с баланса, выгружайте списки в нужном формате, продлевайте и заменяйте. Всё, что есть в кабинете, доступно одним запросом. API-ключ - в личном кабинете, раздел «Аккаунт».
https://truesocks.net/api/v1Authorization: Bearer <ключ>?key=<ключ>, но заголовок надёжнее: ключ не попадает в логи и историю.Content-Type: application/json), ответы - JSON в UTF-8. Даты - ISO 8601 в UTC.price: 149.5) и в копейках (price_kopecks: 14950) - считайте в копейках, чтобы не было ошибок округления.Быстрый старт
Сохраните ключ в переменную окружения и купите 2 прокси IPv4 в Германии на 30 дней, затем выгрузите их в файл:
export TRUESOCKS_KEY="ваш_ключ"
curl -X POST https://truesocks.net/api/v1/orders \
-H "Authorization: Bearer $TRUESOCKS_KEY" -H "Content-Type: application/json" \
-d '{"kind":"ipv4","country":"DE","days":30,"quantity":2}'
curl -H "Authorization: Bearer $TRUESOCKS_KEY" \
"https://truesocks.net/api/v1/orders/100245/proxies?format=ip:port:user:pass" > proxies.txt/api/v1/catalogКаталог: типы, страны, тарифы и наличиеТариф - это тип × страна × срок. Цена указана за 1 единицу (IP, ГБ или канал) на весь срок. stock - сколько можно выдать прямо сейчас.
| Параметр | Тип | Описание |
|---|---|---|
| kind | строка | необязательно: фильтр по типу (ipv4, ipv6, isp, resi, mobile, shared) |
| country | строка | необязательно: фильтр по стране, код ISO из двух букв (DE, US, NL) |
curl -H "Authorization: Bearer $TRUESOCKS_KEY" "https://truesocks.net/api/v1/catalog?kind=ipv4&country=DE"
{
"currency": "RUB",
"updated_at": "2026-10-23T12:00:00.000Z",
"kinds": [
{ "id": "ipv4", "name": "Индивидуальные IPv4", "short": "IPv4",
"tier": "business", "unit": "ip", "description": "...", "has_tariffs": true }
],
"countries": [
{ "code": "DE", "name_ru": "Германия", "name_en": "Germany",
"region": "Европа", "kinds": ["ipv4"] }
],
"tariffs": [
{ "id": 1042, "kind": "ipv4", "country": "DE", "days": 30,
"price": 149, "price_kopecks": 14900,
"old_price": null, "old_price_kopecks": null,
"min_qty": 1, "max_qty": 1000, "stock": 87, "hit": true }
],
"discounts": [ { "kind": null, "min_qty": 10, "percent": 5 } ]
}/api/v1/balanceБалансcurl -H "Authorization: Bearer $TRUESOCKS_KEY" https://truesocks.net/api/v1/balance
{ "balance": 1520.5, "balance_kopecks": 152050, "currency": "RUB" }/api/v1/ordersКупить проксиДеньги списываются с баланса, прокси выдаются сразу и приходят в ответе. Если на складе не хватает адресов, заказ не создаётся и деньги не списываются. Тариф можно указать номером (tariff_id из каталога) или тройкой kind + country + days.
| Параметр | Тип | Описание |
|---|---|---|
| tariff_id | число | номер тарифа из /catalog (или kind, country, days) |
| kind | строка | тип прокси, например ipv4 |
| country | строка | код страны, например DE |
| days | число | срок в днях, например 30 |
| quantity | число | количество IP (для резидентских - гигабайт) |
| protocol | строка | socks5 (по умолчанию) или http |
| auth | строка | login (по умолчанию) - логин и пароль; ip - доступ по IP |
| ips | строка или массив | для auth=ip: до 20 IP через запятую |
| auto_renew | true/false | автопродление на тот же срок с баланса за час до конца |
| comment | строка | необязательно: ваша заметка (до 200 символов) |
curl -X POST https://truesocks.net/api/v1/orders \
-H "Authorization: Bearer $TRUESOCKS_KEY" \
-H "Content-Type: application/json" \
-d '{"kind":"ipv4","country":"DE","days":30,"quantity":2,"protocol":"socks5","auto_renew":true}'HTTP/1.1 201 Created
{
"order": {
"num": 100245, "status": "active",
"kind": "ipv4", "kind_name": "Индивидуальные IPv4",
"country": "DE", "country_name": "Германия",
"days": 30, "quantity": 2, "unit": "ip", "unit_label": "шт.",
"unit_price": 149, "unit_price_kopecks": 14900, "discount_percent": 0,
"charge": 298, "charge_kopecks": 29800, "refunded": 0, "refunded_kopecks": 0,
"protocol": "socks5", "auth": "login", "allowed_ips": [], "auto_renew": true,
"created_at": "2026-10-23T12:00:00.000Z", "expires_at": "2026-11-22T12:00:00.000Z",
"proxies_active": 2,
"proxies": [
{ "lease_id": "cm2x7l0a40001", "host": "185.10.20.31", "port": 8000,
"http_port": 8000, "socks5_port": 8001,
"username": "u7Hq", "password": "Kp29xT", "exit_ip": null, "city": null,
"rotate_url": null, "status": "active", "expires_at": "2026-11-22T12:00:00.000Z" }
]
},
"balance": 1222.5, "balance_kopecks": 122250
}/api/v1/ordersСписок заказов| Параметр | Тип | Описание |
|---|---|---|
| status | строка | active, expired, canceled, pending или all (по умолчанию all) |
| limit | число | сколько вернуть, 1-100 (по умолчанию 50) |
| offset | число | сколько пропустить, для постраничного вывода |
curl -H "Authorization: Bearer $TRUESOCKS_KEY" "https://truesocks.net/api/v1/orders?status=active"
{
"total": 3, "limit": 50, "offset": 0,
"orders": [ { "num": 100245, "status": "active", "kind": "ipv4", "country": "DE",
"quantity": 2, "expires_at": "2026-11-22T12:00:00.000Z",
"auto_renew": true, "proxies_active": 2, "...": "..." } ]
}/api/v1/orders/{num}Заказ со списком проксиТе же поля, что при покупке, плюс proxies - только работающие сейчас прокси (после замены - новые).
curl -H "Authorization: Bearer $TRUESOCKS_KEY" https://truesocks.net/api/v1/orders/100245
{ "order": { "num": 100245, "status": "active", "...": "...", "proxies": [ ... ] } }/api/v1/orders/{num}/proxiesВыгрузка прокси в нужном форматеС параметром format ответ - обычный текст, по одному прокси на строку: удобно сразу сохранить в файл. Без format - JSON.
| Параметр | Тип | Описание |
|---|---|---|
| format | строка | ip:port:user:pass | user:pass@ip:port | ip:port@user:pass | url | ip:port |
| protocol | строка | http или socks5 - порт и схема для url (по умолчанию как в заказе) |
curl -H "Authorization: Bearer $TRUESOCKS_KEY" \ "https://truesocks.net/api/v1/orders/100245/proxies?format=url&protocol=socks5" > proxies.txt
Content-Type: text/plain; charset=utf-8 socks5://u7Hq:[email protected]:8001 socks5://Lm3a:[email protected]:8001
/api/v1/orders/{num}/renewПродлить заказСписывает стоимость с баланса и сдвигает срок всех прокси заказа. Адреса и доступы не меняются. Доступные сроки - тарифы того же типа и страны в /catalog.
| Параметр | Тип | Описание |
|---|---|---|
| days | число | на сколько дней продлить (по умолчанию - срок заказа) |
curl -X POST https://truesocks.net/api/v1/orders/100245/renew \
-H "Authorization: Bearer $TRUESOCKS_KEY" -H "Content-Type: application/json" \
-d '{"days":30}'{
"order": { "num": 100245, "expires_at": "2026-12-22T12:00:00.000Z", "...": "..." },
"renewal": { "days": 30, "charge": 298, "charge_kopecks": 29800 },
"balance": 924.5, "balance_kopecks": 92450
}/api/v1/orders/{num}/auto-renewВключить или выключить автопродлениеЗа час до конца срока заказ продлевается на тот же срок с баланса. Если денег не хватит, автопродление выключится, и мы пришлём письмо и сообщение в Telegram.
| Параметр | Тип | Описание |
|---|---|---|
| enabled | true/false | включить или выключить |
curl -X POST https://truesocks.net/api/v1/orders/100245/auto-renew \
-H "Authorization: Bearer $TRUESOCKS_KEY" -H "Content-Type: application/json" \
-d '{"enabled":true}'{ "num": 100245, "auto_renew": true }/api/v1/leases/{lease_id}/replaceЗаменить неработающий проксиБесплатно в течение 24 часов после покупки, не больше числа прокси в заказе. lease_id - из списка proxies. Новый прокси той же страны и типа, срок прежний.
| Параметр | Тип | Описание |
|---|---|---|
| reason | строка | что не так, например «не подключается» (необязательно) |
curl -X POST https://truesocks.net/api/v1/leases/cm2x7l0a40001/replace \
-H "Authorization: Bearer $TRUESOCKS_KEY" -H "Content-Type: application/json" \
-d '{"reason":"timeout"}'{ "replaced_lease_id": "cm2x7l0a40001", "order": 100245,
"proxy": { "lease_id": "cm2x9p1b70007", "host": "185.10.20.58", "port": 8000, "...": "..." } }Ошибки
При ошибке приходит HTTP-статус и JSON с понятным текстом и машинным кодом. Деньги при любой ошибке не списываются.
HTTP/1.1 402 Payment Required
{ "error": "Недостаточно средств на балансе", "code": "insufficient_funds" }| HTTP | code | Когда |
|---|---|---|
| 400 | bad_request | неверные параметры или тело запроса не JSON |
| 401 | unauthorized | нет ключа, ключ неверный или аккаунт заблокирован |
| 402 | insufficient_funds | на балансе не хватает денег |
| 404 | not_found | заказ или прокси не найдены (или принадлежат другому аккаунту) |
| 409 | out_of_stock | нужного количества нет на складе, деньги не списаны |
| 422 | tariff_unavailable | тариф снят с продажи или такого срока продления нет |
| 422 | invalid_quantity | количество вне допустимых min_qty-max_qty |
| 422 | invalid_ips | неверный IP в ips или их больше 20 |
| 422 | order_error | другая причина отказа - текст в поле error |
| 429 | rate_limited | превышен лимит запросов |
| 500 | internal | ошибка на нашей стороне, повторите позже |
Форматы выдачи
| format | Пример строки |
|---|---|
| ip:port:user:pass | 185.10.20.31:8000:u7Hq:Kp29xT |
| user:pass@ip:port | u7Hq:[email protected]:8000 |
| ip:port@user:pass | 185.10.20.31:8000@u7Hq:Kp29xT |
| url | socks5://u7Hq:[email protected]:8001 |
| ip:port | 185.10.20.31:8000 (для доступа по IP) |
Если HTTP и SOCKS5 работают на разных портах, порт зависит от параметра protocol. В JSON оба порта приходят в полях http_port и socks5_port. Для заказов с доступом по IP логин и пароль в текстовых форматах не выводятся.
Уведомления
О выдаче, продлении, неудачном автопродлении, скором окончании (за 3 дня) и истечении срока мы пишем на почту и в привязанный Telegram. Вопросы по интеграции - в поддержку: Telegram или [email protected].