Captcha API Documentation

How to create and retrieve Captcha Solver tasks using your account token.

Authentication

All endpoints require your key_account_token for authentication.

⚠️ Make sure your account has enough balance before creating a solver task.

1. Create Captcha Solver (POST)

Base Request Body:

{
  "key": "123e4567-e89b-12d3-a456-426614174000",
  "captcha": "hcaptcha",
  "solver_url": "https://example.com/form",
  "site_key": "SITE_KEY_HERE"
}
        

Example Success Response:

{
  "id": 123,
  "captcha": "hcaptcha",
  "status": "pr",
  "resolver_solution": null,
  "created_at": "2025-10-18T14:00:00Z"
}
        

Example Error Response:

{
  "detail": "Insufficient balance to solve this captcha."
}
        

2. Retrieve Captcha Solution (GET)

Use the ID from the creation response to check the result of a captcha solution task.

Response Example (Success):

{
  "id": 123,
  "captcha": "hcaptcha",
  "status": "su",
  "resolver_solution": "CAPTCHA_SOLUTION_STRING",
  "created_at": "2025-10-18T14:00:00Z"
}
        

3. List Available Captcha Types (GET)

Retrieve a list of all available captcha types and their price.

4. Captcha Type Examples

🔹 hCaptcha

import requests

data = {
    "key": "YOUR_API_KEY",
    "captcha": "hcaptcha",
    "solver_url": "https://www.hcaptcha.com/",
    "site_key": "10000000-ffff-ffff-ffff-000000000001"
}

response = requests.post("https://tools.2crawler.rest/api/v1/solver/", json=data)
print(response.json())
            

🔹 Google reCAPTCHA v2

import requests

data = {
    "key": "YOUR_API_KEY",
    "captcha": "recaptchav2",
    "solver_url": "https://www.google.com/recaptcha/api2/demo",
    "site_key": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"
}

response = requests.post("https://tools.2crawler.rest/api/v1/solver/", json=data)
print(response.json())
            

🔹 Google reCAPTCHA v3

import requests

data = {
    "key": "YOUR_API_KEY",
    "captcha": "recaptchav3",
    "solver_url": "https://www.google.com/recaptcha/api2/demo",
    "site_key": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
    "action": "homepage"
}

response = requests.post("https://tools.2crawler.rest/api/v1/solver/", json=data)
print(response.json())
            

🔹 Cloudflare Turnstile

import requests

data = {
    "key": "YOUR_API_KEY",
    "captcha": "turnstile",
    "solver_url": "https://turnstile.zeroclover.io/",
    "site_key": "0x4AAAAAAAEwzhD6pyKkgXC0"
}

response = requests.post("https://tools.2crawler.rest/api/v1/solver/", json=data)
print(response.json())
            

🔹 Universal / Image Captcha

import requests
import base64

with open("captcha.png", "rb") as f:
    image_base64 = base64.b64encode(f.read()).decode()

data = {
    "key": "YOUR_API_KEY",
    "captcha": "universal",
    "image_base64": image_base64
}

response = requests.post("https://tools.2crawler.rest/api/v1/solver/", json=data)
print(response.json())