Nếu chỉ nhớ một điều: CaptchaAI tính phí theo thread (không giới hạn số lần giải/tháng), CapSolver tính theo từng lần giải. Nên "dịch vụ nào rẻ hơn" phụ thuộc vào khối lượng CAPTCHA bạn xử lý mỗi tháng, không phải bảng giá niêm yết. Bài này so sánh giá, loại CAPTCHA hỗ trợ, tốc độ, API và trải nghiệm dev, kèm ví dụ chi phí thực tế và hướng dẫn chuyển đổi 5 bước cho team QA/scraping đang cân nhắc rời CapSolver.
So sánh nhanh: CaptchaAI và CapSolver
| Tính năng | CaptchaAI | CapSolver |
|---|---|---|
| reCAPTCHA v2 | ✅ | ✅ |
| reCAPTCHA v3 | ✅ | ✅ |
| reCAPTCHA Enterprise | ✅ | ✅ |
| Cloudflare Turnstile | ✅ | ✅ |
| Cloudflare Challenge | ✅ | ✅ |
| GeeTest v3 | ✅ | ✅ |
| GeeTest v4 | ❌ | ✅ |
| Hình ảnh/OCR CAPTCHA | ✅ | ✅ |
| BLS CAPTCHA | ✅ | ❌ |
| Mô hình định giá | Theo thread (không giới hạn số lần giải) | Theo từng lần giải |
| Tùy chọn miễn phí | ✅ 1 thread miễn phí trong 30 ngày, không cần thẻ | ✅ |
| Kiểu API | REST (GET/POST) | JSON POST |
| Cách nhận kết quả | Polling (res.php) |
Polling hoặc POST tới callbackUrl |
Thử CaptchaAI trước khi trả tiền: nhận 1 thread miễn phí trong 30 ngày, không cần thẻ. Các ô của CapSolver dựa trên tài liệu của chính họ: danh sách loại task (không có task BLS), tài liệu GeeTest cho GeeTest v4 và tài liệu createTask cho callbackUrl; tùy chọn miễn phí là ưu đãi "Get Free Trial" trên trang sản phẩm (tất cả kiểm tra ngày 18/10/2026).
Chi phí: giá theo thread vs giá theo lần giải
Đây là khác biệt lớn nhất — CaptchaAI không tính theo từng lần giải. Bạn mua gói theo số thread (CAPTCHA giải đồng thời), mỗi thread giải không giới hạn số lần/tháng. CapSolver tính tiền theo từng CAPTCHA đã giải.
| CaptchaAI | CapSolver | |
|---|---|---|
| Bạn trả tiền cho | Thread (mỗi thread giải một CAPTCHA tại một thời điểm), không giới hạn số lần giải | Số lần giải, giá theo 1.000 lần cho từng loại task; có cả gói giảm giá |
| Giá khởi điểm | BASIC: $15/tháng, 5 thread | — (xem trang giá của họ) |
Giá của CapSolver cho mỗi 1.000 lần giải nằm trên trang giá của họ, còn tài liệu có nhắc tới các gói giảm giá (kiểm tra ngày 18/10/2026).
Khoảng cách lớn dần khi khối lượng tăng: hóa đơn theo lần giải vẫn tăng theo số lần giải (gói giảm giá chỉ hạ đơn giá), còn chi phí CaptchaAI giữ nguyên trong cùng một gói. Ví dụ tính sẵn cho CaptchaAI, với điều kiện tải cao điểm của bạn nằm gọn trong số thread của gói:
| Khối lượng reCAPTCHA v2/tháng | Gói CaptchaAI | Chi phí | Mỗi 1.000 lần giải |
|---|---|---|---|
| 100.000 lần giải | BASIC (5 thread) | $15 | $0,15 |
| 1.000.000 lần giải | ADVANCE (50 thread) | $90 | $0,09 |
Ví dụ: giả sử một agency QA ở TP.HCM theo dõi giá trên Shopee và Lazada cho nhiều khách hàng. Khi mở rộng từ ~100.000 lên ~1 triệu lần giải/tháng để giám sát thời gian thực, hóa đơn theo lần giải tăng theo khối lượng, còn với CaptchaAI chỉ cần nâng gói từ BASIC lên ADVANCE. Để so sánh, hãy nhân khối lượng hằng tháng với giá mỗi 1.000 lần cho loại task của bạn trên trang giá của CapSolver. Kiểm tra bảng giá mới nhất trên trang chính thức trước khi chốt gói.
Loại CAPTCHA nào mỗi bên hỗ trợ?
Cả hai dịch vụ đều bao phủ các loại CAPTCHA phổ biến nhất, nhưng mỗi bên có một vài loại độc quyền:
Chỉ CaptchaAI hỗ trợ:
- BLS CAPTCHA — CAPTCHA nhiều hình ảnh dùng trên các cổng đặt lịch hẹn xin thị thực. CaptchaAI nhận tối đa 9 hình ảnh kèm hướng dẫn và trả về chỉ số chính xác. BLS không có trong danh sách loại task của CapSolver.
Chỉ CapSolver hỗ trợ (ví dụ từ danh sách loại task của họ):
- GeeTest v4 — có trong tài liệu GeeTest của CapSolver; CaptchaAI chỉ giải GeeTest v3.
- MTCaptcha — một task token trong danh sách của CapSolver; CaptchaAI không có phương thức giải MTCaptcha.
- AWS WAF CAPTCHA — CapSolver xử lý được thử thách Amazon WAF.
- DataDome — CapSolver giải được CAPTCHA chặn trang của DataDome.
Cả hai đều giải lưới hình ảnh kiểu reCAPTCHA: CaptchaAI qua phương thức Grid Image, CapSolver qua task nhận dạng hình ảnh reCAPTCHA v2 (danh sách loại task, kiểm tra ngày 18/10/2026).
CaptchaAI không hỗ trợ hCaptcha, FunCaptcha (Arkose Labs) và GeeTest v4 — kiểm tra kỹ nếu quy trình của bạn phụ thuộc vào ba loại này. Với phần lớn workload scraping và automation còn lại, phạm vi hỗ trợ của CaptchaAI là đủ dùng.
Khi nào nên chọn CaptchaAI
- Bạn cần giải BLS CAPTCHA
- Bạn xử lý khối lượng lớn và muốn giải không giới hạn trên mỗi thread với giá cố định hằng tháng
- Bạn thích API REST đơn giản, không cần dựng request body JSON
- Bạn xây dựng một tích hợp nhẹ, không muốn phụ thuộc SDK bên ngoài
Khi nào nên chọn CapSolver
- Bạn cần giải AWS WAF hoặc DataDome CAPTCHA
- Team của bạn ưu tiên API dạng JSON với object task được định kiểu rõ ràng
- Bạn muốn nhận kết quả qua POST tới URL callback thay vì polling
- Bạn đang dùng CapSolver và khối lượng còn thấp, chi phí chuyển đổi chưa đáng để đổi
Tốc độ giải quyết
CaptchaAI thường trả về token reCAPTCHA v2 trong vòng tối đa 120 giây. Thời gian giải của cả hai dịch vụ phụ thuộc vào trang đích, proxy của bạn và tải hệ thống lúc đó, vì vậy hãy đo trên chính các trang của bạn trong một lần chạy thử trước khi chuyển.
Trải nghiệm dev: tài liệu, SDK, hỗ trợ
| Khía cạnh | CaptchaAI | CapSolver |
|---|---|---|
| Tài liệu | Rõ ràng, có ví dụ code | Có cấu trúc, có SDK |
| Thông báo lỗi | Mã lỗi dạng text thuần (JSON với json=1) |
Đối tượng lỗi JSON (errorId, errorCode) |
| Hỗ trợ | Ticket tại ticket.captchaai.com | — |
| SDK chính thức | Python (gói captchaai) |
— |
Định dạng lỗi của CapSolver lấy từ tài liệu createTask; SDK và kênh hỗ trợ của họ xem trong tài liệu (kiểm tra ngày 18/10/2026). API đơn giản của CaptchaAI khiến bạn hiếm khi cần SDK riêng.
Thiết kế API
CaptchaAI — tham số truy vấn REST
import requests
# Submit task
resp = requests.get("https://ocr.captchaai.com/in.php", params={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com"
})
task_id = resp.text.split("|")[1]
CapSolver — JSON POST
import requests
# Submit task
resp = requests.post("https://api.capsolver.com/createTask", json={
"clientKey": "YOUR_KEY",
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": "https://example.com",
"websiteKey": "SITE_KEY"
}
})
task_id = resp.json()["taskId"]
Tham số GET của CaptchaAI giúp test nhanh từ trình duyệt hoặc curl, không cần dựng request body. JSON của CapSolver đòi hỏi xây dựng object task nhưng có kiểu dữ liệu rõ ràng hơn cho đội thích typed client.
Tích hợp thực tế: quy trình gửi và nhận kết quả
CaptchaAI (Python)
import requests
import time
API_KEY = "YOUR_API_KEY"
def solve_recaptcha(site_key, page_url):
# Submit
resp = requests.get("https://ocr.captchaai.com/in.php", params={
"key": API_KEY,
"method": "userrecaptcha",
"googlekey": site_key,
"pageurl": page_url
})
if not resp.text.startswith("OK|"):
raise Exception(f"Submit failed: {resp.text}")
task_id = resp.text.split("|")[1]
# Poll
for _ in range(60):
time.sleep(5)
result = requests.get("https://ocr.captchaai.com/res.php", params={
"key": API_KEY,
"action": "get",
"id": task_id
})
if result.text == "CAPCHA_NOT_READY":
continue
if result.text.startswith("OK|"):
return result.text.split("|")[1]
raise Exception(f"Solve failed: {result.text}")
raise TimeoutError("Solve timed out")
token = solve_recaptcha("6Le-wvkS...", "https://example.com")
CapSolver (Python)
import requests
import time
API_KEY = "YOUR_KEY"
def solve_recaptcha(site_key, page_url):
resp = requests.post("https://api.capsolver.com/createTask", json={
"clientKey": API_KEY,
"task": {
"type": "ReCaptchaV2TaskProxyLess",
"websiteURL": page_url,
"websiteKey": site_key
}
})
task_id = resp.json()["taskId"]
for _ in range(60):
time.sleep(5)
result = requests.post("https://api.capsolver.com/getTaskResult", json={
"clientKey": API_KEY,
"taskId": task_id
})
data = result.json()
if data["status"] == "processing":
continue
if data["status"] == "ready":
return data["solution"]["gRecaptchaResponse"]
raise Exception(f"Failed: {data}")
raise TimeoutError("Solve timed out")
token = solve_recaptcha("6Le-wvkS...", "https://example.com")
Cả hai theo đúng một mẫu: gửi task → nhận task ID → polling kết quả → dùng token. Số dòng code và độ phức tạp tương đương; khác biệt chỉ ở việc bạn thao tác tham số URL hay object JSON.
Chuyển từ CapSolver sang CaptchaAI trong 5 bước
- Tạo tài khoản tại captchaai.com
- Thay
https://api.capsolver.com/createTaskbằnghttps://ocr.captchaai.com/in.php - Đổi object task JSON thành tham số truy vấn:
-
"type": "ReCaptchaV2TaskProxyLess"→method=userrecaptcha-"websiteKey"→googlekey-"websiteURL"→pageurl - Đổi phần parse phản hồi từ JSON sang định dạng phân cách bằng dấu
| - Thay lệnh gọi
getTaskResultbằngres.php?action=get&id=TASK_ID
Câu hỏi thường gặp
CaptchaAI có hỗ trợ hCaptcha không?
Không. CaptchaAI không hỗ trợ hCaptcha hoặc FunCaptcha (Arkose Labs) — phạm vi tập trung vào reCAPTCHA, Turnstile/Challenge, GeeTest v3, hình ảnh/OCR, lưới hình ảnh và BLS.
Giải 100.000 CAPTCHA reCAPTCHA v2 mỗi tháng tốn bao nhiêu?
Với CaptchaAI là $15/tháng trên gói BASIC (5 thread), tức $0,15 cho mỗi 1.000 lần giải, nếu tải cao điểm nằm gọn trong 5 thread. Với CapSolver, hãy nhân 100 với giá mỗi 1.000 lần cho reCAPTCHA v2 trên trang giá của họ (kiểm tra ngày 18/10/2026).
CaptchaAI có hỗ trợ định dạng API JSON của CapSolver không?
Không, CaptchaAI dùng REST tham số truy vấn riêng. Luồng xử lý — gửi task rồi polling kết quả — giống hệt nhau, nên chuyển đổi chủ yếu là đổi tên tham số.
Chuyển từ CapSolver sang CaptchaAI có gây downtime không?
Không cần thiết. Chạy song song, xác nhận token hợp lệ, rồi chuyển traffic sang dần — hai bên cùng mẫu gửi → task ID → polling → dùng token.