List Orders
curl --request GET \
--url https://dashboard.statproxies.com/api/v2/order/listimport requests
url = "https://dashboard.statproxies.com/api/v2/order/list"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://dashboard.statproxies.com/api/v2/order/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://dashboard.statproxies.com/api/v2/order/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://dashboard.statproxies.com/api/v2/order/list"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://dashboard.statproxies.com/api/v2/order/list")
.asString();require 'uri'
require 'net/http'
url = URI("https://dashboard.statproxies.com/api/v2/order/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"response": "<string>",
"summary": {},
"summary.total_orders": 123,
"summary.total_proxies": 123,
"summary.by_category": {},
"summary.by_status": {},
"orders": [
{}
]
}Order API
List Orders
List all active and cancelled (not yet expired) orders for the authenticated user or organization.
GET
/
api
/
v2
/
order
/
list
List Orders
curl --request GET \
--url https://dashboard.statproxies.com/api/v2/order/listimport requests
url = "https://dashboard.statproxies.com/api/v2/order/list"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://dashboard.statproxies.com/api/v2/order/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://dashboard.statproxies.com/api/v2/order/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://dashboard.statproxies.com/api/v2/order/list"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://dashboard.statproxies.com/api/v2/order/list")
.asString();require 'uri'
require 'net/http'
url = URI("https://dashboard.statproxies.com/api/v2/order/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"response": "<string>",
"summary": {},
"summary.total_orders": 123,
"summary.total_proxies": 123,
"summary.by_category": {},
"summary.by_status": {},
"orders": [
{}
]
}Retrieve a list of all active and cancelled (not yet expired) orders. Optionally include proxy details, and optionally include expired orders, in the response.
Each order includes a
Add
status field that is one of:
active— currently active and renewingcancelled— set to cancel at period end, but still usable until expirationpending— a renewal payment failed. Update your payment method to keep the orderexpired— past its expiration date (only returned wheninclude_expired=true)
Request
Headers
| Header | Value | Required |
|---|---|---|
Authorization | Bearer {your_api_key} | Yes |
Query Parameters
boolean
Set to
true to include proxy details in the response. Default is false.boolean
Set to
true to also include expired orders. Expired orders are excluded by default.string
Proxy format when
include_proxies=true. Options:ipup-ip:port:username:password(default)upip-username:password:ip:portupaip-username:password@ip:portobject- JSON object format
string
http (default) or socks5. With socks5, each proxy comes back with the SOCKS5 port in place of the HTTP port. The IPs, username and password stay the same. Leave it off and you get the same HTTP list as before. Any other value returns 400. Only applies when include_proxies=true.string
windows, macos, ios or linux. Adds -os-<value> to each username in proxies to choose that TCP/IP fingerprint. The password, IP and port stay the same. Only applies when include_proxies=true. Leave it off for the default list. Any other value, including android, returns 400.Example Requests
Get Order Summaries
curl -X GET "https://dashboard.statproxies.com/api/v2/order/list" \
-H "Authorization: Bearer {your_api_key}"
Get Orders with Proxy Details
curl -X GET "https://dashboard.statproxies.com/api/v2/order/list?include_proxies=true" \
-H "Authorization: Bearer {your_api_key}"
Get Orders with Custom Format
curl -X GET "https://dashboard.statproxies.com/api/v2/order/list?include_proxies=true&format=object" \
-H "Authorization: Bearer {your_api_key}"
Get Orders with SOCKS5 Proxies
curl -X GET "https://dashboard.statproxies.com/api/v2/order/list?include_proxies=true&protocol=socks5" \
-H "Authorization: Bearer {your_api_key}"
Include Expired Orders
curl -X GET "https://dashboard.statproxies.com/api/v2/order/list?include_expired=true" \
-H "Authorization: Bearer {your_api_key}"
Response
Success Response (Without Proxies)
{
"response": "success",
"summary": {
"total_orders": 3,
"total_proxies": 30,
"by_category": {
"datacenter": {
"count": 2,
"total_quantity": 20
},
"residential": {
"count": 1,
"total_quantity": 10
}
},
"by_status": {
"active": 2,
"cancelled": 1
}
},
"orders": [
{
"order_id": "sub_1rqjp3jb4g9i6pkhdwmkpjob",
"subscription_id": "sub_1RqJP3JB4G9i6PKHDwmKPJOb",
"status": "active",
"product_type": "captcha",
"product_name": "Captcha Proxies",
"product_category": "datacenter",
"quantity": 10,
"unix_purchase_date": 1753815092,
"unix_expiration_date": 1756493492,
"customer": "clientabc",
"origination": "api",
"proxy_username": "sub_1rqjp3jb4g9i6pkhdwmkpjob"
}
]
}
Success Response (With Proxies)
{
"response": "success",
"summary": {
"total_orders": 1,
"total_proxies": 10,
"by_category": {
"datacenter": {
"count": 1,
"total_quantity": 10
}
},
"by_status": {
"active": 1
}
},
"orders": [
{
"order_id": "sub_1rqjp3jb4g9i6pkhdwmkpjob",
"subscription_id": "sub_1RqJP3JB4G9i6PKHDwmKPJOb",
"status": "active",
"product_type": "captcha",
"product_name": "Captcha Proxies",
"product_category": "datacenter",
"quantity": 10,
"unix_purchase_date": 1753815092,
"unix_expiration_date": 1756493492,
"proxy_username": "sub_1rqjp3jb4g9i6pkhdwmkpjob",
"proxy_password": "stat261",
"customer": "clientabc",
"origination": "api",
"proxies": [
"31.193.191.6:3128:sub_1rqjp3jb4g9i6pkhdwmkpjob:stat261",
"31.193.191.7:3128:sub_1rqjp3jb4g9i6pkhdwmkpjob:stat261"
]
}
]
}
No Orders
{
"response": "success",
"message": "No active orders found",
"total_orders": 0,
"orders": []
}
Response Fields
string
Status of the request.
object
Summary statistics for all orders.
integer
Total number of orders returned.
integer
Sum of
quantity across all returned orders.object
Breakdown of orders by product category.
object
Breakdown of orders by status (
active, cancelled, expired). Only statuses present in the result set are included.array
Array of order objects.
Order Object Fields
| Field | Type | Description |
|---|---|---|
order_id | string | Unique order identifier |
subscription_id | string | Stripe subscription ID |
status | string | Order status: active, cancelled (set to cancel at period end but still usable), pending (renewal payment failed), or expired |
product_type | string | Product type identifier |
product_name | string | Human-readable product name |
product_category | string | Category (datacenter, residential) |
quantity | integer | Number of proxies |
unix_purchase_date | integer | Purchase timestamp |
unix_expiration_date | integer | Expiration timestamp |
customer | string | Customer identifier (if set) |
origination | string | How the order was created, for example api, stripe (dashboard checkout), dashboard, manual |
proxy_username | string | Proxy authentication username |
proxy_password | string | Proxy authentication password (only with include_proxies=true) |
proxies | array | List of proxy strings (only with include_proxies=true, datacenter orders only) |
error | string | Present when the proxy list for that order could not be loaded. proxies is empty in that case. |
Proxy Formats
Wheninclude_proxies=true, you can specify the format:
| Format | Example Output |
|---|---|
ipup (default) | 31.193.191.6:3128:username:password |
upip | username:password:31.193.191.6:3128 |
upaip | username:password@31.193.191.6:3128 |
object | {"ip": "31.193.191.6", "port": 3128, "username": "...", "password": "..."} |
protocol=socks5 to get any of these formats with the SOCKS5 port. The IP, username and password don’t change.
Add fingerprint=windows|macos|ios|linux to get any of these formats with a TCP/IP fingerprint suffix on the username. See TCP Fingerprint Profiles.
Error Responses
400 Bad Request - Invalid Protocol
{
"message": "Invalid protocol. Use 'http' (default) or 'socks5'."
}
400 Bad Request - Invalid Fingerprint
{
"message": "Invalid fingerprint. Use 'windows', 'macos', 'ios' or 'linux'."
}
