#
GeeTest v4
Solve GeeTest v4 challenges including icon click and slide. Task types, custom servers, and code examples.
Invisible captcha that returns validation tokens.
#
Task Types
#
Parameters
#
Finding the Captcha ID
initGeetest4({
captcha_id: "your_captcha_id_here",
product: "bind"
});
Search for: captcha_id, gt4.geetest.com, or initGeetest4.
For custom servers, look for apiServers and staticServers in the initGeetest4 config.
#
Example
response = requests.post("https://v1.captchasolv.com/solve", json={
"clientKey": "YOUR_API_KEY",
"task": {
"type": "GeeTestV4TaskProxyless",
"websiteURL": "https://example.com",
"websiteKey": "captcha_id_here",
"captchaJs": "https://example.com/gt4.js",
"apiServers": "https://captcha-api.example.com",
"staticServers": "https://captcha-stat.example.com/www/js"
}
}, timeout=130)
token_data = json.loads(response.json()["solution"]["token"])
# Use: token_data["lot_number"], token_data["captcha_output"], token_data["pass_token"], token_data["gen_time"]
const response = await axios.post('https://v1.captchasolv.com/solve', {
clientKey: 'YOUR_API_KEY',
task: {
type: 'GeeTestV4TaskProxyless',
websiteURL: 'https://example.com',
websiteKey: 'captcha_id_here',
captchaJs: 'https://example.com/gt4.js',
apiServers: 'https://captcha-api.example.com',
staticServers: 'https://captcha-stat.example.com/www/js'
}
}, { timeout: 130000 });
const tokenData = JSON.parse(response.data.solution.token);
#
Response
The token field contains JSON:
{
"lot_number": "abc123",
"captcha_output": "xyz789",
"pass_token": "token123",
"gen_time": "1706100000"
}
Parse the token and submit these fields to the site's verification endpoint.
#
Tips
- Parse the token —
tokenis JSON string, parse it to get individual fields - Use immediately — GeeTest tokens expire quickly
- Custom servers —
apiServers/staticServersare optional, only needed when the site uses non-default GeeTest infrastructure