ProxyWing LogoProxyWing
Browse endpoints

ProxyWing Developer API

Mobile

Order mobile proxies, rotate the exit IP, set OS signatures, whitelist IPs and download the OpenVPN config.

GET/mobile/products

List mobile plans

Returns the mobile (4G/5G) proxy plans available for purchase. Each plan is sold for a fixed duration; the available billing cycles and their prices are listed per plan.

Auth · Bearer
RequestGET /mobile/products
curl -X GET "https://api.proxywing.com/v1/mobile/products" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "products": [
    {
      "product_id": "mob_327",
      "name": "Germany O2",
      "location": "Germany",
      "cycles": [
        {
          "cycle": "1 Day",
          "price": 10
        },
        {
          "cycle": "7 Days",
          "price": 40
        },
        {
          "cycle": "15 Days",
          "price": 80
        },
        {
          "cycle": "30 Days",
          "price": 145
        }
      ]
    }
  ]
}
POST/mobile/orders

Order a mobile proxy

Purchases a mobile proxy plan for the chosen duration using the account balance, provisioning a dedicated port once paid. Supply an Idempotency-Key header so retries never double-charge.

Auth · BearerIdempotency-Key

Body parameters

  • product_idstringrequired

    The plan to order, from GET /mobile/products.

  • cyclestringrequired

    Duration to purchase: "1 Day", "7 Days", "15 Days", or "30 Days".

  • 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 /mobile/orders
curl -X POST "https://api.proxywing.com/v1/mobile/orders" \
  -H "Authorization: Bearer pk_live_XXXXXXXX" \
  -H "Idempotency-Key: b3f2a1c4-7e9d-4a2b-8c6f-1d5e9a0b3c7f" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"mob_327","cycle":"7 Days"}'
Response200 · application/json
{
  "order_id": "ord_100011",
  "invoice_id": "inv_200011",
  "product_id": "mob_327",
  "cycle": "7 Days",
  "status": "paid"
}
GET/mobile/services

List mobile services

Returns every active mobile proxy on the account with its plan, location, current exit IP and expiry.

Auth · Bearer
RequestGET /mobile/services
curl -X GET "https://api.proxywing.com/v1/mobile/services" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "services": [
    {
      "id": "mob_100020",
      "plan": "Germany O2",
      "location": "Germany",
      "status": "active",
      "port_ip": "45.11.22.33",
      "expires_at": "2026-07-10T00:00:00Z"
    }
  ]
}
GET/mobile/services/{svc_id}

Get mobile service detail

Returns live status, exit IP, remaining traffic and ready-to-use connection details (host, port, protocol, username, password) for a mobile service.

Auth · Bearer

Path parameters

  • svc_idstringrequired

    The service id, e.g. mob_100020, from GET /mobile/services.

RequestGET /mobile/services/{svc_id}
curl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "id": "mob_100020",
  "plan": "Germany O2",
  "location": "Germany",
  "status": "connected",
  "exit_ip": "45.11.22.33",
  "connection": {
    "host": "mobileproxy.proxywing.com",
    "port": 35725,
    "protocol": "socks5",
    "username": "proxy35725",
    "password": "sample_password"
  },
  "traffic_remaining_gb": 18.5,
  "expires_at": "2026-07-10T00:00:00Z",
  "auto_reset_interval": 0
}
POST/mobile/services/{svc_id}/rotate

Rotate the exit IP

Triggers the modem to reconnect and pick up a new mobile exit IP. This does not charge the account.

Auth · Bearer

Path parameters

  • svc_idstringrequired

    The service id, e.g. mob_100020.

RequestPOST /mobile/services/{svc_id}/rotate
curl -X POST "https://api.proxywing.com/v1/mobile/services/{svc_id}/rotate" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "status": "rotating"
}
GET/mobile/signatures

List OS signatures

Returns the OS/browser (p0f) signatures a mobile port can present. Use one of these values when setting a service's signature.

Auth · Bearer
RequestGET /mobile/signatures
curl -X GET "https://api.proxywing.com/v1/mobile/signatures" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "signatures": [
    "Windows",
    "MacOS Sequoia",
    "Android",
    "iOS new",
    "Linux",
    "No change"
  ]
}
GET/mobile/services/{svc_id}/signature

Get a service's signature

