ProxyWing LogoProxyWing
Browse endpoints

ProxyWing Developer API

ISP

Order, list, extend, change passwords and whitelist IPs for ISP proxies.

GET/isp/products

List ISP products

Returns the ISP proxy products available for purchase across every location, with monthly pricing.

Auth · Bearer
RequestGET /isp/products
curl -X GET "https://api.proxywing.com/v1/isp/products" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "products": [
    {
      "product_id": "prod_368",
      "category": "isp",
      "group": "ISP US New York Premium",
      "name": "1 Proxy ISP US",
      "price_monthly": 3
    }
  ]
}
POST/isp/orders

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.

Auth · BearerIdempotency-Key

Body parameters

  • product_idstringrequired

    The ISP product to order, from GET /isp/products.

  • billing_cyclestringoptional

    Billing 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_codestringoptional

    Optional promo code. Only percentage-discount promo codes under 100% off apply via the API (a code that would zero the total is rejected).

RequestPOST /isp/orders
curl -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"}'
Response200 · application/json
{
  "order_id": "ord_100010",
  "invoice_id": "inv_200010",
  "product_id": "prod_368",
  "category": "isp",
  "billing_cycle": "quarterly",
  "total": 8.55,
  "status": "paid"
}
GET/isp/orders/{ord_id}/renewal-options

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.

Auth · Bearer

Path parameters

  • ord_idstringrequired

    The ISP order id, from GET /isp/proxies.

RequestGET /isp/orders/{ord_id}/renewal-options
curl -X GET "https://api.proxywing.com/v1/isp/orders/{ord_id}/renewal-options" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "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
    }
  ]
}
POST/isp/orders/{ord_id}/extend

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.

Auth · BearerIdempotency-Key

Path parameters

  • ord_idstringrequired

    The ISP order id to extend.

Body parameters

  • cycleintegerrequired

    Term to extend by, in months: 1, 3, 6 or 12.

  • cycle_typestringrequired

    Must be "monthly".

RequestPOST /isp/orders/{ord_id}/extend
curl -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"}'
Response200 · application/json
{
  "order_id": "ord_100010",
  "invoice_id": "inv_200012",
  "status": "paid",
  "total": 8.55,
  "next_due_date": "2026-12-02"
}
GET/isp/proxies

List ISP proxies

Returns every active ISP order on the account with its live proxy credentials.

Auth · Bearer
RequestGET /isp/proxies
curl -X GET "https://api.proxywing.com/v1/isp/proxies" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "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"
        }
      ]
    }
  ]
}
POST/isp/orders/{ord_id}/change-password

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.

Auth · Bearer

Path parameters

  • ord_idstringrequired

    The ISP order id, from GET /isp/proxies.

RequestPOST /isp/orders/{ord_id}/change-password
curl -X POST "https://api.proxywing.com/v1/isp/orders/{ord_id}/change-password" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "status": "password_changed"
}
GET/isp/orders/{ord_id}/whitelist

List whitelisted IPs

Returns the IPs currently whitelisted on an ISP order (IPs allowed to use the proxies without a username/password).

Auth · Bearer

Path parameters

  • ord_idstringrequired

    The order id, from GET /isp/proxies.

RequestGET /isp/orders/{ord_id}/whitelist
curl -X GET "https://api.proxywing.com/v1/isp/orders/{ord_id}/whitelist" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "order_id": "ord_100010",
  "ips": [
    "203.0.113.9"
  ]
}
POST/isp/orders/{ord_id}/whitelist

Whitelist an IP

Adds an IP address to the ISP order's whitelist for IP-authenticated access.

Auth · Bearer

Path parameters

  • ord_idstringrequired

    The ISP order id to whitelist the IP on.

Body parameters

  • ipstringrequired

    IPv4 or IPv6 address to whitelist, e.g. 203.0.113.9.

RequestPOST /isp/orders/{ord_id}/whitelist
curl -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"}'
Response200 · application/json
{
  "status": "whitelisted",
  "ip": "203.0.113.9"
}