Get API Key

Code examples

A full cycle: create a task, then poll for the result. Replace YOUR_API_KEY, the website URL and the site key with your own values.

reCAPTCHA v2#

cURL#

# 1. Create a task
curl -s -X POST https://api.captcha-solver.com/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "RecaptchaV2TaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "6Le-xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    }
  }'
# -> {"errorId":0,"taskId":100}

# 2. Poll for the result (repeat every ~5s until status is "ready")
curl -s -X POST https://api.captcha-solver.com/getTaskResult \
  -H "Content-Type: application/json" \
  -d '{"clientKey":"YOUR_API_KEY","taskId":100}'
# -> {"errorId":0,"status":"processing"}
# -> {"errorId":0,"status":"ready","solution":{"gRecaptchaResponse":"03AGdBq..."}}

Python#

import time
import requests

BASE = "https://api.captcha-solver.com"
API_KEY = "YOUR_API_KEY"

# 1. Create a task
resp = requests.post(f"{BASE}/createTask", json={
    "clientKey": API_KEY,
    "task": {
        "type": "RecaptchaV2TaskProxyless",
        "websiteURL": "https://example.com/login",
        "websiteKey": "6Le-xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    },
}).json()

if resp["errorId"] != 0:
    raise RuntimeError(resp["errorCode"])
task_id = resp["taskId"]

# 2. Poll until ready
while True:
    time.sleep(5)
    result = requests.post(f"{BASE}/getTaskResult", json={
        "clientKey": API_KEY,
        "taskId": task_id,
    }).json()

    if result["errorId"] != 0:
        raise RuntimeError(result["errorCode"])
    if result["status"] == "ready":
        print(result["solution"]["gRecaptchaResponse"])
        break

Node.js#

const BASE = "https://api.captcha-solver.com";
const API_KEY = "YOUR_API_KEY";
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));

async function solve() {
  // 1. Create a task
  const create = await fetch(`${BASE}/createTask`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      clientKey: API_KEY,
      task: {
        type: "RecaptchaV2TaskProxyless",
        websiteURL: "https://example.com/login",
        websiteKey: "6Le-xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      },
    }),
  }).then((r) => r.json());

  if (create.errorId !== 0) throw new Error(create.errorCode);

  // 2. Poll until ready
  while (true) {
    await sleep(5000);
    const result = await fetch(`${BASE}/getTaskResult`, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ clientKey: API_KEY, taskId: create.taskId }),
    }).then((r) => r.json());

    if (result.errorId !== 0) throw new Error(result.errorCode);
    if (result.status === "ready") return result.solution.gRecaptchaResponse;
  }
}

solve().then(console.log);

reCAPTCHA v3#

cURL#

# 1. Create a task
curl -s -X POST https://api.captcha-solver.com/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "RecaptchaV3TaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "6Le-xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "minScore": 0.3,
      "pageAction": "login"
    }
  }'
# -> {"errorId":0,"taskId":100}

# 2. Poll for the result (repeat every ~5s until status is "ready")
curl -s -X POST https://api.captcha-solver.com/getTaskResult \
  -H "Content-Type: application/json" \
  -d '{"clientKey":"YOUR_API_KEY","taskId":100}'
# -> {"errorId":0,"status":"processing"}
# -> {"errorId":0,"status":"ready","solution":{"gRecaptchaResponse":"03AGdBq..."}}

Python#

import time
import requests

BASE = "https://api.captcha-solver.com"
API_KEY = "YOUR_API_KEY"

# 1. Create a task
resp = requests.post(f"{BASE}/createTask", json={
    "clientKey": API_KEY,
    "task": {
        "type": "RecaptchaV3TaskProxyless",
        "websiteURL": "https://example.com/login",
        "websiteKey": "6Le-xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "minScore": 0.3,
        "pageAction": "login",
    },
}).json()

if resp["errorId"] != 0:
    raise RuntimeError(resp["errorCode"])
task_id = resp["taskId"]