Returns the OS signature currently applied to a mobile service.

Auth · Bearer

Path parameters

  • svc_idstringrequired

    The service id, e.g. mob_100020.

RequestGET /mobile/services/{svc_id}/signature
curl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}/signature" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "id": "mob_100020",
  "signature": "Windows"
}
PUT/mobile/services/{svc_id}/signature

Set a service's signature

Sets the OS signature for a mobile service. Use a value from GET /mobile/signatures.

Auth · Bearer

Path parameters

  • svc_idstringrequired

    The service id, e.g. mob_100020.

Body parameters

  • signaturestringrequired

    A signature from GET /mobile/signatures.

RequestPUT /mobile/services/{svc_id}/signature
curl -X PUT "https://api.proxywing.com/v1/mobile/services/{svc_id}/signature" \
  -H "Authorization: Bearer pk_live_XXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{"signature":"iOS new"}'
Response200 · application/json
{
  "id": "mob_100020",
  "signature": "iOS new"
}
GET/mobile/services/{svc_id}/vpn-config

Download OpenVPN config

Downloads the OpenVPN configuration for a mobile service as a zip file (application/zip).

Auth · Bearer

Path parameters

  • svc_idstringrequired

    The service id, e.g. mob_100020.

RequestGET /mobile/services/{svc_id}/vpn-config
curl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}/vpn-config" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "_note": "Binary response — a zip file is returned, not JSON."
}
GET/mobile/services/{svc_id}/whitelist

Get IP whitelist

Returns the IPs whitelisted on a mobile service. A whitelisted IP can use the proxy directly, without a username and password.

Auth · Bearer

Path parameters

  • svc_idstringrequired

    The service id, e.g. mob_100020.

RequestGET /mobile/services/{svc_id}/whitelist
curl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}/whitelist" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "id": "mob_100020",
  "ips": [
    "203.0.113.10"
  ]
}
PUT/mobile/services/{svc_id}/whitelist

Set IP whitelist

Replaces the mobile service's IP whitelist with the supplied list — send the full set of IPs you want whitelisted; an empty list clears it. Whitelisted IPs use the proxy without a username and password. IPv4 addresses only (no CIDR ranges or IPv6); up to 10 per service. Billing-neutral.

Auth · Bearer

Path parameters

  • svc_idstringrequired

    The service id, e.g. mob_100020.

Body parameters

  • ipsstring[]required

    The complete list of IPv4 addresses to whitelist (max 10). Pass [] to clear the whitelist.

RequestPUT /mobile/services/{svc_id}/whitelist
curl -X PUT "https://api.proxywing.com/v1/mobile/services/{svc_id}/whitelist" \
  -H "Authorization: Bearer pk_live_XXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{"ips":["203.0.113.10","203.0.113.11"]}'
Response200 · application/json
{
  "id": "mob_100020",
  "ips": [
    "203.0.113.10",
    "203.0.113.11"
  ]
}
GET/mobile/services/{svc_id}/auto-rotate

Get auto-rotate interval

Returns the automatic IP-rotation interval for a mobile service, in minutes (0 = off).

Auth · Bearer

Path parameters

  • svc_idstringrequired

    The service id, e.g. mob_100020.

RequestGET /mobile/services/{svc_id}/auto-rotate
curl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}/auto-rotate" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "id": "mob_100020",
  "interval_minutes": 0
}
PUT/mobile/services/{svc_id}/auto-rotate

Set auto-rotate interval

Schedules automatic exit-IP rotation every interval_minutes minutes. Allowed intervals: 1, 2, 3, 5, 10, 15, 30 or 60 minutes — sub-minute rotation is not available. Set 0 to turn auto-rotation off.

Auth · Bearer

Path parameters

  • svc_idstringrequired

    The service id, e.g. mob_100020.

Body parameters

  • interval_minutesintegerrequired

    Rotation interval in minutes: 1, 2, 3, 5, 10, 15, 30 or 60. Use 0 to disable auto-rotation.

RequestPUT /mobile/services/{svc_id}/auto-rotate
curl -X PUT "https://api.proxywing.com/v1/mobile/services/{svc_id}/auto-rotate" \
  -H "Authorization: Bearer pk_live_XXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{"interval_minutes":5}'
Response200 · application/json
{
  "id": "mob_100020",
  "interval_minutes": 5
}