Skip to content
Developers · SDKs

Official NSLSolver SDKs

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.

Install
pip install nslsolver
Solve 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)
Install
npm install nslsolver
Solve a Turnstile captcha
import { 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);
Install
go get github.com/NSLSolver/NSLSolver-SDK-Golang
Solve a Turnstile captcha
client := 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)
Install
dotnet add package NSLSolver
Solve a Turnstile captcha
using 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);
Install
composer require nslsolver/nslsolver
Solve a Turnstile captcha
use NSLSolver\NSLSolver;

$solver = new NSLSolver('your-api-key');

$result = $solver->solveTurnstile([
    'site_key' => '0x4AAAAAAAB...',
    'url'      => 'https://example.com',
]);
echo $result->token;
Install
implementation 'com.nslsolver:nslsolver-java:1.1.0'
Solve a Turnstile captcha
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());
Install
cargo add nslsolver
Solve a Turnstile captcha
use 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);

Why use an SDK

Faster integration
Install one package and call a method. The SDK handles authentication, JSON serialization, retries with exponential backoff and error mapping for you.
Type-safe by default
Typed params and results in every language — TypeScript types, Python type hints, Go/Rust/Java/C# structs — so your editor autocompletes the request and catches mistakes at compile time.
Idiomatic in each language
Async-first where it counts (await in Node/Python/Rust/C#, contexts in Go, builders in Java) so the client feels native, not bolted on.
Open source on GitHub
Every SDK is a public repository under the NSLSolver GitHub org. Read the source, open an issue, or vendor it — MIT-licensed and dependency-light.

No SDK for your language?

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 →

Start solving in minutes

Create a free account and get 100 free solves. No credit card required — install an SDK, drop in your key, and ship.