Каталог

Список всех доступных методов для взаимодействия с API.

GET

Каталог и прайс

Новое/catalog/config

Каталог и прайс-лист

Всё, что нужно для расчёта, в одном запросе: товары с их вариантами и правилами, продолжительность периодов на сегодня, курсы валют и полный прайс-лист.

Примечания

  • Рассчитайте цену на своей стороне с помощью pricing, а затем получите точную цену с сервера с помощью «Создать заказ».
  • Отправьте свой токен, чтобы получить доступ к личным скидкам и бонусам в поле user; без него цены будут общедоступными.
  • fx.approx_expires_at — это время следующего обновления курсов и продолжительности периодов — после него необходимо повторить запрос.
  • Ответ содержит ETag: отправьте запрос с заголовком If-None-Match, и вы получите статус 304, если ничего не изменилось.
  • Числа в pricing — это числа; курсы и значения в user — десятичные строки.

Способ запроса

GEThttps://api.stableproxy.com/v3/catalog/config

Примеры кода

1const baseUrl = "https://api.stableproxy.com/v3";
2const response = await fetch(baseUrl + "/catalog/config", {
3 method: "GET",
4 headers: {
5 "Content-Type": "application/json"
6 }
7});
8const data = await response.json();

Примеры ответов

Catalog — one product shown200application/json
{
  "data": {
    "version": "2026-10-06.426930f8",
    "currency": "USD",
    "fx": {
      "rates": {
        "USD": "1",
        "UAH": "45.59",
        "EUR": "0.87",
        "PLN": "3.7"
      },
      "fetched_at": "2026-03-18T00:00:58+02:00",
      "approx_expires_at": "2026-10-07T00:10:00+03:00"
    },
    "user": {
      "sale_divisor": "1",
      "bonuses": []
    },
    "categories": [
      {
        "key": "datacenter",
        "label_key": "common.proxy-types.datacenter",
        "products": [
          "shared",
          "private",
          "datacenter_gb"
        ]
      }
    ],
    "products": {
      "shared": {
        "category": "datacenter",
        "label_key": "common.proxy-types-pay-for.shared",
        "name_key": "common.proxy-types.shared",
        "pay_for": "ip",
        "links": [
          "private",
          "datacenter_gb"
        ],
        "lists": {
          "countries": "/v3/catalog/countries/shared"
        },
        "options": {
          "count": {
            "type": "int",
            "unit": "ip",
            "min": 1,
            "max": 2000,
            "default": 10,
            "presets": [
              1,
              10,
              25,
              50,
              100,
              250
            ]
          },
          "period": {
            "type": "period",
            "select": true,
            "default": "1m",
            "values": [
              {
                "key": "1w",
                "unit": "weeks",
                "amount": 1,
                "days": 7
              },
              {
                "key": "2w",
                "unit": "weeks",
                "amount": 2,
                "days": 14
              },
              {
                "key": "1m",
                "unit": "months",
                "amount": 1,
                "days": 31
              },
              {
                "key": "1y",
                "unit": "years",
                "amount": 1,
                "days": 365
              }
            ]
          },
          "traffic": {
            "type": "int",
            "unit": "gb",
            "select": true,
            "min": 25,
            "max": 5000,
            "step": 1,
            "default": 100,
            "presets": [
              25,
              100,
              400,
              800,
              5000
            ]
          },
          "countries": {
            "type": "country_map",
            "sum_equals": "count",
            "random_allowed": true,
            "preselect_all": false,
            "list": "/v3/catalog/countries/shared"
          },
          "geo_service": {
            "type": "enum",
            "default": "overall",
            "list": "/v3/catalog/geo-services"
          },
          "ip_score": {
            "type": "int",
            "min": 0,
            "max": 100,
            "default": 0
          },
          "unlimited_ips": {
            "type": "bool",
            "default": false
          }
        },
        "rules": [
          {
            "when": {
              "days": [
                "<",
                7
              ]
            },
            "limit": {
              "count": {
                "max": 25
              }
            }
          },
          {
            "when": {
              "days": [
                "<",
                14
              ]
            },
            "limit": {
              "count": {
                "max": 50
              }
            }
          },
          {
            "when": {
              "days": [
                "<",
                28
              ]
            },
            "limit": {
              "count": {
                "max": 100
              }
            }
          },
          {
            "when": {
              "count": [
                ">=",
                100
              ]
            },
            "hide": {
              "traffic": [
                25
              ]
            }
          }
        ]
      }
    },
    "pricing": {
      "unlimited_ips_fee": {
        "default": 2,
        "mobile": 1,
        "payasgo": 1,
        "peer": 1
      },
      "referral_sale": 0.05
    }
  },
  "meta": []
}
GET

