Brux Solver Docs

Using The Solver API

Send your full API key in the X-API-Key header. For production use, the recommended flow is /createTask then /getResult so your client does not wait on a long solve. Direct /solve is still available when you want the full response in a single request.

Requirements

  • X-API-Key header is required.
  • proxy is required in the request body and should look like user:pass@ip:port.
  • website_host, sitekey, and href should match the target page.
  • Only send rqdata when rqdata_required is true.
  • /createTask accepts the same JSON body as /solve.
  • /getResult also requires the same X-API-Key header used for the task owner.
  • One balance is reserved when /createTask starts or when /solve runs. Failed solves are refunded automatically.

Recommended Async Flow

1. POST /createTask
2. Poll /getResult with the returned uuid

This avoids upstream timeout issues on long solves.

Direct Solve

POST https://bruxsolver.org/solve
Headers:
  X-API-Key: YOUR_FULL_API_KEY
  Content-Type: application/json

{
  "proxy": "user:pass@ip:port",
  "website_host": "recovery.riotgames.com",
  "sitekey": "db18a187-7b77-4dac-a6cb-6dd5215973cf",
  "rqdata_required": false,
  "href": "https://recovery.riotgames.com/en/forgot-username",
  "sfp": true
}

Create Task Example

POST https://bruxsolver.org/createTask
Headers:
  X-API-Key: YOUR_FULL_API_KEY
  Content-Type: application/json

{
  "proxy": "user:pass@ip:port",
  "website_host": "recovery.riotgames.com",
  "sitekey": "db18a187-7b77-4dac-a6cb-6dd5215973cf",
  "rqdata_required": true,
  "rqdata": "<rqdata>",
  "href": "https://recovery.riotgames.com/en/forgot-username",
  "sfp": true
}

Create Task Response

{
  "success": true,
  "status": "processing",
  "uuid": "6f2d8d57-b05a-4b22-a53a-d10e0d00d5c3",
  "task_id": "6f2d8d57-b05a-4b22-a53a-d10e0d00d5c3",
  "useragent": "Mozilla/5.0 ...",
  "profile_name": "...",
  "remaining_solves": 999
}

Get Result Example

GET https://bruxsolver.org/getResult?uuid=6f2d8d57-b05a-4b22-a53a-d10e0d00d5c3
Headers:
  X-API-Key: YOUR_FULL_API_KEY

or

POST https://bruxsolver.org/getResult
Headers:
  X-API-Key: YOUR_FULL_API_KEY
  Content-Type: application/json

{
  "uuid": "6f2d8d57-b05a-4b22-a53a-d10e0d00d5c3"
}

Get Result Processing

{
  "success": true,
  "status": "processing",
  "task_id": "6f2d8d57-b05a-4b22-a53a-d10e0d00d5c3",
  "uuid": "6f2d8d57-b05a-4b22-a53a-d10e0d00d5c3"
}

Get Result Success

{
  "success": true,
  "status": "Success",
  "task_id": "6f2d8d57-b05a-4b22-a53a-d10e0d00d5c3",
  "uuid": "6f2d8d57-b05a-4b22-a53a-d10e0d00d5c3",
  "token": "P1_........",
  "useragent": "........",
  "request_type": "hsl",
  "elapsed_ms": 12345,
  "message": "Challenge solved",
  "cookies": {},
  "remaining_solves": 999,
  "api_key_prefix": "abcdefghij-klm"
}

Get Result Failed

{
  "success": false,
  "status": "Failed",
  "task_id": "6f2d8d57-b05a-4b22-a53a-d10e0d00d5c3",
  "uuid": "6f2d8d57-b05a-4b22-a53a-d10e0d00d5c3",
  "error_code": "FAILED_TO_SOLVE_TRY_AGAIN",
  "message": "FAILED_TO_SOLVE_TRY_AGAIN",
  "remaining_solves": 999
}

Error Codes

  • "error_code": "TASK_NOT_FOUND" - The uuid or task_id does not exist for your API key.
  • "error_code": "INVALID_TASK_ID" - The get-result request was missing a valid uuid or task_id.
  • "error_code": "MISSING_API_KEY" - The request did not include the API key header.
  • "error_code": "INVALID_API_KEY" - The provided key is invalid or revoked.
  • "error_code": "INSUFFICIENT_BALANCE" - The key does not have enough balance to start the task.
  • "error_code": "THREAD_LIMIT_REACHED" - Direct /solve hit the current per-key thread limit.
  • "error_code": "MISSING_PROXY" - The body did not include a proxy.
  • "error_code": "PROXY_FORMAT_INCORRECT" - The provided proxy format is invalid.
  • "error_code": "FAILED_TO_SOLVE_TRY_AGAIN" - Ai failed to solve images just try again and it should work
  • "error_code": "INTERNAL_ERROR" - Something on our end , please contact administrator if remains