KasadaCtBrowserTokenProxyLess
Solve Kasada in a real browser without a proxy and get the x-kpsdk header set back.
The proxyless form of KasadaCtBrowserToken. The solver opens the fingerprint page from its own network, completes the /tl exchange, and returns the x-kpsdk-* headers to replay on the protected endpoint. The inputs and the response are the same as the proxy variant, minus proxy.
Find pJsPath, fpHost and tlHost as described in Finding the paths, and replay the headers as described in Replaying the headers: never forward x-kpsdk-v to the protected endpoint.
The token is solved from another IP
Kasada can bind the token to the exit IP that solved it. When the target does, a proxyless token replayed from your
own address is refused. Switch to KasadaCtBrowserToken and solve through the
sticky proxy you replay from.
Related tasks
- KasadaCtBrowserToken: the same solve behind your own proxy.
- KasadaTokenProxyLess: proxyless, from just the
p.jsURL. - KasadaCdToken: refresh only the per-request
x-kpsdk-cd.
Supported Providers
| Provider | Price per 1,000 | Routing |
|---|---|---|
| $1.50 |
Request Schema
| Field | Type | Required | Description |
|---|---|---|---|
clientKey* | string | Yes | Your API key. Create one in the AnySolver dashboard. Example: |
task* | object | Yes | The task body. Required fields depend on the task type. See Tasks for per-task schemas. View task properties |
settings | object | No | Per-request settings for routing, auto retry, auto fallback, and proxy behavior. See Routing Strategies. View settings reference |
Task Object Properties
The task field accepts an object with the following properties:
| Field | Type | Required | Description |
|---|---|---|---|
type* | Yes | ||
websiteURL* | URL | Yes | Full URL of the page where the CAPTCHA is displayed. Example: |
pJsPath* | string | Yes | Path to Kasada's p.js script on the target site. Find this by inspecting network requests in your browser DevTools. Example: |
fpHost* | string | Yes | The host serving the Kasada fingerprint page. This is usually the target domain. Example: |
tlHost* | string | Yes | The host for the Kasada TL endpoint used for token generation. Example: |
userAgent | string | No | The User-Agent string to use during solving. It must match the browser used for your subsequent requests to the protected site. Example: |
uaVersion | number | No | The major Chrome version number extracted from the user agent, for example 145 for Chrome 145. Example: |
cdConstant | string | No | Optional constant used for the Kasada CD (compute-digest) proof-of-work, if required by the target site. Example: |
{ "clientKey": "your-api-key-from-dashboard", "task": { "type": "KasadaCtBrowserTokenProxyLess", "websiteURL": "https://passport.twitch.tv", "pJsPath": "/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/p.js", "fpHost": "passport.twitch.tv", "tlHost": "gql.twitch.tv" }}Optional fields are not guaranteed across providers
Response Schema
| Field | Type | Required | Description |
|---|---|---|---|
status* | Yes | Task status: "processing", "ready", or "failed". Example: | |
errorId* | Yes | 0 = success, 1 = external error, 2 = internal error. Example: | |
taskId | string | No | Unique identifier returned when the task was created. Example: |
errorCode | No | Machine-readable error code. Example: | |
errorDescription | string | No | Human-readable error message with resolution hints. Example: |
cost | number | No | Actual cost charged for this task in USD. Example: |
taskType | No | The type of CAPTCHA task to solve. Example: | |
provider | No | Provider that handled this task. While processing, the provider currently solving it. Example: | |
solution | object | No |
Solution Object Properties
The solution field contains an object with the following properties:
| Field | Type | Required | Description |
|---|---|---|---|
headers* | object | Yes | Kasada headers returned by the solver. Include these headers in your subsequent requests to the protected site. |
raw* | Record<string, unknown> | Yes | Raw provider response data for advanced use cases. |