So Sánh

CaptchaAI vs CapSolver: So sánh đầy đủ

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

  1. Tạo tài khoản tại captchaai.com
  2. Thay https://api.capsolver.com/createTask bằng https://ocr.captchaai.com/in.php
  3. Đổi object task JSON thành tham số truy vấn: - "type": "ReCaptchaV2TaskProxyLess" → method=userrecaptcha - "websiteKey" → googlekey - "websiteURL" → pageurl
  4. Đổi phần parse phản hồi từ JSON sang định dạng phân cách bằng dấu |
  5. Thay lệnh gọi getTaskResult bằng res.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.

Hướng dẫn liên quan

Os comentários estão desativados para este artigo.