Get the catalog and price sheet
New/catalog/configThis API v3 method replaces these API v2 methods (they still work):
Catalog and price sheet
Everything a calculator needs in one request: products with their options and rules, period lengths for today, exchange rates and the full price sheet.
Notes
- Compute a price on your side from
pricing, then get the exact server price with Create an order. - Send your token to get your own sale and bonuses in
user; without one, prices are public. fx.approx_expires_atis when rates and period lengths next change — fetch again after it.- The response carries an
ETag: sendIf-None-Matchand you get304when nothing changed. - Numbers in
pricingare numbers; rates anduservalues are decimal strings.
Query method
Code examples
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();Examples of answers
{
"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": []
}