Install
pip install nslsolverSolve a Turnstile captcha
from nslsolver import NSLSolver
solver = NSLSolver("your-api-key")
result = solver.solve_turnstile(
site_key="0x4AAAAAAAB...",
url="https://example.com",
)
print(result.token)Seven official, open-source client libraries wrap the NSLSolver REST API in idiomatic, type-safe code. Install from your language's package manager and solve Cloudflare Turnstile, Challenge, Kasada, Akamai and reCAPTCHA v3 in a few lines — no HTTP plumbing required.
pip install nslsolverfrom nslsolver import NSLSolver
solver = NSLSolver("your-api-key")
result = solver.solve_turnstile(
site_key="0x4AAAAAAAB...",
url="https://example.com",
)
print(result.token)npm install nslsolverimport { NSLSolver } from 'nslsolver';
const solver = new NSLSolver('your-api-key');
const { token, cost } = await solver.solveTurnstile({
siteKey: '0x4AAAAAAAB...',
url: 'https://example.com',
});
console.log(token);go get github.com/NSLSolver/NSLSolver-SDK-Golangclient := nslsolver.NewClient("your-api-key")
ctx := context.Background()
result, err := client.SolveTurnstile(ctx, nslsolver.TurnstileParams{
SiteKey: "0x4AAAAAAAB...",
URL: "https://example.com",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(result.Token)dotnet add package NSLSolverusing NSLSolver;
using var solver = new NSLSolverClient("your-api-key");
var result = await solver.SolveTurnstileAsync(new TurnstileParams {
SiteKey = "0x4AAAAAAAB...",
Url = "https://example.com",
});
Console.WriteLine(result.Token);composer require nslsolver/nslsolveruse NSLSolver\NSLSolver;
$solver = new NSLSolver('your-api-key');
$result = $solver->solveTurnstile([
'site_key' => '0x4AAAAAAAB...',
'url' => 'https://example.com',
]);
echo $result->token;implementation 'com.nslsolver:nslsolver-java:1.1.0'NSLSolver solver = new NSLSolver("your-api-key");
TurnstileResult result = solver.solveTurnstile(
TurnstileParams.builder()
.siteKey("0x4AAAAAAAB...")
.url("https://example.com")
.build()
);
System.out.println(result.getToken());cargo add nslsolveruse nslsolver::{NSLSolver, TurnstileParams};
let solver = NSLSolver::new("your-api-key");
let result = solver.solve_turnstile(TurnstileParams {
site_key: "0x4AAAAAAAB...".into(),
url: "https://example.com".into(),
..Default::default()
}).await?;
println!("{}", result.token);Every SDK wraps the same single REST contract: POST to /solve with your target URL and proxy, receive a token or clearance cookie. If your language isn't listed, call the plain HTTP API directly — it works from anything that can make a request.
Read the API docs →Create a free account and get 100 free solves. No credit card required — install an SDK, drop in your key, and ship.