Browse endpoints
ProxyWing Developer API
Datacenter
Order, list, extend, rotate credentials and whitelist IPs for datacenter proxies.
List datacenter products
Returns the datacenter proxy products available for purchase, with per-location pricing.
GET /datacenter/productscurl -X GET "https://api.proxywing.com/v1/datacenter/products" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"products": [
{
"product_id": "dcprod_3",
"location": "UK",
"quantity": 1,
"price_monthly": 1.8
}
]
}Order a datacenter proxy
Purchases a datacenter proxy product using the account balance and provisions it immediately. Choose a billing_cycle of monthly, quarterly, semiannually or annually — longer terms are billed at the product's discounted per-cycle price (the same rates as the web checkout), and the total field reports exactly what was charged. Supply an Idempotency-Key header so retries of a timed-out request never double-charge the account.
Body parameters
product_idstringrequiredThe product to order, from GET /datacenter/products.
billing_cyclestringoptionalBilling term: "monthly" (default), "quarterly", "semiannually" or "annually". Longer terms bill the product's discounted per-cycle price. (Month counts 1/3/6/12 are accepted as aliases.)
promo_codestringoptionalOptional promo code. Only percentage-discount promo codes under 100% off apply via the API (a code that would zero the total is rejected).
POST /datacenter/orderscurl -X POST "https://api.proxywing.com/v1/datacenter/orders" \
-H "Authorization: Bearer pk_live_XXXXXXXX" \
-H "Idempotency-Key: b3f2a1c4-7e9d-4a2b-8c6f-1d5e9a0b3c7f" \
-H "Content-Type: application/json" \
-d '{"product_id":"dcprod_3","billing_cycle":"annually"}'{
"order_id": "ord_100001",
"invoice_id": "inv_200001",
"product_id": "dcprod_3",
"billing_cycle": "annually",
"total": 19.44,
"status": "paid"
}Get renewal terms
Returns the extension terms available for an order — 1, 3, 6 and 12 months — each with its price. Longer terms use the product's discounted per-cycle pricing, so 3/6/12 months cost less than the monthly price times the number of months. Pass one of these months values as cycle to the extend endpoint.
Path parameters
ord_idstringrequiredThe order id, e.g. ord_100001, from GET /datacenter/proxies.
GET /datacenter/orders/{ord_id}/renewal-optionscurl -X GET "https://api.proxywing.com/v1/datacenter/orders/{ord_id}/renewal-options" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"order_id": "ord_100001",
"next_due_date": "2026-09-02",
"options": [
{
"months": 1,
"total": 1.8,
"label": "1 Month",
"discount_pct": 0
},
{
"months": 3,
"total": 5.15,
"label": "3 Months",
"discount_pct": 5
},
{
"months": 6,
"total": 10.05,
"label": "6 Months",
"discount_pct": 7
},
{
"months": 12,
"total": 19.44,
"label": "12 Months",
"discount_pct": 10
}
]
}Extend a datacenter order
Generates a renewal invoice for the order's underlying service and settles it from the account balance. On payment the service's next due date and the proxy expiry advance by cycle months — status is "paid" and next_due_date confirms the new due date. Longer terms are billed at the product's discounted per-cycle price (see GET /datacenter/orders/{ord_id}/renewal-options). If the balance can't cover total, the invoice is left open and status is "awaiting_payment"; top up and repeat the call to settle the same invoice (a second one is never stacked). Supply an Idempotency-Key header so retries never double-extend.
Path parameters
ord_idstringrequiredThe order id to extend, e.g. ord_100001.
Body parameters
cycleintegerrequiredTerm to extend by, in months: 1, 3, 6 or 12. See GET /renewal-options for the price of each.
cycle_typestringrequiredMust be "monthly" — the only supported cycle unit.
POST /datacenter/orders/{ord_id}/extendcurl -X POST "https://api.proxywing.com/v1/datacenter/orders/{ord_id}/extend" \
-H "Authorization: Bearer pk_live_XXXXXXXX" \
-H "Idempotency-Key: b3f2a1c4-7e9d-4a2b-8c6f-1d5e9a0b3c7f" \
-H "Content-Type: application/json" \
-d '{"cycle":3,"cycle_type":"monthly"}'{
"order_id": "ord_100001",
"invoice_id": "inv_200002",
"status": "paid",
"total": 5.15,
"next_due_date": "2026-12-02"
}List datacenter proxies
Returns every datacenter order on the account along with the live proxy credentials for each.
GET /datacenter/proxiescurl -X GET "https://api.proxywing.com/v1/datacenter/proxies" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"orders": [
{
"id": "ord_100001",
"location": "UK",
"status": "active",
"expires_at": "2026-08-02T10:14:00",
"proxies": [
{
"id": "prx_8fJ2Wm4Qx1Pv7Ra0Ub9c",
"ip": "203.0.113.60",
"http_port": 47668,
"socks_port": 47669,
"username": "SAMPLEU1",
"password": "sample_password",
"location": "UK",
"expires_at": "2026-08-02T10:14:00"
}
]
}
]
}Change a proxy's password
Rotates the proxy authentication password for an order. Existing sessions using the old password stop working immediately.
Path parameters
ord_idstringrequiredThe order id whose proxy password to rotate.
POST /datacenter/orders/{ord_id}/change-passwordcurl -X POST "https://api.proxywing.com/v1/datacenter/orders/{ord_id}/change-password" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"status": "password_changed"
}List whitelisted IPs
Returns the IPs currently whitelisted on a datacenter order (IPs allowed to use the proxies without a username/password).
Path parameters
ord_idstringrequiredThe order id, from GET /datacenter/proxies.
GET /datacenter/orders/{ord_id}/whitelistcurl -X GET "https://api.proxywing.com/v1/datacenter/orders/{ord_id}/whitelist" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"order_id": "ord_100001",
"ips": [
"203.0.113.9",
"203.0.113.10"
]
}Whitelist an IP
Adds an IP address to the order's whitelist, allowing IP-authenticated access without a username/password.
Path parameters
ord_idstringrequiredThe order id to whitelist the IP on.
Body parameters
ipstringrequiredIPv4 or IPv6 address to whitelist, e.g. 203.0.113.9.
POST /datacenter/orders/{ord_id}/whitelistcurl -X POST "https://api.proxywing.com/v1/datacenter/orders/{ord_id}/whitelist" \
-H "Authorization: Bearer pk_live_XXXXXXXX" \
-H "Content-Type: application/json" \
-d '{"ip":"203.0.113.9"}'{
"status": "whitelisted",
"ip": "203.0.113.9"
}