Quickstart

Solve your first captcha in two calls. Grab a key, create a task, poll until it is ready, then use the token.

1. Get your key

Create an account on capzy.ai and copy your clientKey from Dashboard → API keys. The free balance is enough to run this example.

2. Create and poll

The example below solves a Cloudflare Turnstile widget. Swap the task object for any supported task type — the create-then-poll loop never changes.

quickstart.sh
# 1. Create the task
curl -s https://api.capzy.ai/createTask \
  -H 'Content-Type: application/json' \
  -d '{
    "clientKey": "capzy_YOUR_KEY",
    "task": {
      "type": "AntiTurnstileTaskProxyLess",
      "websiteURL": "https://example.com",
      "websiteKey": "0x4AAAAAAA..."
    }
  }'
# -> { "errorId": 0, "taskId": "df94...", "status": "processing" }

# 2. Poll for the result (repeat until status == "ready")
curl -s https://api.capzy.ai/getTaskResult \
  -H 'Content-Type: application/json' \
  -d '{ "clientKey": "capzy_YOUR_KEY", "taskId": "df94..." }'
# -> { "errorId": 0, "status": "ready", "solution": { "token": "0.eyJ..." } }
Long-poll built in
/getTaskResult holds the connection open for a few seconds waiting for the solve to finish, so a 2-second poll interval is plenty. Most tasks complete in well under a minute.

3. Use the solution

Submit solution.token to the target site exactly where the widget would place it (for Turnstile, the cf-turnstile-response field). For cookie-based challenges you will instead receive solution.cookies — see the per-provider pages under Task types.

Next steps

  • Using proxies — required for IP-bound challenges.
  • Errors — every errorCode and its fix.
  • Reporting outcomes — feed reCAPTCHA v3 scores and accept/reject signals back to improve routing.