# 2. Poll until ready
while True:
    time.sleep(5)
    result = requests.post(f"{BASE}/getTaskResult", json={
        "clientKey": API_KEY,
        "taskId": task_id,
    }).json()

    if result["errorId"] != 0:
        raise RuntimeError(result["errorCode"])
    if result["status"] == "ready":
        print(result["solution"]["gRecaptchaResponse"])
        break

Node.js#

const BASE = "https://api.captcha-solver.com";
const API_KEY = "YOUR_API_KEY";
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));

async function solve() {
  // 1. Create a task
  const create = await fetch(`${BASE}/createTask`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      clientKey: API_KEY,
      task: {
        type: "RecaptchaV3TaskProxyless",
        websiteURL: "https://example.com/login",
        websiteKey: "6Le-xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        minScore: 0.3,
        pageAction: "login",
      },
    }),
  }).then((r) => r.json());

  if (create.errorId !== 0) throw new Error(create.errorCode);

  // 2. Poll until ready
  while (true) {
    await sleep(5000);
    const result = await fetch(`${BASE}/getTaskResult`, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ clientKey: API_KEY, taskId: create.taskId }),
    }).then((r) => r.json());

    if (result.errorId !== 0) throw new Error(result.errorCode);
    if (result.status === "ready") return result.solution.gRecaptchaResponse;
  }
}

solve().then(console.log);

Cloudflare Turnstile#

cURL#

# 1. Create a task
curl -s -X POST https://api.captcha-solver.com/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "TurnstileTaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "0x4AAAAAAAxxxxxxxxxxxxxxxx"
    }
  }'
# -> {"errorId":0,"taskId":100}

# 2. Poll for the result (repeat every ~5s until status is "ready")
curl -s -X POST https://api.captcha-solver.com/getTaskResult \
  -H "Content-Type: application/json" \
  -d '{"clientKey":"YOUR_API_KEY","taskId":100}'
# -> {"errorId":0,"status":"processing"}
# -> {"errorId":0,"status":"ready","solution":{"token":"0.zxcv..."}}

Python#

import time
import requests

BASE = "https://api.captcha-solver.com"
API_KEY = "YOUR_API_KEY"

# 1. Create a task
resp = requests.post(f"{BASE}/createTask", json={
    "clientKey": API_KEY,
    "task": {
        "type": "TurnstileTaskProxyless",
        "websiteURL": "https://example.com/login",
        "websiteKey": "0x4AAAAAAAxxxxxxxxxxxxxxxx",
    },
}).json()

if resp["errorId"] != 0:
    raise RuntimeError(resp["errorCode"])
task_id = resp["taskId"]

# 2. Poll until ready
while True:
    time.sleep(5)
    result = requests.post(f"{BASE}/getTaskResult", json={
        "clientKey": API_KEY,
        "taskId": task_id,
    }).json()

    if result["errorId"] != 0:
        raise RuntimeError(result["errorCode"])
    if result["status"] == "ready":
        print(result["solution"]["token"])
        break

Node.js#

const BASE = "https://api.captcha-solver.com";
const API_KEY = "YOUR_API_KEY";
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));

async function solve() {
  // 1. Create a task
  const create = await fetch(`${BASE}/createTask`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      clientKey: API_KEY,
      task: {
        type: "TurnstileTaskProxyless",
        websiteURL: "https://example.com/login",
        websiteKey: "0x4AAAAAAAxxxxxxxxxxxxxxxx",
      },
    }),
  }).then((r) => r.json());

  if (create.errorId !== 0) throw new Error(create.errorCode);

  // 2. Poll until ready
  while (true) {
    await sleep(5000);
    const result = await fetch(`${BASE}/getTaskResult`, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ clientKey: API_KEY, taskId: create.taskId }),
    }).then((r) => r.json());

    if (result.errorId !== 0) throw new Error(result.errorCode);
    if (result.status === "ready") return result.solution.token;
  }
}

solve().then(console.log);

Yandex SmartCaptcha#

