Wire Compatible

CapSolver / 2Captcha Wire Compatible API

Always returns HTTP 200 with JSON payload containing errorId: 0 on success, or errorId: 1 on failure.

POST/createTask

Creates an asynchronous challenge solving task. Task types supported:

  • AntiTurnstileTaskProxyLess, TurnstileTaskProxyless, TurnstileTask: Fields: websiteURL, websiteKey, optional metadata.action, metadata.cdata, userAgent. (Note: A proxy sent with a Turnstile task is safely ignored).
  • AntiCloudflareTask: Fields: websiteURL, proxy (REQUIRED), optional userAgent.
  • TurnstileTask with cloudflareTaskType: "cf_clearance": Runs Cloudflare challenge solve.
Proxy Format Flexibility:
String: "ip:port", "ip:port:user:pass", "scheme:ip:port:user:pass", "scheme://user:pass@ip:port".
Object fields: proxyType, proxyAddress, proxyPort, proxyLogin, proxyPassword.
curl -X POST https://api.floweno.com/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "flw_live_YOUR_API_KEY",
    "task": {
      "type": "AntiCloudflareTask",
      "websiteURL": "https://example.com/protected",
      "proxy": "203.0.113.10:8080:user:pass"
    }
  }'
Success Response (HTTP 200):
{
  "errorId": 0,
  "taskId": "7f3c2a1e-9b4d-4c6a-8e21-5d0f3b9a7c14",
  "status": "idle"
}
POST/getTaskResult

Polls the execution status of a task created with /createTask. Poll every 2 seconds until status changes from processing to ready or failed.

1. Processing Response:
{
  "errorId": 0,
  "taskId": "7f3c2a1e-9b4d-4c6a-8e21-5d0f3b9a7c14",
  "status": "processing"
}
2. Ready Response (Turnstile solve):
{
  "errorId": 0,
  "taskId": "7f3c2a1e-9b4d-4c6a-8e21-5d0f3b9a7c14",
  "status": "ready",
  "solution": {
    "token": "0.4h4A9x...valid_turnstile_token...",
    "type": "turnstile",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36..."
  },
  "cost": "0.000900",
  "createTime": 1775578800,
  "endTime": 1775578809
}
3. Ready Response (Cloudflare Challenge with cf_clearance & TLS Binding):
{
  "errorId": 0,
  "taskId": "7f3c2a1e-9b4d-4c6a-8e21-5d0f3b9a7c14",
  "status": "ready",
  "solution": {
    "cookies": {
      "cf_clearance": "abC123XyZ_clearance_cookie_value..."
    },
    "token": "abC123XyZ_clearance_cookie_value...",   // compat: token = cf_clearance
    "cf_clearance": "abC123XyZ_clearance_cookie_value...",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36",
    "domain": "example.com",
    "expires": 1775582400,
    "binding": {
      "requires_same_exit_ip": true,
      "requires_ja3_match": true,
      "chrome_major": 151,
      "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"
    }
  },
  "cost": "0.001300",
  "createTime": 1775578800,
  "endTime": 1775578811
}
4. Failed Response:
{
  "errorId": 1,
  "errorCode": "ERROR_CAPTCHA_UNSOLVABLE",
  "errorDescription": "The target challenge could not be resolved within timeout budget.",
  "taskId": "7f3c2a1e-9b4d-4c6a-8e21-5d0f3b9a7c14",
  "status": "failed"
}
POST/getBalance

Retrieves current available USD wallet balance in CapSolver format.

// Request:
{ "clientKey": "flw_live_YOUR_API_KEY" }

// Response (HTTP 200):
{
  "errorId": 0,
  "balance": 24.50
}