Proxies

A list of all publicly available methods for interacting with the API.

PUT

Change proxy location

/package/proxy/{id}/{proxyIndex}/location

Move already generated per-GB proxies to another country, region or city in place.

The proxies keep their host, port, login and password; only where they exit changes. proxyIndex takes one index, a comma-separated list or all. Send cities: [] (and regions: []) to drop the city from a batch.

This method requires authorization!
You can use your own API key, which can be obtained at control panel.
This method - requires permissions -packages-proxies.update
When creating an API token in your control panel, you can choose certain permissions (for example: prevent the token from placing orders).
You can also find a list of permissions in our documentation.

Query method

PUThttps://api.stableproxy.com/v2/package/proxy/{id}/{proxyIndex}/location

Query parameters

IdentifierRegulationsExample
countriesNot necessarilynullablearray{"UA": 10, "PL": 20}
regionsNot necessarilynullablearraydistinct7
citiesNot necessarilynullablearraydistinct10
countries.*Not necessarilydistinctstringcountry_code{"UA": 10, "PL": 20}
regions.*stringrequired101
cities.*stringrequired92
id1required19
proxyIndex1required65

Code examples

1const baseUrl = "https://api.stableproxy.com/v2";
2const response = await fetch(baseUrl + "/package/proxy/{id}/{proxyIndex}/location", {
3 method: "PUT",
4 headers: {
5 "Authorization": "API-Token [YOUR TOKEN]",
6 "Content-Type": "application/json"
7 },
8 body: JSON.stringify({
9 "countries": "{\"UA\": 10, \"PL\": 20}",
10 "regions": 7,
11 "cities": 10,
12 "countries.*": "{\"UA\": 10, \"PL\": 20}",
13 "regions.*": 101,
14 "cities.*": 92
15 })
16});
17const data = await response.json();
PUT

Change proxy pool

/package/proxy/{id}/{proxyIndex}/pool
Deprecated

This method still works, but API v3 has a newer one.

Use the v3 method instead

Change the pool for an already-added residential proxy.

Passing pool_id=null reverts to the default pool. Only applicable to residential_gb and residential_city_gb package types.

This method requires authorization!
You can use your own API key, which can be obtained at control panel.
This method - requires permissions -packages-proxies.update
When creating an API token in your control panel, you can choose certain permissions (for example: prevent the token from placing orders).
You can also find a list of permissions in our documentation.

Query method

PUThttps://api.stableproxy.com/v2/package/proxy/{id}/{proxyIndex}/pool

Query parameters

IdentifierRegulationsExample
pool_idNot necessarilynullablestring22
id1required81
proxyIndex1required93

Code examples

1const baseUrl = "https://api.stableproxy.com/v2";
2const response = await fetch(baseUrl + "/package/proxy/{id}/{proxyIndex}/pool", {
3 method: "PUT",
4 headers: {
5 "Authorization": "API-Token [YOUR TOKEN]",
6 "Content-Type": "application/json"
7 },
8 body: JSON.stringify({
9 "pool_id": 22
10 })
11});
12const data = await response.json();
GET

Get note

/package/note/{id}/{proxyIndex}
Deprecated

This method still works, but API v3 has a newer one.

Use the v3 method instead

You can read note for proxy.

This method requires authorization!
You can use your own API key, which can be obtained at control panel.
This method - requires permissions -packages.set-note
When creating an API token in your control panel, you can choose certain permissions (for example: prevent the token from placing orders).
You can also find a list of permissions in our documentation.

Query method

GEThttps://api.stableproxy.com/v2/package/note/{id}/{proxyIndex}

Query parameters

IdentifierRegulationsExample
noteNot necessarilynullablestring98
id1required6
proxyIndex1required95

Code examples

1const baseUrl = "https://api.stableproxy.com/v2";
2const response = await fetch(baseUrl + "/package/note/{id}/{proxyIndex}", {
3 method: "GET",
4 headers: {
5 "Authorization": "API-Token [YOUR TOKEN]",
6 "Content-Type": "application/json"
7 }
8});
9const data = await response.json();

Examples of answers

Success response200application/json
{
  "data": {
    "note": "A note"
  },
  "good": true,
  "timestamp": 1731487566,
  "cause": {
    "type": "user",
    "user_id": 1,
    "token_id": 9845,
    "token_sign": "edd87db549cd52292a47ad455bbea947"
  }
}
PUT

Change all proxies pool

/package/proxy/{id}/pool
Deprecated

This method still works, but API v3 has a newer one.

Use the v3 method instead

Change the pool for ALL proxies in a package at once.

Iterates over all sub-users and updates every proxy's pool_id. Passing pool_id=null removes the explicit pool (reverts to upstream default routing). Only applicable to residential_gb and residential_city_gb package types.

This method requires authorization!
You can use your own API key, which can be obtained at control panel.
This method - requires permissions -packages-proxies.update
When creating an API token in your control panel, you can choose certain permissions (for example: prevent the token from placing orders).
You can also find a list of permissions in our documentation.

Query method

PUThttps://api.stableproxy.com/v2/package/proxy/{id}/pool

Query parameters

IdentifierRegulationsExample
pool_idNot necessarilynullablestring47
id1required89

Code examples

1const baseUrl = "https://api.stableproxy.com/v2";
2const response = await fetch(baseUrl + "/package/proxy/{id}/pool", {
3 method: "PUT",
4 headers: {
5 "Authorization": "API-Token [YOUR TOKEN]",
6 "Content-Type": "application/json"
7 },
8 body: JSON.stringify({
9 "pool_id": 47
10 })
11});
12const data = await response.json();
GET

Get proxy pools

/package/proxy/{id}/pools
Deprecated

This method still works, but API v3 has a newer one.

Use the v3 method instead

Get available proxy pools for a package. Only applicable to residential_gb and residential_city_gb package types.

This method requires authorization!
You can use your own API key, which can be obtained at control panel.
This method - requires permissions -packages-proxies.read
When creating an API token in your control panel, you can choose certain permissions (for example: prevent the token from placing orders).
You can also find a list of permissions in our documentation.

Query method

GEThttps://api.stableproxy.com/v2/package/proxy/{id}/pools

Query parameters

IdentifierRegulationsExample
id1required87

Code examples

1const baseUrl = "https://api.stableproxy.com/v2";
2const response = await fetch(baseUrl + "/package/proxy/{id}/pools", {
3 method: "GET",
4 headers: {
5 "Authorization": "API-Token [YOUR TOKEN]",
6 "Content-Type": "application/json"
7 }
8});
9const data = await response.json();