cURL#

# 1. Create a task
curl -s -X POST https://api.captcha-solver.com/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "YandexSmartCaptchaTaskProxyless",
      "websiteURL": "https://example.com/login",
      "websiteKey": "Y5Lh0ti..."
    }
  }'
# -> {"errorId":0,"taskId":100}

# 2. Poll for the result (repeat every ~5s until status is "ready")
curl -s -X POST https://api.captcha-solver.com/getTaskResult \
  -H "Content-Type: application/json" \
  -d '{"clientKey":"YOUR_API_KEY","taskId":100}'
# -> {"errorId":0,"status":"processing"}
# -> {"errorId":0,"status":"ready","solution":{"token":"dV9xNjYyNTU3NjkxO4k9OTQuNVMuMjkuMjM9..."}}

Python#

import time
import requests

BASE = "https://api.captcha-solver.com"
API_KEY = "YOUR_API_KEY"

# 1. Create a task
resp = requests.post(f"{BASE}/createTask", json={
    "clientKey": API_KEY,
    "task": {
        "type": "YandexSmartCaptchaTaskProxyless",
        "websiteURL": "https://example.com/login",
        "websiteKey": "Y5Lh0ti...",
    },
}).json()

if resp["errorId"] != 0:
    raise RuntimeError(resp["errorCode"])
task_id = resp["taskId"]

# 2. Poll until ready
while True:
    time.sleep(5)
    result = requests.post(f"{BASE}/getTaskResult", json={
        "clientKey": API_KEY,
        "taskId": task_id,
    }).json()

    if result["errorId"] != 0:
        raise RuntimeError(result["errorCode"])
    if result["status"] == "ready":
        print(result["solution"]["token"])
        break

Node.js#

const BASE = "https://api.captcha-solver.com";
const API_KEY = "YOUR_API_KEY";
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));

async function solve() {
  // 1. Create a task
  const create = await fetch(`${BASE}/createTask`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      clientKey: API_KEY,
      task: {
        type: "YandexSmartCaptchaTaskProxyless",
        websiteURL: "https://example.com/login",
        websiteKey: "Y5Lh0ti...",
      },
    }),
  }).then((r) => r.json());

  if (create.errorId !== 0) throw new Error(create.errorCode);

  // 2. Poll until ready
  while (true) {
    await sleep(5000);
    const result = await fetch(`${BASE}/getTaskResult`, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ clientKey: API_KEY, taskId: create.taskId }),
    }).then((r) => r.json());

    if (result.errorId !== 0) throw new Error(result.errorCode);
    if (result.status === "ready") return result.solution.token;
  }
}

solve().then(console.log);

GeeTest v3#

cURL#

# 1. Create a task
curl -s -X POST https://api.captcha-solver.com/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "GeeTestTaskProxyless",
      "websiteURL": "https://example.com/login",
      "gt": "f2ae6cadcf7886856696c46d84d109d1",
      "challenge": "12345678abc90123d45678e90123f45g6"
    }
  }'
# -> {"errorId":0,"taskId":100}

# 2. Poll for the result (repeat every ~5s until status is "ready")
curl -s -X POST https://api.captcha-solver.com/getTaskResult \
  -H "Content-Type: application/json" \
  -d '{"clientKey":"YOUR_API_KEY","taskId":100}'
# -> {"errorId":0,"status":"processing"}
# -> {"errorId":0,"status":"ready","solution":{"challenge":"...","validate":"...","seccode":"..."}}

Python#

import time
import requests

BASE = "https://api.captcha-solver.com"
API_KEY = "YOUR_API_KEY"

# 1. Create a task
resp = requests.post(f"{BASE}/createTask", json={
    "clientKey": API_KEY,
    "task": {
        "type": "GeeTestTaskProxyless",
        "websiteURL": "https://example.com/login",
        "gt": "f2ae6cadcf7886856696c46d84d109d1",
        "challenge": "12345678abc90123d45678e90123f45g6",
    },
}).json()

