Solver Cloudflare

SolverCF Documentation

SolverCF is a captcha-solving API focused on Cloudflare Turnstile, Cloudflare Challenge, and Google reCAPTCHA v3 / v3 Enterprise. You send a task describing the page you're stuck on, a pool of workers solves it using a real browser session, and you poll back for a working token to submit to that page.

The request/response format is compatible with the CapMonster and CapSolver API conventions, so existing integrations — including browser extensions built for those platforms — can point at SolverCF with minimal changes.

What you can solve

Service type value Typical speed
Cloudflare Turnstile TurnstileTask a few seconds
Cloudflare Turnstile (instant pool) TurnstileTaskPool immediate (pre-solved)
Google reCAPTCHA v3 RecaptchaV3Task / RecaptchaV3TaskProxyless a few seconds
Google reCAPTCHA v3 Enterprise RecaptchaV3EnterpriseTask / RecaptchaV3EnterpriseTaskProxyless a few seconds

See Task Types & Pricing for the current price of each. Alongside captcha solving, SolverCF also offers a temporary email service (create disposable inboxes, read mail) — see Temporary Email.

How it works

  1. You POST a task (target URL + site key + type) to Create Task. The response only contains a taskId — the task itself hasn't been solved yet.
  2. A worker in SolverCF's pool picks up the task, opens a real browser session against the target site, and solves the challenge.
  3. You poll Get Task Result with the returned taskId every 1–2 seconds until status becomes ready.
  4. You get back a token (or cookie, depending on the task) — submit it to the target site together with the userAgent returned alongside it.

Task lifecycle & timeouts

A task moves through a small state machine you should be aware of when deciding how long to keep polling:

Status Meaning
created Accepted, waiting for a worker to pick it up
processing A worker has claimed it and is actively solving
ready / success Solved — solution is populated
failed A worker attempted it but couldn't solve it
expired No worker claimed it within 1 minute of creation

Timeout budget: if no worker claims your task within 1 minute, it expires. Once a worker has claimed it, it has up to 3 minutes to finish before the task is marked failed. In practice, most tasks resolve in a few seconds — if you're still polling past 1–2 minutes with no result, stop and create a new task rather than polling indefinitely.

API design notes

A few things that aren't obvious from the endpoint list alone, but matter once you start integrating:

  • Every response is HTTP 200 OK, including failures. Success/failure is signaled entirely by the errorId field in the JSON body (0 = success, 1 = failed), never by the HTTP status code. Don't gate your error handling on the status code — check errorId.
  • CORS is fully open on the captcha-solving endpoints (token/extension/*), so you can call them directly from browser-side JavaScript without a backend proxy, if that fits your use case.
  • softId, source, and version in the request body are accepted for compatibility with the CapMonster/CapSolver extension protocol but aren't used by SolverCF — safe to omit them if you're integrating directly rather than through one of those extensions.

Getting help

Continue to Getting Started to make your first request.