CaptchaSolvCaptchaSolv

Quick Start

Solve your first captcha in under a minute.

Send a POST /solve request - the call blocks until the captcha is solved and returns the result directly.

The data object and data.solution fields depend on the captcha type. See Captcha Types for the full reference.

import requests

resp = requests.post("https://v2.captchasolv.com/solve", json={
    "api_key":   "YOUR_API_KEY",
    "type":      "RecaptchaV3",
    "proxy":     "user:pass@host:port",  # optional
    "useragent": "Mozilla/5.0 ...",      # optional
    "site_url":  "https://example.com/",
    "data": {
        # type-specific fields - see Captcha Types
    },
}, timeout=60)

data = resp.json()
if data["errorId"] != 0:
    raise RuntimeError(data["errorMessage"])

solution = data["data"]["solution"]
print(solution)
const res = await fetch("https://v2.captchasolv.com/solve", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    api_key:   "YOUR_API_KEY",
    type:      "RecaptchaV3",
    proxy:     "user:pass@host:port",
    site_url:  "https://example.com/",
    data: {
      // type-specific fields - see Captcha Types
    },
  }),
  signal: AbortSignal.timeout(60_000),
});

const data = await res.json();
if (data.errorId !== 0) throw new Error(data.errorMessage);

const solution = data.data.solution;
console.log(solution);
curl -s -X POST https://v2.captchasolv.com/solve \
  -H "Content-Type: application/json" \
  -d '{
    "api_key":  "YOUR_API_KEY",
    "type":     "RecaptchaV3",
    "site_url": "https://example.com/",
    "data": {}
  }'