if resp["errorId"] != 0:
    raise RuntimeError(resp["errorCode"])
task_id = resp["taskId"]

# 2. Poll until ready
while True:
    time.sleep(5)
    result = requests.post(f"{BASE}/getTaskResult", json={
        "clientKey": API_KEY,
        "taskId": task_id,
    }).json()

    if result["errorId"] != 0:
        raise RuntimeError(result["errorCode"])
    if result["status"] == "ready":
        print(result["solution"])
        break

Node.js#

const BASE = "https://api.captcha-solver.com";
const API_KEY = "YOUR_API_KEY";
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));

async function solve() {
  // 1. Create a task
  const create = await fetch(`${BASE}/createTask`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      clientKey: API_KEY,
      task: {
        type: "GeeTestTaskProxyless",
        websiteURL: "https://example.com/login",
        gt: "f2ae6cadcf7886856696c46d84d109d1",
        challenge: "12345678abc90123d45678e90123f45g6",
      },
    }),
  }).then((r) => r.json());

  if (create.errorId !== 0) throw new Error(create.errorCode);

  // 2. Poll until ready
  while (true) {
    await sleep(5000);
    const result = await fetch(`${BASE}/getTaskResult`, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ clientKey: API_KEY, taskId: create.taskId }),
    }).then((r) => r.json());

    if (result.errorId !== 0) throw new Error(result.errorCode);
    if (result.status === "ready") return result.solution;
  }
}

solve().then(console.log);

GeeTest v4#

cURL#

# 1. Create a task
curl -s -X POST https://api.captcha-solver.com/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "GeeTestTaskProxyless",
      "websiteURL": "https://example.com/login",
      "version": 4,
      "initParameters": { "captcha_id": "e392e65f912c780f2c3ebac7702651de" }
    }
  }'
# -> {"errorId":0,"taskId":100}

# 2. Poll for the result (repeat every ~5s until status is "ready")
curl -s -X POST https://api.captcha-solver.com/getTaskResult \
  -H "Content-Type: application/json" \
  -d '{"clientKey":"YOUR_API_KEY","taskId":100}'
# -> {"errorId":0,"status":"processing"}
# -> {"errorId":0,"status":"ready","solution":{"captcha_id":"...","lot_number":"...","pass_token":"...","gen_time":"...","captcha_output":"..."}}

Python#

import time
import requests

BASE = "https://api.captcha-solver.com"
API_KEY = "YOUR_API_KEY"

# 1. Create a task
resp = requests.post(f"{BASE}/createTask", json={
    "clientKey": API_KEY,
    "task": {
        "type": "GeeTestTaskProxyless",
        "websiteURL": "https://example.com/login",
        "version": 4,
        "initParameters": {"captcha_id": "e392e65f912c780f2c3ebac7702651de"},
    },
}).json()

if resp["errorId"] != 0:
    raise RuntimeError(resp["errorCode"])
task_id = resp["taskId"]

# 2. Poll until ready
while True:
    time.sleep(5)
    result = requests.post(f"{BASE}/getTaskResult", json={
        "clientKey": API_KEY,
        "taskId": task_id,
    }).json()

    if result["errorId"] != 0:
        raise RuntimeError(result["errorCode"])
    if result["status"] == "ready":
        print(result["solution"])
        break

Node.js#

const BASE = "https://api.captcha-solver.com";
const API_KEY = "YOUR_API_KEY";
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));

async function solve() {
  // 1. Create a task
  const create = await fetch(`${BASE}/createTask`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      clientKey: API_KEY,
      task: {
        type: "GeeTestTaskProxyless",
        websiteURL: "https://example.com/login",
        version: 4,
        initParameters: { captcha_id: "e392e65f912c780f2c3ebac7702651de" },
      },
    }),
  }).then((r) => r.json());

  if (create.errorId !== 0) throw new Error(create.errorCode);

  // 2. Poll until ready
  while (true) {
    await sleep(5000);
    const result = await fetch(`${BASE}/getTaskResult`, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ clientKey: API_KEY, taskId: create.taskId }),
    }).then((r) => r.json());

    if (result.errorId !== 0) throw new Error(result.errorCode);
    if (result.status === "ready") return result.solution;
  }
}

