Katalog

Lista wszystkich publicznie dostępnych metod interakcji z API.

GET

Katalog i cennik

Nowe/catalog/config
Zastępuje starsze metody v2

Ta metoda API v3 zastępuje te metody API v2 (nadal działają):

Katalog i cennik

Wszystko, czego potrzebuje kalkulator, w jednym żądaniu: produkty wraz z opcjami i zasadami, długości okresów na dzisiejszy dzień, kursy walut oraz pełny cennik.

Uwagi

  • Oblicz cenę po swojej stronie na podstawie pricing, a następnie uzyskaj dokładną cenę z serwera za pomocą funkcji Utwórz zamówienie.
  • Wyślij swój token, aby uzyskać dostęp do własnych promocji i bonusów w user; bez niego ceny są publiczne.
  • fx.approx_expires_at to moment, w którym kursy i długości okresów ulegną kolejnej zmianie — po upływie tego czasu pobierz dane ponownie.
  • Odpowiedź zawiera ETag: wyślij If-None-Match, a otrzymasz kod 304, jeśli nic się nie zmieniło.
  • Liczby w pricing są liczbami; kursy i wartości w user są ciągami dziesiętnymi.

Metoda zapytania

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

Przykłady kodu

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();

Przykłady odpowiedzi

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

Kraje produktu

Nowe/catalog/countries/{product}
Zastępuje starsze metody v2

Ta metoda API v3 zastępuje te metody API v2 (nadal działają):

Kraje, do których dostarczany jest produkt

Gdzie produkt może zostać dostarczony, ile adresów jest obecnie bezpłatnych (dostępnych) i gdzie można go odebrać od razu (natychmiastowo).

Uwagi

  • ZZ oznacza „dowolny kraj”.

  • surcharge: true oznacza, że cena dla danego kraju jest obliczana z zastosowaniem mnożnika (patrz pricing.country_multiplier).

  • geo_service zmienia bazę danych, na podstawie której określany jest kraj (tylko opcje „shared” i „private”).

"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": "Nie znaleziono.",

"details": {}

}

}

Metoda zapytania

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

Parametry zapytania

IdentyfikatorRegulaminPrzykład
geo_serviceNie koniecznienullablestringoverall
product1requiredstringshared

Przykłady kodu

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();

Przykłady odpowiedzi

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

Miasta kraju

Nowe/catalog/cities/{product}

Miasta w danym kraju

Miasta, w których można oferować produkt dla klientów indywidualnych, uporządkowane według wielkości (od największego), wraz z liczbą adresów w każdym z nich.

Uwagi

  • supported: false oznacza, że w puli produktu brakuje danych dotyczących miast — zamówienie nie obejmuje miast.

  • Miasta są opcjonalne: należy je podać podczas generowania proxy dla pakietu, a nie podczas jego zakupu.

"data": {

"product": "residential_gb",

"country": "US",

"supported": true,

"cities": [

{

"code": "ashburn",

"name": "Ashburn",

"count": 16611

},

{

"code": "dallas",

"name": "Dallas",

"count": 13999

},

{

"code": "newyork",

"name": "New York",

"count": 5300

}

]

},

"meta": {}

}

"error": {

"code": "validation_failed",

"message": "Niektóre pola są nieprawidłowe.",

"details": {

"country": [

"Pole 'country' jest wymagane."

]

}

}

}

Metoda zapytania

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

Parametry zapytania

IdentyfikatorRegulaminPrzykład
countryrequiredstringsize:2alphaUS
product1requiredstringresidential_gb

Przykłady kodu

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();

Przykłady odpowiedzi

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

Usługi geolokalizacji

Nowe/catalog/geo-services
Zastępuje starsze metody v2

Ta metoda API v3 zastępuje te metody API v2 (nadal działają):

Usługi geolokalizacyjne

Która baza danych adresów IP decyduje o kraju serwera proxy. Opcja overall łączy je wszystkie i jest ustawieniem domyślnym.

Uwagi

  • Tylko produkty z sekcji products akceptują ustawienie inne niż 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": {}

}

Metoda zapytania

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

Przykłady kodu

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();

Przykłady odpowiedzi

Services200application/json
 {