VexSolver

Getting Started

Make your first solve in under two minutes.

1. Create an account

Visit /signup. You receive 150 free credits on sign-up so you can test the API before purchasing more.

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).