API dạng JSON POST, tương thích 2captcha new format — hỗ trợ tất cả key types (point_, thread_, max1_)
| Endpoint | Method | Mô tả |
|---|---|---|
https://captcha69.com/v2/createTask | POST | Gửi captcha để giải |
https://captcha69.com/v2/getTaskResult | POST | Lấy kết quả captcha |
https://captcha69.com/v2/getBalance | POST | Xem số dư |
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 Type | Loại Captcha | point/thread | max1 |
|---|---|---|---|
NoCaptchaTaskProxyless | ReCaptcha v2 | ✓ | ✓ |
NoCaptchaTask | ReCaptcha v2 + proxy | ✓ | ✓ |
RecaptchaV3TaskProxyless | ReCaptcha v3 | ✓ | ✓ |
RecaptchaV3Task | ReCaptcha v3 + proxy | ✓ | ✓ |
RecaptchaV2EnterpriseTaskProxyless | ReCaptcha v2 Enterprise | ✓ | ✓ |
RecaptchaV2EnterpriseTask | ReCaptcha v2 Enterprise + proxy | ✓ | ✓ |
RecaptchaV3EnterpriseTaskProxyless | ReCaptcha v3 Enterprise | — | ✓ |
ImageToTextTask | Image to Text (base64) | ✓ | ✓ |
ReCaptchaImageTask | ReCaptcha Image (Grid Click) | ✓ | ✓ |
TurnstileTaskProxyless | Cloudflare Turnstile | — | ✓ |
TurnstileTask | Cloudflare Turnstile + proxy | — | ✓ |
TurnstileTokenTask | Cloudflare Turnstile Point | ✓ * | — |
GeeTestTaskProxyless | GeeTest | — | ✓ |
FunCaptchaTask | FunCaptcha | — | ✓ |
AmazonTask | Amazon WAF | — | ✓ |
MTCaptchaTask | MTCaptcha | — | ✓ |
BinanceTask | Binance | — | ✓ |
CustomTask | Altcha / Hunt / Alibaba / Friendly | — | ✓ |
ComplexImageTask | Complex Image | ✓ | ✓ |
* TurnstileTokenTask chỉ dành cho point key (bắt buộc proxy).
/v2/createTaskBody JSON:
| Parameter | Giá trị | Mô tả |
|---|---|---|
clientKey bắt buộc | point_YOUR_API_KEY | API key của bạn |
task.type bắt buộc | Task type string | Xem bảng bên trên |
task.websiteURL bắt buộc | URL | Đường dẫn trang hiển thị captcha |
task.websiteKey * | Site key | Site key (ReCaptcha, GeeTest, Turnstile) |
task.body * | Base64 string | Image base64 (chỉ ImageToTextTask) |
task.sitekey tuỳ chọn | Site key | Thay thế websiteKey (GeeTest, Turnstile) |
task.action tuỳ chọn | String | Action cho ReCaptcha v3 |
task.proxy tuỳ chọn | user:pass@ip:port | Proxy (dùng với Task types không có Proxyless) |
task.proxytype tuỳ chọn | HTTP | Loại proxy |
task.useragent tuỳ chọn | String | User-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:
/v2/getTaskResult| Parameter | Giá trị | Mô tả |
|---|---|---|
clientKey bắt buộc | point_YOUR_API_KEY | API key của bạn |
taskId bắt buộc | ID từ bước 1 | taskId nhận được từ createTask |
Request:
{
"clientKey": "point_YOUR_API_KEY",
"taskId": "6842abc123def45678901234"
}
Response:
Nếu status là processing → đợi 5s rồi retry
/v2/getBalance| Parameter | Giá trị | Mô tả |
|---|---|---|
clientKey bắt buộc | point_YOUR_API_KEY | API key của bạn |
Response:
/v2/createTask với JSON body → nhận {"errorId":0,"taskId":"..."}/v2/getTaskResult với taskIdstatus = "processing" → đợi 5s rồi retrystatus = "ready" → lấy solution.gRecaptchaResponse| errorCode | Mô tả |
|---|---|
ERROR_KEY_DOES_NOT_EXIST | API key không hợp lệ |
ERROR_NO_TASK_TYPE | Thiếu task.type |
ERROR_TASK_TYPE_NOT_SUPPORTED | Task type không hỗ trợ |
ERROR_ZERO_BALANCE | Không đủ point |
ERROR_THREAD_EXPIRED | Thread đã hết hạn |
ERROR_THREAD_MAX | Đã đạt số thread tối đa |
ERROR_TASK_NOT_FOUND | Không tìm thấy task |
ERROR_TASK_ID_INVALID | taskId không hợp lệ |
ERROR_GET_DATA_OR_SERVER_IS_RESTART | Lỗi server, thử lại sau |
ERROR_INTERNAL | Lỗi nội bộ |
Tham khảo thêm: 2captcha API Docs — thay domain thành captcha69