globe-pointerDeviousSolver API

Base URLs

  • Solver API: https://api.devioussolver.com

  • Key API: https://key.devioussolver.com

Authentication

Pass your API key as JSON field apiKey in the /solve request body.

To check balance, call the Key API with your key in the URL.

circle-info

Want to verify everything fast? Use Testing the API.


Check key balance

GET https://key.devioussolver.com/key/{api_key}

Response

{
  "api_key": "YOUR_API_KEY",
  "max_solves": 50000,
  "remaining_solves": 0,
  "solves": 50000,
  "ttl": "no_expiration",
  "unlimited": false
}

Fields

  • max_solves: solve limit for the key.

  • solves: total solves used.

  • remaining_solves: remaining quota. Can be negative if you exceeded.

  • ttl: time-to-live. Example: no_expiration.

  • unlimited: if true, ignore max_solves.

Examples


Solve

POST https://api.devioussolver.com/solve

Send a JSON body with apiKey, fingerprintData, and requestData.

Fields

Field
Type
Required
Description

apiKey

string

Yes

Your DeviousSolver API key.

fingerprintData

object

No

Fingerprint hints. Recommended if you can capture them.

fingerprintData.challengeUrl

string

No

Arkose challenge domain. Example: https://arkoselabs.roblox.com.

fingerprintData.documentReferrer

string

No

Referrer URL (the page you came from). Use "" if none.

fingerprintData.targetLocation

string

No

Target URL where the challenge is shown.

fingerprintData.titleTab

string

No

Browser tab title for the target page.

fingerprintData.windowAncestorOrigins

array

No

Window ancestry origins (if you have them).

fingerprintData.windowTreeIndex

array

No

Window tree index (if you have it).

fingerprintData.windowTreeStructure

string

No

Window tree structure. Example: "[[]]".

requestData

object

Yes

Solver request parameters.

requestData.blobExchange

string

Yes

The Arkose “blob” / exchange payload you captured.

requestData.proxy

string

Yes

Authenticated proxy in user:pass@host:port format.

requestData.publicKey

string

Yes

Arkose public key for the site.

requestData.siteUrl

string

Yes

Site base URL. Example: https://www.roblox.com.

requestData.cookies

string

No

Cookie header string (separated by "; ").

requestData.capiMode

string

No

UI mode hint. Common: lightbox.

requestData.styleTheme

string

No

UI style hint. Common: modal.

circle-info

Formatting rules that break most requests:

  • requestData.cookies is one string separated by "; ". No commas.

  • requestData.proxy must include auth: user:pass@host:port.

  • If you build the payload as JSON, JSON can’t include comments.

Full example payload (all fields)

This includes every field listed in the table above.

Full request example (cURL)

Proxy requirements (important)

  • requestData.proxy is required.

  • Use an authenticated proxy format: user:pass@host:port.

  • Avoid rotating proxies if you get Do not use rotating.

  • If you get Low quality IP score, switch proxy pool/provider.

  • voltproxy is blocked.

Examples

Success response

When solved: true, token is present.

Failed solve response

When solved: false, token may be missing.


Errors

Each error is returned as JSON. processTime varies.

401 — Invalid API key

400 — PUBLIC_KEY_DOESNT_EXIST

400 — PUBLIC_KEY_IS_NOT_VALID

400 — Low quality IP score

400 — Do not use rotating

400 — Add Proxy

400 — Add Public Key

400 — Currently not supported!

401 — Invalid API key

403 — Max solves reached

403 — IP has been blocked

408 — Request timeout

503 — Error Proxy: Couldn't respond after 30s

500 — Server Error

circle-info

If you rely on string matching, match the status and core message. Provider-specific wording may change.

Last updated