Browse endpoints
ProxyWing Developer API
ISP
Order, list, extend, change passwords and whitelist IPs for ISP proxies.
List ISP products
Returns the ISP proxy products available for purchase across every location, with monthly pricing.
GET /isp/productscurl -X GET "https://api.proxywing.com/v1/isp/products" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"products": [
{
"product_id": "prod_368",
"category": "isp",
"group": "ISP US New York Premium",
"name": "1 Proxy ISP US",
"price_monthly": 3
}
]
}Order an ISP proxy
Purchases an ISP proxy product using the account balance and provisions it immediately once paid. Only ISP-category products (from GET /isp/products) are accepted. 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 never double-charge.
Body parameters
product_idstringrequiredThe ISP product to order, from GET /isp/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 /isp/orderscurl -X POST "https://api.proxywing.com/v1/isp/orders" \
-H "Authorization: Bearer pk_live_XXXXXXXX" \
-H "Idempotency-Key: b3f2a1c4-7e9d-4a2b-8c6f-1d5e9a0b3c7f" \
-H "Content-Type: application/json" \
-d '{"product_id":"prod_368","billing_cycle":"quarterly"}'{
"order_id": "ord_100010",
"invoice_id": "inv_200010",
"product_id": "prod_368",
"category": "isp",
"billing_cycle": "quarterly",
"total": 8.55,
"status": "paid"
}Get renewal terms
Returns the extension terms available for an ISP order — 1, 3, 6 and 12 months — each with its (discounted for longer terms) price. Pass one of these months values as cycle to extend.
Path parameters
ord_idstringrequiredThe ISP order id, from GET /isp/proxies.
GET /isp/orders/{ord_id}/renewal-optionscurl -X GET "https://api.proxywing.com/v1/isp/orders/{ord_id}/renewal-options" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"order_id": "ord_100010",
"next_due_date": "2026-09-02",
"options": [
{
"months": 1,
"total": 3,
"label": "1 Month",
"discount_pct": 0
},
{
"months": 3,
"total": 8.55,
"label": "3 Months",
"discount_pct": 5
},
{
"months": 6,
"total": 16.75,
"label": "6 Months",
"discount_pct": 7
},
{
"months": 12,
"total": 32.4,
"label": "12 Months",
"discount_pct": 10
}
]
}Extend an ISP order
Renews an ISP order for 1, 3, 6 or 12 months, settling the invoice from the account balance. Longer terms use the product's discounted per-cycle price (see GET /isp/orders/{ord_id}/renewal-options). Supply an Idempotency-Key header so retries never double-extend.
Path parameters
ord_idstringrequiredThe ISP order id to extend.
Body parameters
cycleintegerrequiredTerm to extend by, in months: 1, 3, 6 or 12.
cycle_typestringrequiredMust be "monthly".
POST /isp/orders/{ord_id}/extendcurl -X POST "https://api.proxywing.com/v1/isp/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_100010",
"invoice_id": "inv_200012",
"status": "paid",
"total": 8.55,
"next_due_date": "2026-12-02"
}List ISP proxies
Returns every active ISP order on the account with its live proxy credentials.
GET /isp/proxiescurl -X GET "https://api.proxywing.com/v1/isp/proxies" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"orders": [
{
"id": "ord_100010",
"location": "US",
"status": "active",
"expires_at": "2026-08-02T00:00:00+00:00",
"proxies": [
{
"id": "prx_9Km2Wq4Xv1Pb7Ra0Uc8d",
"ip": "203.0.113.20",
"http_port": 8080,
"socks_port": 1080,
"username": "ISPSAMPLE",
"password": "sample_password",
"location": "US",
"expires_at": "2026-08-02T00:00:00+00:00"
}
]
}
]
}Change an ISP proxy's password
Rotates the authentication password for every proxy in an ISP order. Sessions using the old password stop working immediately.
Path parameters
ord_idstringrequiredThe ISP order id, from GET /isp/proxies.
POST /isp/orders/{ord_id}/change-passwordcurl -X POST "https://api.proxywing.com/v1/isp/orders/{ord_id}/change-password" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"status": "password_changed"
}List whitelisted IPs
Returns the IPs currently whitelisted on an ISP order (IPs allowed to use the proxies without a username/password).
Path parameters
ord_idstringrequiredThe order id, from GET /isp/proxies.
GET /isp/orders/{ord_id}/whitelistcurl -X GET "https://api.proxywing.com/v1/isp/orders/{ord_id}/whitelist" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"order_id": "ord_100010",
"ips": [
"203.0.113.9"
]
}Whitelist an IP
Adds an IP address to the ISP order's whitelist for IP-authenticated access.
Path parameters
ord_idstringrequiredThe ISP order id to whitelist the IP on.
Body parameters
ipstringrequiredIPv4 or IPv6 address to whitelist, e.g. 203.0.113.9.
POST /isp/orders/{ord_id}/whitelistcurl -X POST "https://api.proxywing.com/v1/isp/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"
}