solve().then(console.log);

Tencent#

cURL#

# 1. Create a task
curl -s -X POST https://api.captcha-solver.com/createTask \
  -H "Content-Type: application/json" \
  -d '{
    "clientKey": "YOUR_API_KEY",
    "task": {
      "type": "TencentTaskProxyless",
      "websiteURL": "https://example.com/login",
      "appId": "190014885"
    }
  }'
# -> {"errorId":0,"taskId":100}

# 2. Poll for the result (repeat every ~5s until status is "ready")
curl -s -X POST https://api.captcha-solver.com/getTaskResult \
  -H "Content-Type: application/json" \
  -d '{"clientKey":"YOUR_API_KEY","taskId":100}'
# -> {"errorId":0,"status":"processing"}
# -> {"errorId":0,"status":"ready","solution":{"appid":"190014885","ret":0,"ticket":"tr0344...","randstr":"@KVN"}}

Python#

import time
import requests

BASE = "https://api.captcha-solver.com"
API_KEY = "YOUR_API_KEY"

# 1. Create a task
resp = requests.post(f"{BASE}/createTask", json={
    "clientKey": API_KEY,
    "task": {
        "type": "TencentTaskProxyless",
        "websiteURL": "https://example.com/login",
        "appId": "190014885",
    },
}).json()

if resp["errorId"] != 0:
    raise RuntimeError(resp["errorCode"])
task_id = resp["taskId"]

# 2. Poll until ready
while True:
    time.sleep(5)
    result = requests.post(f"{BASE}/getTaskResult", json={
        "clientKey": API_KEY,
        "taskId": task_id,
    }).json()

    if result["errorId"] != 0:
        raise RuntimeError(result["errorCode"])
    if result["status"] == "ready":
        print(result["solution"])
        break

Node.js#

const BASE = "https://api.captcha-solver.com";
const API_KEY = "YOUR_API_KEY";
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));

async function solve() {
  // 1. Create a task
  const create = await fetch(`${BASE}/createTask`, {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      clientKey: API_KEY,
      task: {
        type: "TencentTaskProxyless",
        websiteURL: "https://example.com/login",
        appId: "190014885",
      },
    }),
  }).then((r) => r.json());

  if (create.errorId !== 0) throw new Error(create.errorCode);

  // 2. Poll until ready
  while (true) {
    await sleep(5000);
    const result = await fetch(`${BASE}/getTaskResult`, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({ clientKey: API_KEY, taskId: create.taskId }),
    }).then((r) => r.json());

    if (result.errorId !== 0) throw new Error(result.errorCode);
    if (result.status === "ready") return result.solution;
  }
}

solve().then(console.log);

Postman#

In Postman: create a POST request to the endpoint, set the body to raw JSON, and paste the request body below. Or import the ready collection (Import > Raw text):