Страны продукта

Новое/catalog/countries/{product}
Заменяет старые методы v2

Этот метод API v3 заменяет такие методы API v2 (они ещё работают):

Страны, в которые поставляется товар

Сведения о том, в какие страны можно доставить товар, сколько адресов доступно в данный момент (available) и на сколько адресов можно осуществить доставку сразу (instant).

Примечания

  • ZZ означает «любая страна».

  • surcharge: true обозначает, что для данной страны применяется коэффициент наценки (см. pricing.country_multiplier).

  • geo_service изменяет базу данных, определяющую страну (только для общих и частных продуктов).

"data": {

"product": "shared",

"geo_service": "overall",

"countries": [

{

"code": "ZZ",

"available": 184,

"instant": 184,

"surcharge": false

},

{

"code": "DK",

"available": 1,

"instant": 1,

"surcharge": false

},

{

"code": "LT",

"available": 1,

"instant": 1,

"surcharge": false

}

]

},

"meta": {}

}

"error": {

"code": "not_found",

"message": "Не найдено.",

"details": {}

}

}

Способ запроса

GEThttps://api.stableproxy.com/v3/catalog/countries/{product}

Параметры запроса

ИдентификаторПравилаПример
geo_serviceНе обязательноnullablestringoverall
product1requiredstringshared

Примеры кода

1const baseUrl = "https://api.stableproxy.com/v3";
2const response = await fetch(baseUrl + "/catalog/countries/{product}", {
3 method: "GET",
4 headers: {
5 "Content-Type": "application/json"
6 }
7});
8const data = await response.json();

Примеры ответов

Countries — first three200application/json
 {
Unknown product404application/json
 {
GET

Города страны

Новое/catalog/cities/{product}

Города страны

Города, на которые можно ориентироваться при продаже продукта для частных лиц, в порядке убывания по размеру, с указанием количества адресов в каждом из них.

Примечания

  • supported: false означает, что в базе данных продукта отсутствуют данные по городам — оформляйте заказ без указания городов.

  • Города не являются обязательными: указывайте их при генерации прокси для пакета, а не при его покупке.

"data": {

"product": "residential_gb",

"country": "US",

"supported": true,

"cities": [

{

"code": "ashburn",

"name": "Ashburn",

"count": 16611

},

{

"code": "dallas",

"name": "Dallas",

"count": 13999

},

{

"code": "newyork",

"name": "Нью-Йорк",

"count": 5300

}

]

},

"meta": {}

}

"error": {

"code": "validation_failed",

"message": "Некоторые поля заполнены некорректно.",

"details": {

"country": [

"Поле 'country' является обязательным."

]

}

}

}

Способ запроса

GEThttps://api.stableproxy.com/v3/catalog/cities/{product}

Параметры запроса

ИдентификаторПравилаПример
countryrequiredstringsize:2alphaUS
product1requiredstringresidential_gb

Примеры кода

1const baseUrl = "https://api.stableproxy.com/v3";
2const response = await fetch(baseUrl + "/catalog/cities/{product}", {
3 method: "GET",
4 headers: {
5 "Content-Type": "application/json"
6 }
7});
8const data = await response.json();

Примеры ответов

Cities — first three200application/json
 {
Missing country422application/json
 {
GET

Сервисы геолокации

Новое/catalog/geo-services
Заменяет старые методы v2

Этот метод API v3 заменяет такие методы API v2 (они ещё работают):

Сервисы геолокации

Какая база данных IP-адресов определяет страну прокси-сервера. Значение overall объединяет все базы данных и является значением по умолчанию.

Примечания

  • Только продукты в массиве products допускают использование сервиса, отличного от overall.

"data": {

"default": "overall",

"products": [

"shared",

"private"

],

"services": [

{

"key": "overall",

"label_key": "common.words.geo-service.overall"

},

{

"key": "ip2location",

"label_key": "common.words.geo-service.ip2location"

},

{

"key": "adspower",

"label_key": "common.words.geo-service.adspower"

},

{

"key": "dolphin",

"label_key": "common.words.geo-service.dolphin"

}

]

},

"meta": {}

}

Способ запроса

GEThttps://api.stableproxy.com/v3/catalog/geo-services

Примеры кода

1const baseUrl = "https://api.stableproxy.com/v3";
2const response = await fetch(baseUrl + "/catalog/geo-services", {
3 method: "GET",
4 headers: {
5 "Content-Type": "application/json"
6 }
7});
8const data = await response.json();

Примеры ответов

Services200application/json
 {