VexSolver

Getting Started

Make your first solve in under two minutes.

1. Create an account

Visit /signup. Check the trial credit balance shown in your account and test your target before purchasing more credits.

2. Copy your API key

Your key is shown on the Dashboard. It looks like sk_live_... followed by 64 hex characters.

Security
Treat your API key like a password. Anyone who has it can spend your credits. Rotate from the dashboard if you suspect it has been compromised.

3. Submit a solve task

VexSolver is an async API. POST to /api/solve with the target URL — you get back a taskId immediately:

curl -X POST https://api.vexsolver.com/api/solve \
  -H "X-API-Key: sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/"}'

Response (202):

{ "taskId": "abc123xyz" }

1 credit is deducted upfront. If the solve fails, the credit is refunded automatically.

4. Poll for the result

Use the taskId to GET /api/getTaskResult. Retry every 1–2 seconds until you get a final result (typical solve: 1–15 seconds):

curl -G "https://api.vexsolver.com/api/getTaskResult" \
  -H "X-API-Key: sk_live_YOUR_KEY" \
  --data-urlencode "taskId=abc123xyz"

While solving:

{ "status": "pending" }

When done, you get the full result:

{
  "success": true,
  "vendor": "perimeterx",
  "cached": false,
  "elapsed_ms": 596,
  "ttl_sec": 1200,
  "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...",
  "cookies": "_px3=181114e3...; _pxde=e855ddba...; _pxhd=1160a60f-...",
  "cookie_map": {
    "_px3": "181114e3045c626fbb8076478ac086...",
    "_pxde": "e855ddbab4b77a76cc714f537a478a31...",
    "_pxhd": "1160a60f-3f81-11f1-911b-9812291b09e9"
  }
}

5. Use the cookies + User-Agent

Drop the cookies into your Cookie header AND the user_agent into your User-Agent header. Bot-detection vendors bind issued tokens to both the egress IP and the User-Agent seen during solve — mismatched UAs trigger an instant flag.

Skip polling — use a webhook
Pass "callback": "https://your-server.com/hook" in the solve body and we'll POST the result to your URL as soon as it's ready. See Webhooks.
Tip: use your own proxy for best results
If you pass a proxy field, we solve through it and bind the cookies to your egress IP. Replay through the same proxy and PerimeterX / DataDome / Imperva treat you as the same client. See the full /api/solve reference for all supported fields (app_id, fresh, vendor, etc).