Skip to content
Benchmarks

NSLSolver Benchmarks: Solve Time, Success Rate & Method

How fast and how reliable is NSLSolver in production? Here are the numbers we publish, the method we measure them with, and an honest account of what makes your own results vary.

~250 ms
Turnstile average solve
99.9%
Turnstile success rate
40M+
Requests solved / day
24/7
API availability

Per-service performance

ServiceTypical solve timeSuccess ratePrice / 1,000
Cloudflare Turnstile~250 ms99.9%$0.40
Cloudflare Challengeunder 3 s95%+$0.50
Kasada3–10 s90%+$1.50

Typical production figures. Live success rates and average solve times for each active service are shown on the status page and in your dashboard.

How we measure these numbers

Solve time is measured server-side: the clock starts when our API receives your /solve request and stops when we return a valid token or clearance cookie. It does not include the network round-trip between your machine and our API, which depends on your region — so the latency you observe end-to-end will be slightly higher than the solve time quoted here.

A solve counts as successful only when the token or cf_clearance we return is accepted by the target site's own verification. Failed solves are never billed, which means the success rate and your invoice are measured against exactly the same bar — we have no incentive to count a borderline result as a "solve".

The figures above are aggregated over recent production traffic across all customers, not a one-off lab run on an easy target. We round to honest, conservative values rather than cherry-picking a best case.

Why your results will vary

No solver can promise a single fixed latency, and you should be sceptical of any that does. Your real-world numbers depend on factors that live outside our infrastructure:

  • Target difficulty — a lightly-protected Turnstile widget clears far faster than an endpoint running a hardened managed challenge or a fresh Kasada deployment.
  • Proxy quality — if you supply a slow or flagged residential proxy, every round-trip through it adds latency and can lower the success rate, regardless of how fast we solve.
  • Your region and network — the round-trip to our API from your server adds to wall-clock time; co-locating closer helps.
  • Protection churn — Cloudflare and Kasada update frequently. We track and adapt, but immediately after a major change a service can briefly sit at the low end of its success range before our solver catches up.

Why Turnstile is sub-second and Kasada is not

NSLSolver solves on a warm, server-side worker pool instead of cold-starting a headless browser for every request. Turnstile is non-interactive — it runs a small proof-of-work and a set of browser-API probes — so we can produce a valid cf-turnstile-response token directly, which is why Turnstile averages around a quarter of a second.

Cloudflare Challenge and especially Kasada take longer because there is real, unavoidable computation in the way: a full proof-of-work, and for Kasada an extensive browser-fingerprint generation step, must complete before the target will issue clearance. Those seconds are the cost of the protection itself, not overhead on our side — and they are still far faster and cheaper than maintaining your own browser fleet.

Frequently asked questions

How is solve time measured — does it include my network latency?

No. We measure server-side, from the moment our API receives your request to the moment we return a token or clearance cookie. The round-trip between your server and our API is on top of that and depends on your region, so your end-to-end time will be a little higher than the solve time we quote.

Why are my numbers different from the benchmarks?

Because they depend on the specific target, the proxy you supply, your region, and how aggressively the site is challenging traffic at that moment. The ranges we publish reflect the real spread across production traffic — a hard target behind a slow proxy will sit at the high end.

What counts as a successful solve?

A solve is successful only when the token or cf_clearance we return is accepted by the target's own verification. Failed solves are never charged, so our published success rate is measured against the same standard your bill is.

Do you guarantee these numbers with an SLA?

Pay-as-you-go is best-effort with no formal SLA, and live status is always on our status page. If you need contractual latency and uptime guarantees, the Unlimited (Enterprise) plan includes custom SLAs and a dedicated worker pool.

Benchmark it on your own targets

The only number that matters is the one you measure. Create a free account, get 100 requests, and time it against your real endpoints.