TWO GATES. ONE DEVELOPER API.

Turnstile tokens.
Cloudflare clearance.
One API.

Send a target URL and challenge details. Receive a Turnstile token or WAF clearance cookies and headers, ready for your application’s next step.

For targets you own or are authorized to test.

Works with your stackcURLNode.jsPythonSDKs ↗
01 Send the challengePOST /v1/solve
curl https://api.solvegate.io/v1/solve \
  -H "Authorization: Bearer $SOLVEGATE_KEY" \
  -d gate=turnstile \
  -d sitekey=0x4AAAAAAAAA_target \
  -d url=https://app.example.com
02 Inspect the resultIllustrative response · selected fields
{
  "status": "solved",
  "gate": "turnstile",
  "token": "0.example_token…",
  "mode": "live",
  "meter": "credits", "billed": true
}

A pending response needs retrieval. A returned token still needs acceptance by the target.

Continue with cURL

TWO CHALLENGE TYPES. ONE INTEGRATION.

Choose the result
your application needs.

Cloudflare Turnstile

gate: "turnstile"

Solve managed, non-interactive and invisible widgets. Pass the returned token to the flow that requested it.

Send
Target URL + widget sitekey
Receive
Single-use token

Validate once, within 300 seconds of generation.

Explore Turnstile solving

Cloudflare WAF

gate: "waf" · sitekey: "waf"

Resolve interstitial challenge pages. Parse the JSON-encoded clearance payload returned in the token field.

Send
Target URL + sitekey: "waf"
Receive
Cookies + headers

Keep the same proxy, user agent and session context.

Explore WAF solving

FROM FIRST KEY TO LIVE RESULT

Test the integration.
Then open the gate.

Open the quickstart →
  1. 01

    Get a key. Start in sandbox.

    Use your signup-issued sandbox key to check the request shape. Sandbox results are simulated and never billed.

    Create your account ↗
  2. 02

    Send a complete request.

    Supply gate, sitekey and target URL. For WAF, use sitekey: "waf". Keep the API key server-side.

    Request reference ↗
  3. 03

    Retrieve, inspect, then go live.

    Retrieve pending work by its solve ID. Verify your account and fund a live key to get real tokens or clearance.

    Understand the result ↗

FUND THE WAY YOU WORK

Credits for flexibility.
Passes for steady traffic.

One credit per successful live solve on the credit meter. Or attach a key to a fixed-duration pass with a shared throughput cap.

Entry credit pack · one-time purchase$12 for 30,000 credits

$0.40 per 1,000 credits · credits never expire

Start with this pack →
Best volume rate$0.075 / 1,000 creditsWith $1,500 for 20,000,000 credits

Catalog snapshot · verified 2026-09-05 · checkout confirms current prices.

RECORDED SUCCESSES TODAYLoading activity…Created since midnight UTC · managed/direct production
Activity refreshes automatically
Turnstile avg. solveRefreshing
WAF avg. solveRefreshing

Last 24h · managed-proxy/direct production requests only. Customer-proxy, sandbox and historical records with unknown proxy attribution are excluded. Success rate is solved ÷ (solved + failed); pending requests are excluded. Latency is recorded successful solve time, not end-to-end wall-clock time. Performance reports refresh every 5 minutes.

View service status

A few things worth knowing.

Coverage, billing and what happens after a request.

01Which challenges do you actually clear?
Cloudflare Turnstile widgets in managed, non-interactive and invisible modes, plus Cloudflare challenge pages. Turnstile returns a single-use token; the WAF gate returns a clearance payload with cookies and headers. Those are the two gates our API supports.
02How fast is it, really?
Public statistics cover managed-proxy/direct production requests created in the last 24 hours. Customer-proxy, sandbox and unknown historical attribution are excluded. Latency is recorded successful solve time, excluding queue wait, earlier retries and network time. Success rate is solved divided by solved plus failed; pending requests are excluded. Today's count uses successful requests created since midnight UTC. Performance reports refresh every 5 minutes; status health refreshes about every 30 seconds.
03What happens when a solve fails?
We retry eligible transient failures within a bounded retry policy. A successful provider result consumes one credit on the credit meter; a terminal failed solve consumes none. The target can still reject a returned credential. An HTTP timeout does not cancel work already queued, so retry with the same Idempotency-Key to avoid creating another solve.
04Do the tokens expire?
Turnstile tokens expire 300 seconds after generation and can be validated once. WAF clearance cookies have a separate lifetime and can be reused only while valid for the same visitor and session. SolveGate keeps returned results available for 120 seconds. Retrieve and use them promptly; expires_at is an estimate, not an expiry confirmed by Cloudflare.
05Is this allowed?
You're responsible for using SolveGate only against targets you own or are authorized to test. We provide the solve; how you apply it is on you. Abuse and fraud get keys revoked.
06How do I get started?
Grab a key, send your first POST to /v1/solve or drop in the Node or Python SDK. Eligible new accounts receive starter credits, with no card required.

Make your first sandbox request.

Get an API key, test the response, then bring your integration live.

Get your API key →

Working with Turnstile