{
  "info": {
    "name": "captcha-solver",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "createTask",
      "item": [
        {
          "name": "reCAPTCHA v2 (proxyless)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"RecaptchaV2TaskProxyless\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"websiteKey\": \"6Le-xxxx\"\n  }\n}"
            }
          }
        },
        {
          "name": "reCAPTCHA v2 (your proxy)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"RecaptchaV2Task\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"websiteKey\": \"6Le-xxxx\",\n    \"proxyType\": \"http\",\n    \"proxyAddress\": \"1.2.3.4\",\n    \"proxyPort\": 8080,\n    \"proxyLogin\": \"user\",\n    \"proxyPassword\": \"password\"\n  }\n}"
            }
          }
        },
        {
          "name": "reCAPTCHA v3 (proxyless)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"RecaptchaV3TaskProxyless\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"websiteKey\": \"6Le-xxxx\",\n    \"minScore\": 0.3,\n    \"pageAction\": \"login\"\n  }\n}"
            }
          }
        },
        {
          "name": "Turnstile (proxyless)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"TurnstileTaskProxyless\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"websiteKey\": \"0x4AAAAAAAxxxx\"\n  }\n}"
            }
          }
        },
        {
          "name": "Turnstile (your proxy)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"TurnstileTask\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"websiteKey\": \"0x4AAAAAAAxxxx\",\n    \"proxyType\": \"http\",\n    \"proxyAddress\": \"1.2.3.4\",\n    \"proxyPort\": 8080\n  }\n}"
            }
          }
        },
        {
          "name": "Yandex SmartCaptcha (proxyless)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"YandexSmartCaptchaTaskProxyless\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"websiteKey\": \"Y5Lh0ti...\"\n  }\n}"
            }
          }
        },
        {
          "name": "Yandex SmartCaptcha (your proxy)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"YandexSmartCaptchaTask\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"websiteKey\": \"Y5Lh0ti...\",\n    \"proxyType\": \"http\",\n    \"proxyAddress\": \"1.2.3.4\",\n    \"proxyPort\": 8080\n  }\n}"
            }
          }
        },
        {
          "name": "GeeTest v3 (proxyless)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"GeeTestTaskProxyless\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"gt\": \"f2ae6cadcf7886856696c46d84d109d1\",\n    \"challenge\": \"12345678abc90123d45678e90123f45g6\"\n  }\n}"
            }
          }
        },
        {
          "name": "GeeTest v3 (your proxy)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"GeeTestTask\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"gt\": \"f2ae6cadcf7886856696c46d84d109d1\",\n    \"challenge\": \"12345678abc90123d45678e90123f45g6\",\n    \"proxyType\": \"http\",\n    \"proxyAddress\": \"1.2.3.4\",\n    \"proxyPort\": 8080\n  }\n}"
            }
          }
        },
        {
          "name": "GeeTest v4 (proxyless)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"GeeTestTaskProxyless\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"version\": 4,\n    \"initParameters\": { \"captcha_id\": \"e392e65f912c780f2c3ebac7702651de\" }\n  }\n}"
            }
          }
        },
        {
          "name": "GeeTest v4 (your proxy)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"GeeTestTask\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"version\": 4,\n    \"initParameters\": { \"captcha_id\": \"e392e65f912c780f2c3ebac7702651de\" },\n    \"proxyType\": \"http\",\n    \"proxyAddress\": \"1.2.3.4\",\n    \"proxyPort\": 8080\n  }\n}"
            }
          }
        },
        {
          "name": "Tencent (proxyless)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"TencentTaskProxyless\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"appId\": \"190014885\"\n  }\n}"
            }
          }
        },
        {
          "name": "Tencent (your proxy)",
          "request": {
            "method": "POST",
            "header": [{ "key": "Content-Type", "value": "application/json" }],
            "url": "https://api.captcha-solver.com/createTask",
            "body": {
              "mode": "raw",
              "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"task\": {\n    \"type\": \"TencentTask\",\n    \"websiteURL\": \"https://example.com/login\",\n    \"appId\": \"190014885\",\n    \"proxyType\": \"http\",\n    \"proxyAddress\": \"1.2.3.4\",\n    \"proxyPort\": 8080\n  }\n}"
            }
          }
        }
      ]
    },
    {
      "name": "getTaskResult",
      "request": {
        "method": "POST",
        "header": [{ "key": "Content-Type", "value": "application/json" }],
        "url": "https://api.captcha-solver.com/getTaskResult",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\",\n  \"taskId\": 100\n}"
        }
      }
    },
    {
      "name": "getBalance",
      "request": {
        "method": "POST",
        "header": [{ "key": "Content-Type", "value": "application/json" }],
        "url": "https://api.captcha-solver.com/getBalance",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"clientKey\": \"YOUR_API_KEY\"\n}"
        }
      }
    }
  ]
}