[ 01 ]What it looks like
Nothing at all in the normal case; the request is dropped or answered with a 429.
Captcha type · Kasada
Kasada KPSDK challenges solved and returned as the x-kpsdk headers your request needs. A priced type with a published accepted rate.
Also searched asKPSDKx-kpsdk-ctx-kpsdk-cdips.js challengeKasada 429
[ 01 ]What it looks like
Nothing at all in the normal case; the request is dropped or answered with a 429.
[ 02 ]Why it is hard
There is no puzzle and no widget. The client has to execute a polymorphic, self-mutating JavaScript VM to produce the x-kpsdk-* headers: x-kpsdk-ct is an expensive per-session proof-of-work token and x-kpsdk-cd has to be re-derived for every single request. The VM changes shape on each deploy, so there is no static algorithm to reimplement, and the headers are bound to the TLS fingerprint of the connection that earned them.
[ 03 ]How we solve it
We run the current VM rather than reimplement it, so a new build on Kasada’s side is a refresh on ours, not a rewrite on yours. The task returns x-kpsdk-ct and x-kpsdk-cd generated behind your proxy and userAgent, with the TLS fingerprint kept consistent so the headers survive first use. Because x-kpsdk-cd is per-request, we return the session token plus a derivation the client can reuse for the rest of the session.
[ 02 ]Solve it in five lines
Post the task, get the token. Our SDKs collapse creation, polling and retries into one call.
curl -s https://api.nexcaptcha.net/createTask \
-H "Content-Type: application/json" \
-d '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "KasadaTask",
"websiteURL": "...",
"userAgent": "...",
"proxy": "..."
}
}'Required parameters
[ 05 ]Questions about this one
Because we run it. 2Captcha lists Kasada at $0 and says the service is unavailable or under development, which is a polite way of saying it is not a billable type for them. Ours is $4.49 per 1,000 accepted, at a 96.9% accepted rate and a 9.2s median.
The x-kpsdk-ct session token and an x-kpsdk-cd value for the next request, both generated behind the proxy and user agent you sent. Attach them as headers on your request, keep the same TLS client, and the origin responds normally.
No. x-kpsdk-ct is per session and the expensive part; x-kpsdk-cd changes per request and is derived locally from the session token. One solve covers a normal browsing session, so the per-page cost is far below the per-solve rate.
Yes. The headers are scored against the connection that produced them, including its TLS fingerprint and IP. Send the proxy and userAgent you will use for the real traffic, and do not rotate the exit mid-session.
Create a key, paste it into the sample above, and watch a real token come back. No card, no sales call.