CastleTokenProxyLess
Guide for solving Castle captchas without proxy
Full Guide
See CastleToken for the complete guide including how to find the publishable key,
script URLs, and other parameters.
CastleTokenProxyLess solves Castle challenges without requiring you to provide a proxy. The solving provider uses its own proxies.
Use this variant when the target website does not validate that the challenge was solved from the same IP address.
For proxy-required solving, use CastleToken.
Supported Providers
| Provider | Price per 1,000 |
|---|---|
| $0.60 |
Request Schema
| Field | Type | Description |
|---|---|---|
clientKey* | string | Your API key from the AnySolver dashboard. Example: |
task* | object | |
provider | Specific provider to use. If omitted, automatic routing selects the best provider. Example: | |
selectionMode | Read more at the routing strategies docs. Example: | |
keyPoolMode | Example: |
Task Object Properties
The task field accepts an object with the following properties:
| Field | Type | Description |
|---|---|---|
websiteURL* | URL | Full URL of the page where the CAPTCHA is displayed. Example: |
websiteKey* | string | Castle Publishable Key. Example: |
wUrl* | URL | Link to the Castle cw.js script. Example: |
swUrl* | URL | Link to the Castle csw.js service worker script. Example: |
count | number | Number of tokens to generate with the same browser session (same __cuid identifier) (1-49, default 1). Example: |
userAgent | string | Browser User-Agent string. Must match the browser used on the target page. Not all providers properly support this parameter. Verify the compatibility with the provider you are using. |
Example Request
{ "clientKey": "your-api-key-from-dashboard", "task": { "websiteURL": "https://www.example.com/", "websiteKey": "pk_1Tk5Yzr1WFzxrJCh7WzMZzY1rHpaOtdK", "wUrl": "https://s.rsg.sc/auth/js/20251234bgef/build/cw.js", "swUrl": "https://s.rsg.sc/auth/js/20251234bgef/build/csw.js", "type": "CastleTokenProxyLess" }}Response Schema
| Field | Type | Description |
|---|---|---|
status* | Task status: "processing", "ready", or "failed". Example: | |
taskId | string | Unique identifier returned when the task was created. Example: |
errorId* | 0 = success, 1 = external error, 2 = internal error. Example: | |
errorCode | Machine-readable error code (e.g., "CAPTCHA_UNSOLVABLE"). Example: | |
errorDescription | string | Human-readable error message with resolution hints. Example: |
cost | number | Actual cost charged for this task in USD. Example: |
taskType | The type of CAPTCHA task to solve. Example: | |
provider | Specific provider to use. If omitted, automatic routing selects the best provider. Example: | |
solution | object |
Solution Object Properties
The solution field contains an object with the following properties:
| Field | Type | Description |
|---|---|---|
tokens* | string[] | Array of Castle tokens returned by the solver. Example: |
cuid | string | The __cuid cookie value extracted from the Castle response. |
raw* | Record<string, unknown> | Raw provider response data for advanced use cases. |