API v2 — JSON POST

API dạng JSON POST, tương thích 2captcha new format — hỗ trợ tất cả key types (point_, thread_, max1_)

Endpoints

EndpointMethodMô tả
https://captcha69.com/v2/createTaskPOSTGửi captcha để giải
https://captcha69.com/v2/getTaskResultPOSTLấy kết quả captcha
https://captcha69.com/v2/getBalancePOSTXem số dư

Các loại Task hỗ trợ

Key point_ / thread_ hỗ trợ các loại có mark ✓. Key max1_ hỗ trợ tất cả — xem thêm tại Max1 API Docs.

Task TypeLoại Captchapoint/threadmax1
NoCaptchaTaskProxylessReCaptcha v2
NoCaptchaTaskReCaptcha v2 + proxy
RecaptchaV3TaskProxylessReCaptcha v3
RecaptchaV3TaskReCaptcha v3 + proxy
RecaptchaV2EnterpriseTaskProxylessReCaptcha v2 Enterprise
RecaptchaV2EnterpriseTaskReCaptcha v2 Enterprise + proxy
RecaptchaV3EnterpriseTaskProxylessReCaptcha v3 Enterprise
ImageToTextTaskImage to Text (base64)
ReCaptchaImageTaskReCaptcha Image (Grid Click)
TurnstileTaskProxylessCloudflare Turnstile
TurnstileTaskCloudflare Turnstile + proxy
TurnstileTokenTaskCloudflare Turnstile Point✓ *
GeeTestTaskProxylessGeeTest
FunCaptchaTaskFunCaptcha
AmazonTaskAmazon WAF
MTCaptchaTaskMTCaptcha
BinanceTaskBinance
CustomTaskAltcha / Hunt / Alibaba / Friendly
ComplexImageTaskComplex Image

* TurnstileTokenTask chỉ dành cho point key (bắt buộc proxy).


1. Tạo task — /v2/createTask

Body JSON:

ParameterGiá trịMô tả
clientKey bắt buộcpoint_YOUR_API_KEYAPI key của bạn
task.type bắt buộcTask type stringXem bảng bên trên
task.websiteURL bắt buộcURLĐường dẫn trang hiển thị captcha
task.websiteKey *Site keySite key (ReCaptcha, GeeTest, Turnstile)
task.body *Base64 stringImage base64 (chỉ ImageToTextTask)
task.sitekey tuỳ chọnSite keyThay thế websiteKey (GeeTest, Turnstile)
task.action tuỳ chọnStringAction cho ReCaptcha v3
task.proxy tuỳ chọnuser:pass@ip:portProxy (dùng với Task types không có Proxyless)
task.proxytype tuỳ chọnHTTPLoại proxy
task.useragent tuỳ chọnStringUser-Agent

VD: ReCaptcha v2

{
    "clientKey": "point_YOUR_API_KEY",
    "task": {
        "type": "NoCaptchaTaskProxyless",
        "websiteURL": "https://2captcha.com/demo/recaptcha-v2",
        "websiteKey": "6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u"
    }
}

VD: ReCaptcha v3

{
    "clientKey": "point_YOUR_API_KEY",
    "task": {
        "type": "RecaptchaV3TaskProxyless",
        "websiteURL": "https://example.com",
        "websiteKey": "SITE_KEY_HERE",
        "action": "verify"
    }
}

VD: Image To Text

{
    "clientKey": "point_YOUR_API_KEY",
    "task": {
        "type": "ImageToTextTask",
        "body": "BASE64_IMAGE_STRING"
    }
}

Response:

{"errorId": 0, "taskId": "6842abc123def45678901234"}

2. Lấy kết quả — /v2/getTaskResult

ParameterGiá trịMô tả
clientKey bắt buộcpoint_YOUR_API_KEYAPI key của bạn
taskId bắt buộcID từ bước 1taskId nhận được từ createTask

Request:

{
    "clientKey": "point_YOUR_API_KEY",
    "taskId": "6842abc123def45678901234"
}

Response:

Đang xử lý: {"errorId": 0, "status": "processing"}
Thành công: {"errorId": 0, "status": "ready", "solution": {"gRecaptchaResponse": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."}}
Lỗi: {"errorId": 1, "status": "failed", "errorCode": "ERROR_TASK_FAILED"}

Nếu statusprocessing → đợi 5s rồi retry


3. Xem số dư — /v2/getBalance

ParameterGiá trịMô tả
clientKey bắt buộcpoint_YOUR_API_KEYAPI key của bạn

Response:

{"errorId": 0, "balance": 1000}

Luồng hoạt động

1. POST /v2/createTask với JSON body → nhận {"errorId":0,"taskId":"..."}
2. POST /v2/getTaskResult với taskId
3. Nếu status = "processing" → đợi 5s rồi retry
4. Khi status = "ready" → lấy solution.gRecaptchaResponse

Error Codes

errorCodeMô tả
ERROR_KEY_DOES_NOT_EXISTAPI key không hợp lệ
ERROR_NO_TASK_TYPEThiếu task.type
ERROR_TASK_TYPE_NOT_SUPPORTEDTask type không hỗ trợ
ERROR_ZERO_BALANCEKhông đủ point
ERROR_THREAD_EXPIREDThread đã hết hạn
ERROR_THREAD_MAXĐã đạt số thread tối đa
ERROR_TASK_NOT_FOUNDKhông tìm thấy task
ERROR_TASK_ID_INVALIDtaskId không hợp lệ
ERROR_GET_DATA_OR_SERVER_IS_RESTARTLỗi server, thử lại sau
ERROR_INTERNALLỗi nội bộ

Tham khảo thêm: 2captcha API Docs — thay domain thành captcha69