Captcha solving SDKs for every stack
One local solver, four official clients. CapSkip runs on your machine and exposes a standard captcha-solver HTTP API, and each SDK wraps it with clean method names so you can solve image captchas, reCAPTCHA v2 and v3, Cloudflare Turnstile, GeeTest v3, ALTCHA, CaptchaFox, Capy Puzzle and Friendly Captcha from your own code.
- Unlimited solving
- Solves in seconds
- 90-100% accuracy
solver = CapSkip()
token = solver.turnstile(
sitekey = "0x4AAA…",
url = "example.com/login")0.qA7fK2nR9…7s · $0.00Every SDK solves the same set
Image CAPTCHA
Distorted text read straight from an image, URL, or base64 string.
reCAPTCHA v2
Checkbox, invisible, and Enterprise variants.
reCAPTCHA v3
Score based, with action and Enterprise support.
Cloudflare Turnstile
Widget tokens and full challenge-page tokens.
GeeTest v3
Slide puzzles, returning challenge, validate, and seccode.
ALTCHA
Proof of work, returning the token and the counter that solved it.
Capy Puzzle
Drag-the-piece puzzle, returning the captchakey, challengekey and answer.
CaptchaFox
The privacy-first widget, returning its verification token.
Friendly Captcha
Proof of work in the browser, both the friendly-challenge widget and the newer SDK.
Install the SDK
pip install capskipSolve your first captcha
from capskip import CapSkip
solver = CapSkip(host="127.0.0.1", port=8080)
result = solver.recaptcha(
sitekey="YOUR_SITEKEY",
url="https://example.com/page-with-recaptcha",
)
print(result["code"]) # g-recaptcha-response tokenGo further
import asyncio
from capskip import AsyncCapSkip
async def main():
solver = AsyncCapSkip()
r1, r2 = await asyncio.gather(
solver.recaptcha(sitekey="...", url="https://a.com"),
solver.turnstile(sitekey="...", url="https://b.com"),
)
print(r1["code"], r2["code"])
asyncio.run(main())Install the SDK
npm install capskipSolve your first captcha
const { CapSkip } = require('capskip');
const solver = new CapSkip({ host: '127.0.0.1', port: 8080 });
(async () => {
const result = await solver.recaptcha(
'YOUR_SITEKEY',
'https://example.com/page-with-recaptcha',
);
console.log(result.code); // g-recaptcha-response token
})();Go further
const { CapSkip } = require('capskip');
const solver = new CapSkip();
const [r1, r2] = await Promise.all([
solver.recaptcha('...', 'https://a.com'),
solver.turnstile('...', 'https://b.com'),
]);
console.log(r1.code, r2.code);Install the SDK
composer require capskip/capskipSolve your first captcha
<?php
require 'vendor/autoload.php';
use CapSkip\CapSkip;
$solver = new CapSkip(['host' => '127.0.0.1', 'port' => 8080]);
$result = $solver->recaptcha(
'YOUR_SITEKEY',
'https://example.com/page-with-recaptcha'
);
echo $result['code']; // g-recaptcha-response tokenGo further
<?php
// reCAPTCHA v3
$v3 = $solver->recaptcha('...', 'https://example.com', [
'version' => 'v3',
'action' => 'submit',
'score' => 0.7,
]);
echo $v3['code'];Install the SDK
dotnet add package CapSkipSolve your first captcha
using CapSkip;
var solver = new CapSkipClient(host: "127.0.0.1", port: 8080);
var result = await solver.RecaptchaAsync(
"YOUR_SITEKEY",
"https://example.com/page-with-recaptcha");
Console.WriteLine(result.Code); // g-recaptcha-response tokenGo further
using CapSkip;
var solver = new CapSkipClient();
// reCAPTCHA v3
var v3 = await solver.RecaptchaAsync("...", "https://example.com",
new Dictionary<string, object?>
{
["version"] = "v3",
["action"] = "submit",
["score"] = 0.7,
});
Console.WriteLine(v3.Code);