ProxyWing LogoProxyWing
Browse endpoints

ProxyWing Developer API

Fingerprint

Turn the OS/browser TCP fingerprint (p0f) on or off, or switch profiles, on datacenter & ISP proxies.

GET/spoofing/profiles

List fingerprint profiles

Returns the OS/browser TCP-IP (p0f) fingerprint profiles that can be applied to a datacenter or ISP order. Use a profile's slug when changing an order's fingerprint.

Auth · Bearer
RequestGET /spoofing/profiles
curl -X GET "https://api.proxywing.com/v1/spoofing/profiles" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "profiles": [
    {
      "slug": "windows-11-23h2-chrome",
      "label": "Windows 11 · Chrome",
      "tags": [
        "windows",
        "chrome"
      ]
    },
    {
      "slug": "android-14-chrome",
      "label": "Android 14 · Chrome",
      "tags": [
        "android",
        "chrome"
      ]
    }
  ]
}
GET/datacenter/orders/{ord_id}/spoofing

Get an order's fingerprint

Returns the OS fingerprint currently applied to a datacenter order. status is enabled (spoofing the returned profile), disabled (no spoofing), pending, or failed. Use the same path under /isp/orders/{ord_id}/spoofing for ISP orders.

Auth · Bearer

Path parameters

  • ord_idstringrequired

    The order id, from GET /datacenter/proxies.

RequestGET /datacenter/orders/{ord_id}/spoofing
curl -X GET "https://api.proxywing.com/v1/datacenter/orders/{ord_id}/spoofing" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "order_id": "ord_100001",
  "profile": "windows-11-23h2-chrome",
  "status": "enabled",
  "updated_at": "2026-07-03T10:50:03Z"
}
POST/datacenter/orders/{ord_id}/spoofing

Set an order's fingerprint

Sets the OS/browser fingerprint on a datacenter order, enabling spoofing if the order currently has none and switching the profile if it is already enabled. This is how you turn spoofing back on after a DELETE. Available on ISP orders too via /isp/orders/{ord_id}/spoofing. Note: the new fingerprint applies to NEW connections only — close existing keep-alive pools and start fresh sessions after switching, and keep your application-layer signals (User-Agent, client hints) consistent with the chosen profile. Returns 400 for an unknown profile; 409 only if the order's spoofing record is in a transient state or multi-host drift is detected, in which case retry shortly.

Auth · Bearer

Path parameters

  • ord_idstringrequired

    The order id to change the fingerprint on.

Body parameters

  • profilestringrequired

    A profile slug from GET /spoofing/profiles.

RequestPOST /datacenter/orders/{ord_id}/spoofing
curl -X POST "https://api.proxywing.com/v1/datacenter/orders/{ord_id}/spoofing" \
  -H "Authorization: Bearer pk_live_XXXXXXXX" \
  -H "Content-Type: application/json" \
  -d '{"profile":"android-14-chrome"}'
Response200 · application/json
{
  "order_id": "ord_100001",
  "profile": "android-14-chrome",
  "status": "enabled",
  "updated_at": "2026-07-03T10:50:02Z"
}
DELETE/datacenter/orders/{ord_id}/spoofing

Turn off an order's fingerprint

Disables spoofing on a datacenter order — the proxy reverts to its own native TCP fingerprint. Available on ISP orders too via /isp/orders/{ord_id}/spoofing. Billing-neutral and idempotent: disabling an order that is already disabled succeeds rather than erroring, so a retry is safe. The revoke is queued and takes roughly 60–90 seconds to take effect across the proxy hosts, so the response reports the live state rather than asserting the change is already complete — poll GET on the same path until status reads disabled.

Auth · Bearer

Path parameters

  • ord_idstringrequired

    The order id to turn spoofing off for.

RequestDELETE /datacenter/orders/{ord_id}/spoofing
curl -X DELETE "https://api.proxywing.com/v1/datacenter/orders/{ord_id}/spoofing" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
Response200 · application/json
{
  "order_id": "ord_100001",
  "profile": null,
  "status": "disabled",
  "updated_at": "2026-07-26T08:31:44Z"
}