Hướng Dẫn Giải reCAPTCHA v2 Bằng API CaptCha69 (Node.js & Python)
16/06/2026
reCAPTCHA v2 là rào cản phổ biến nhất mà dân automation, crawler, hay người chạy tool seeding phải vượt qua. Với CaptCha69, bạn có thể giải reCAPTCHA v2 bằng API với tỷ lệ thành công lên đến 99%, chi phí cực thấp cho mỗi task — thông qua giao diện in.php / res.php tương thích hoàn toàn với chuẩn 2Captcha (xem bảng giá).
Bài viết này hướng dẫn bạn từng bước từ việc tìm googlekey, submit task, poll kết quả, cho đến khi inject token vào form và trigger submit. Có sẵn code mẫu hoàn chỉnh bằng cả Node.js (dùng fetch/async-await) và Python (dùng requests) để copy-paste là chạy. Nếu bạn mới quen với CaptCha69, đọc trước bài tổng quan dịch vụ CaptCha69 để hiểu các loại key và bảng giá.
Chuẩn Bị Trước Khi Bắt Đầu
Để gọi được API CaptCha69 giải reCAPTCHA v2, bạn cần chuẩn bị:
- Một tài khoản CaptCha69 và API key dạng
point_. Lấy key tại trang API Key. Keypoint_phù hợp nhất cho người mới vì linh hoạt mọi loại captcha. - Điểm trong tài khoản: chi phí cho mỗi task reCAPTCHA v2 rất thấp (xem bảng giá). Nạp qua Ngân Lượng, VietcomBank, PerfectMoney, Binance hoặc NowPayments.
- Trang web đích có reCAPTCHA v2 mà bạn muốn vượt.
API base là https://captcha69.com, hai endpoint chính là in.php (submit task) và res.php (lấy kết quả). Xem tài liệu đầy đủ tại trang docs reCAPTCHA v2.
Bước 1: Tìm googlekey (sitekey) và pageurl
reCAPTCHA v2 luôn đi kèm một site key (gọi là googlekey trong API) — đây là mã định danh widget do chủ trang web đăng ký với Google. Bạn cần lấy giá trị này cùng với URL trang để submit cho CaptCha69.
Cách tìm nhanh trong trình duyệt:
- Mở trang web đích, click chuột phải chọn Inspect (hoặc nhấn F12).
- Tìm trong HTML thẻ có thuộc tính
data-sitekey, thường nằm trong khối<div class="g-recaptcha" data-sitekey="...">. - Giá trị sau dấu bằng chính là googlekey.
- pageurl chính là URL đầy đủ của trang (xem trên thanh địa chỉ), ví dụ
https://example.com/login.
Mẹo: dùng DevTools, nhấn Ctrl+F rồi gõ data-sitekey để tìm nhanh. Nếu trang dùng reCAPTCHA ẩn (invisible), thuộc tính này vẫn nằm trong DOM. Lưu ý rằng googlekey là mã của trang web, còn key trong API là API key CaptCha69 của bạn — đừng nhầm.
Bước 2: Submit Task Qua in.php
Sau khi có googlekey và pageurl, bạn gửi một POST request tới in.php với method userrecaptcha — đây là method dành riêng cho reCAPTCHA v2.
Tham số bắt buộc:
method=userrecaptchakey= API key CaptCha69 của bạn (ví dụpoint_abc123)googlekey= site key lấy ở Bước 1pageurl= URL trang đích
Phản hồi thành công có dạng:
OK|21234567890
Phần sau dấu | chính là CAPTCHA_ID — mã task bạn sẽ dùng để poll kết quả ở Bước 3. Nếu response là ERROR_... (ví dụ ERROR_KEY_DOES_NOT_EXIST, ERROR_ZERO_BALANCE), hãy kiểm tra lại key và số dư điểm.
Bước 3: Poll res.php Lấy Token
Việc giải reCAPTCHA v2 mất vài giây đến vài chục giây, nên CaptCha69 dùng cơ chế polling: bạn gửi GET request tới res.php mỗi 5 giây, dùng CAPTCHA_ID từ Bước 2, cho đến khi nhận được token.
Request:
GET https://captcha69.com/res.php?key=point_YOUR_KEY&action=get&id=CAPTCHA_ID
Các phản hồi có thể nhận:
CAPCHA_NOT_READY— task chưa xong, đợi 5 giây rồi poll lại.OK|03AGdBq25...— thành công, phần sau|là token reCAPTCHA (rất dài, vài trăm ký tự).CAPCHA_UNSOLVABLEhoặcERROR_...— task thất bại, không bị trừ điểm, nên submit lại task mới.
Khi nhận được OK|..., tách lấy token và chuyển sang Bước 4. Tốc độ giải trung bình cho reCAPTCHA v2 tại CaptCha69 khá nhanh — với key point_ thường từ vài giây đến dưới một phút.
Bước 4: Inject Token Vào Form và Trigger Submit
Token trả về cần được điền vào trường ẩn mà Google reCAPTCHA tạo ra để form nhận diện rằng người dùng đã vượt captcha. Trường này có id="g-recaptcha-response" và thường là một <textarea> hoặc input ẩn.
Với trình duyệt tự động (Puppeteer/Selenium/Playwright): set giá trị cho element đó rồi trigger callback. Có hai trường hợp:
- Form tự submit khi captcha hợp lệ: chỉ cần điền token, phần còn lại form tự xử lý.
- Form không tự submit: cần gọi hàm callback mà trang đăng ký với reCAPTCHA, thường là một hàm nằm trên
window(ví dụwindow.onRecaptchaSuccess,window.submitForm, hoặc tên callback tùy chỉnh). Nếu không rõ tên callback, dùng DevTools tìm trong source chữdata-callbackhoặc các biến global liên quan.
Chi tiết cách inject và gọi callback trong automation xem tại bài tích hợp CaptCha69 với Selenium/Puppeteer.
Code Mẫu Hoàn Chỉnh Bằng Node.js
Đoạn code dưới dùng fetch (Node 18+) và async-await, gói trọn 4 bước trên thành một hàm tái sử dụng:
// solve_recaptcha_v2.mjs — Node 18+ (fetch built-in)
const BASE = "https://captcha69.com";
const API_KEY = "point_YOUR_KEY"; // doi bang key cua ban
function sleep(ms) {
return new Promise(r => setTimeout(r, ms));
}
// Buoc 2 + 3: submit in.php roi poll res.php den khi co token
async function solveRecaptchaV2(googlekey, pageurl, maxWaitMs = 120000) {
// 1. Submit task
const submitUrl =
BASE +
"/in.php?method=userrecaptcha" +
"&key=" + API_KEY +
"&googlekey=" + googlekey +
"&pageurl=" + encodeURIComponent(pageurl);
const submitRes = await (await fetch(submitUrl)).text();
console.log("in.php:", submitRes);
if (!submitRes.startsWith("OK|")) {
throw new Error("Submit failed: " + submitRes);
}
const captchaId = submitRes.split("|")[1];
// 2. Poll moi 5 giay
const pollUrl =
BASE +
"/res.php?key=" + API_KEY +
"&action=get&id=" + captchaId;
const deadline = Date.now() + maxWaitMs;
while (Date.now() < deadline) {
await sleep(5000);
const res = await (await fetch(pollUrl)).text();
console.log("res.php:", res);
if (res.startsWith("OK|")) {
return res.split("|")[1]; // day la TOKEN
}
if (res !== "CAPCHA_NOT_READY") {
throw new Error("Poll failed: " + res);
}
}
throw new Error("Timeout, chua nhan duoc token");
}
// Su dung
const token = await solveRecaptchaV2(
"6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJtx_mJ_", // googlekey (vi du)
"https://example.com/login" // pageurl
);
console.log("TOKEN:", token);
// Buoc 4 (vi du Puppeteer): dien token va trigger callback
// await page.evaluate((t) => {
// const ta = document.querySelector("#g-recaptcha-response");
// if (ta) { ta.style.display = "block"; ta.value = t; }
// // goi callback neu form khong tu submit:
// if (typeof window.onRecaptchaSuccess === "function") {
// window.onRecaptchaSuccess(t);
// }
// }, token);
Code Mẫu Hoàn Chỉnh Bằng Python
Tương tự với Python, dùng thư viện requests. Cài đặt: pip install requests.
# solve_recaptcha_v2.py
import time
import requests
BASE = "https://captcha69.com"
API_KEY = "point_YOUR_KEY" # doi bang key cua ban
def solve_recaptcha_v2(googlekey, pageurl, max_wait=120):
# 1. Submit task qua in.php
submit_params = {
"method": "userrecaptcha",
"key": API_KEY,
"googlekey": googlekey,
"pageurl": pageurl,
}
submit_res = requests.post(BASE + "/in.php", data=submit_params).text
print("in.php:", submit_res)
if not submit_res.startswith("OK|"):
raise RuntimeError("Submit failed: " + submit_res)
captcha_id = submit_res.split("|", 1)[1]
# 2. Poll res.php moi 5 giay
poll_url = BASE + "/res.php"
poll_params = {"key": API_KEY, "action": "get", "id": captcha_id}
deadline = time.time() + max_wait
while time.time() < deadline:
time.sleep(5)
res = requests.get(poll_url, params=poll_params).text
print("res.php:", res)
if res.startswith("OK|"):
return res.split("|", 1)[1] # day la TOKEN
if res != "CAPCHA_NOT_READY":
raise RuntimeError("Poll failed: " + res)
raise RuntimeError("Timeout, chua nhan duoc token")
if __name__ == "__main__":
token = solve_recaptcha_v2(
"6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJtx_mJ_", # googlekey (vi du)
"https://example.com/login", # pageurl
)
print("TOKEN:", token)
# Buoc 4 (vi du Selenium): dien token va trigger callback
# driver.execute_script(
# "var ta=document.querySelector('#g-recaptcha-response');"
# "if(ta){ta.style.display='block';ta.value=arguments[0];}"
# "if(window.onRecaptchaSuccess){window.onRecaptchaSuccess(arguments[0]);}",
# token,
# )
Lưu Ý Thực Tế Khi Triển Khai
- Dùng đúng key
point_: bài này viết cho key trả theo task. Keythread_(thuê bao) vàmax1_(cloud) dùng chung API nhưng cơ chế tính phí khác — đọc kỹ trước khi dùng. - Timeout & retry: luôn đặt
maxWaitMs/max_wait(khoảng 120 giây). Nếu hết hạn hoặc nhậnCAPCHA_UNSOLVABLE, submit task mới — không bị trừ điểm cho task lỗi, nên retry là an toàn. - Khoảng poll hợp lý: poll mỗi 5 giây là vừa — nhanh hơn gây dư thừa request, chậm hơn thì trễ token. Token có hạn sử dụng (vài phút), lấy xong nên inject ngay.
- Token dùng một lần: mỗi token chỉ hợp lệ cho đúng
pageurlđã submit, và thường chỉ submit form được một lần. Không lưu cache token để dùng lại. - Mã hóa
pageurl: khi URL có tham số, nhớencodeURIComponent(Node) hoặc đểrequeststự encode (Python) tránh lỗi parse.
Câu Hỏi Thường Gặp (FAQ)
API CaptCha69 có giống hệt 2Captcha không?
Gần như giống hệt về giao diện in.php/res.php và các method. Nếu bạn đã có code 2Captcha/anti-captcha, chỉ cần đổi domain sang captcha69.com và thay key là chạy được. Đó là lý do bài này dùng đúng các tham số method=userrecaptcha, googlekey, pageurl quen thuộc.
Token trả về điền vào đâu?
Vào element có id="g-recaptcha-response" (thường là textarea ẩn). Điền xong, nếu form tự submit thì xong; nếu không, gọi callback mà trang đăng ký (kiểm tra data-callback hoặc các hàm trên window).
Giá bao nhiêu cho một reCAPTCHA v2?
Giá cực rẻ so với thị trường — chi phí thấp cho mỗi task với key point_. Chi tiết xem tại bảng giá.
Bao lâu thì nhận được token?
Trung bình vài giây đến dưới một phút tùy độ khó và tải hệ thống. Key max1_ (cloud solver) thường nhanh hơn. Trong code, luôn poll đến khi nhận OK| hoặc hết timeout.
Nếu task thất bại có bị trừ điểm không?
Không. Các response như CAPCHA_UNSOLVABLE nghĩa là CaptCha69 không giải được — bạn không bị trừ điểm và nên submit task mới để thử lại.
reCAPTCHA v2 Invisible có dùng method này được không?
Được. Invisible bản chất vẫn là v2, dùng chung method=userrecaptcha. Bạn vẫn cần đúng googlekey và pageurl. Tỷ lệ thành công cho v2 Invisible ở CaptCha69 khoảng 97–99%.
Kết Luận & Bắt Đầu Ngay
Giải reCAPTCHA v2 bằng API CaptCha69 đơn giản hơn bạn nghĩ: chỉ cần tìm googlekey, gọi in.php, poll res.php, rồi inject token vào form. Với API tương thích 2Captcha, success rate 99%, giá cực rẻ (xem bảng giá), và code mẫu sẵn sàng cho cả Node.js lẫn Python — bạn có thể tích hợp vào automation chỉ trong vài phút.
Đăng ký tài khoản Lấy API Key Tài liệu API reCAPTCHA v2
Cần hỗ trợ tích hợp? Telegram @hkvn9x · Zalo 0372.972.971