Browse endpoints
ProxyWing Developer API
Mobile
Order mobile proxies, rotate the exit IP, set OS signatures, whitelist IPs and download the OpenVPN config.
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.
GET /mobile/productscurl -X GET "https://api.proxywing.com/v1/mobile/products" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"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
}
]
}
]
}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.
Body parameters
product_idstringrequiredThe plan to order, from GET /mobile/products.
cyclestringrequiredDuration to purchase: "1 Day", "7 Days", "15 Days", or "30 Days".
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 /mobile/orderscurl -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"}'{
"order_id": "ord_100011",
"invoice_id": "inv_200011",
"product_id": "mob_327",
"cycle": "7 Days",
"status": "paid"
}List mobile services
Returns every active mobile proxy on the account with its plan, location, current exit IP and expiry.
GET /mobile/servicescurl -X GET "https://api.proxywing.com/v1/mobile/services" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"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 service detail
Returns live status, exit IP, remaining traffic and ready-to-use connection details (host, port, protocol, username, password) for a mobile service.
Path parameters
svc_idstringrequiredThe service id, e.g. mob_100020, from GET /mobile/services.
GET /mobile/services/{svc_id}curl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"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
}Rotate the exit IP
Triggers the modem to reconnect and pick up a new mobile exit IP. This does not charge the account.
Path parameters
svc_idstringrequiredThe service id, e.g. mob_100020.
POST /mobile/services/{svc_id}/rotatecurl -X POST "https://api.proxywing.com/v1/mobile/services/{svc_id}/rotate" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"status": "rotating"
}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.
GET /mobile/signaturescurl -X GET "https://api.proxywing.com/v1/mobile/signatures" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"signatures": [
"Windows",
"MacOS Sequoia",
"Android",
"iOS new",
"Linux",
"No change"
]
}Get a service's signature
Returns the OS signature currently applied to a mobile service.
Path parameters
svc_idstringrequiredThe service id, e.g. mob_100020.
GET /mobile/services/{svc_id}/signaturecurl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}/signature" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"id": "mob_100020",
"signature": "Windows"
}Set a service's signature
Sets the OS signature for a mobile service. Use a value from GET /mobile/signatures.
Path parameters
svc_idstringrequiredThe service id, e.g. mob_100020.
Body parameters
signaturestringrequiredA signature from GET /mobile/signatures.
PUT /mobile/services/{svc_id}/signaturecurl -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"}'{
"id": "mob_100020",
"signature": "iOS new"
}Download OpenVPN config
Downloads the OpenVPN configuration for a mobile service as a zip file (application/zip).
Path parameters
svc_idstringrequiredThe service id, e.g. mob_100020.
GET /mobile/services/{svc_id}/vpn-configcurl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}/vpn-config" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"_note": "Binary response — a zip file is returned, not JSON."
}Get IP whitelist
Returns the IPs whitelisted on a mobile service. A whitelisted IP can use the proxy directly, without a username and password.
Path parameters
svc_idstringrequiredThe service id, e.g. mob_100020.
GET /mobile/services/{svc_id}/whitelistcurl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}/whitelist" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"id": "mob_100020",
"ips": [
"203.0.113.10"
]
}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.
Path parameters
svc_idstringrequiredThe service id, e.g. mob_100020.
Body parameters
ipsstring[]requiredThe complete list of IPv4 addresses to whitelist (max 10). Pass [] to clear the whitelist.
PUT /mobile/services/{svc_id}/whitelistcurl -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"]}'{
"id": "mob_100020",
"ips": [
"203.0.113.10",
"203.0.113.11"
]
}Get auto-rotate interval
Returns the automatic IP-rotation interval for a mobile service, in minutes (0 = off).
Path parameters
svc_idstringrequiredThe service id, e.g. mob_100020.
GET /mobile/services/{svc_id}/auto-rotatecurl -X GET "https://api.proxywing.com/v1/mobile/services/{svc_id}/auto-rotate" \
-H "Authorization: Bearer pk_live_XXXXXXXX"{
"id": "mob_100020",
"interval_minutes": 0
}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.
Path parameters
svc_idstringrequiredThe service id, e.g. mob_100020.
Body parameters
interval_minutesintegerrequiredRotation interval in minutes: 1, 2, 3, 5, 10, 15, 30 or 60. Use 0 to disable auto-rotation.
PUT /mobile/services/{svc_id}/auto-rotatecurl -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}'{
"id": "mob_100020",
"interval_minutes": 5
}