Back to all solvers
Dedicated solver

Kasada Solver API

Integrate Kasada solving into your automation through one stable REST endpoint. Send the target details and receive a ready-to-use solution without maintaining custom bypass logic.

Kasada
Task typeKasada
Average speed< 6s
Price per 1,0000,5$ / 1k
How it works

Kasada, without custom bypass code.

A predictable three-step flow that stays the same even when Kasada changes its protection.

Send the PJS script URL from the target's x-kpsdk-v header or <script> tag. Once you already hold a valid x-kpsdk-ct, switch to cd_only to refresh just the proof-of-work x-kpsdk-cd header at 1/10th the price of a full solve.

01

Submit the target

Send the page URL and the challenge-specific fields in a single API request.

02

We handle the challenge

CaptchaSolv routes the task to a specialized solver and tracks it until completion.

03

Use the solution

Receive the token, headers, cookies, or sensor payload required by your next request.

API integration

The same endpoint and response envelope across every supported solver.

POST /solve
Request
{
  "api_key": "YOUR_API_KEY",
  "type": "Kasada",
  "site_url": "https://example.com/api/data",
  "data": {
    "pjs": "https://example.com/149e9513.../2d206a39.../p.js"}
}
Response200 OK
{
  "errorId": 0,
  "status": "ready",
  "solvtime": 3.42,
  "data": {
    "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...",
    "language": "en-US,en;q=0.9",
    "solution": {
      "x-kpsdk-cd": "eyAgImlzQm90IjogZmFsc2U...",
      "x-kpsdk-ct": "0a5b8c3d...",
      "x-kpsdk-st": "1697234567890",
      "x-kpsdk-r": "eyJsYW5ndWFnZSI6ImVu...",
      "x-kpsdk-cr": "eyJob3N0bmFtZSI6..."}
  }
}
Task data fields

Fields you can send inside the data object of a solve request for this captcha type.

pjsRequired

The Kasada PJS (Primary JavaScript) URL or content, from the x-kpsdk-v header or a <script> tag. Not required when cd_only is used.

endpointOptional

The specific API endpoint URL to solve against. Defaults to site_url if omitted.

kasada_versionOptional

Override for the x-kpsdk-v version string, e.g. j-1.2.139. Auto-detected if omitted.

cd_onlyOptional

When true, only solves the x-kpsdk-cd proof-of-work header. Requires x-kpsdk-ct. Billed at 1/10th the normal Kasada price.

x-kpsdk-ctOptional

Required when cd_only is true - the current x-kpsdk-ct value for your session; cd is cryptographically tied to it.

Solution fields

Fields returned in data.solution once the task is solved.

solution.x-kpsdk-cdRequired

Challenge data header - pass this in subsequent requests.

solution.x-kpsdk-ctRequired

Client timestamp header.

solution.x-kpsdk-stOptional

Session token header.

solution.x-kpsdk-rOptional

Response header.

solution.x-kpsdk-crOptional

Challenge response header.

data.useragentRequired

The user-agent used during solving - must match on your requests, Kasada binds headers to this fingerprint.

What is Kasada?

Kasada (also referred to as KPSDK) is an anti-bot system that protects websites and APIs from automated traffic. Instead of showing a visible puzzle, it ships a heavily obfuscated JavaScript sensor to the browser and decides in the background whether a request comes from a real user or a bot.

Under the hood the script decrypts a bytecode program and runs it inside its own JavaScript virtual machine. That VM fingerprints the browser and environment - user-agent, screen, WebGL, timezone, plugins and anti-tamper probes - then encrypts the telemetry and posts it to Kasada's collection endpoint (/tl). The server scores that data and hands back the tokens a legitimate client is expected to reuse.

Because those tokens are short-lived and bound to a specific session and browser fingerprint, your requests have to carry the correct Kasada headers and keep the same user-agent throughout. Our solver reproduces this flow and returns the headers ready to drop straight into your requests.

  1. 01

    Obfuscated sensor

    Kasada serves a heavily obfuscated ips.js script instead of a visible challenge.

  2. 02

    Virtual machine

    It decrypts a bytecode program and runs it in its own JS VM to fingerprint the browser.

  3. 03

    Encrypted telemetry

    The collected signals are encrypted and posted to Kasada's /tl endpoint.

  4. 04

    Session tokens

    The server scores the data and returns the short-lived x-kpsdk headers to reuse.

Kasada headers
x-kpsdk-ctKey

Telemetry session token - ties a client to its scored /tl submission and is sent on protected requests.

x-kpsdk-cdKey

Proof-of-work / challenge-data header derived for the session. This is the main header your requests must present.

x-kpsdk-vKey

Kasada SDK version string (e.g. j-1.2.x) - tells the server which script build produced the tokens.

x-kpsdk-st

Session timestamp issued alongside the tokens.

x-kpsdk-r

Response token returned by the challenge flow.

x-kpsdk-cr

Challenge-response value used on some endpoints.

Frequently asked questions

Common questions about integrating this solver correctly.

Yes - our Kasada solver works on any site protected by Kasada, not just a fixed list of targets. Send the PJS script from the page you're hitting and we solve that specific site's challenge, so new domains work the same way as the ones we already support.

Need help?

Stuck trying to bypass Kasada?

Join our Discord and our team will help you get Kasada solving working in your setup - free advice on handling it programmatically, even as the challenge changes over time.

Join our Discord