How to Solve GeeTest with DeathByCaptcha API
GeeTest is a behavioral CAPTCHA that uses slide puzzles, image selection, and behavioral analysis to differentiate humans from bots. It is widely used by Chinese and international websites, making it a common challenge for web scraping and automation teams.
DeathByCaptcha's geetest solver handles all GeeTest variants through a single API endpoint.
GeeTest Variants
DBC supports all major GeeTest types:
- Slide (GeeTest v3): Drag a puzzle piece to the correct position.
- Select (GeeTest v3): Select images matching a description.
- GeeTest v4: Full-page behavioral challenge with advanced anti-bot detection.
Solving GeeTest with DBC
Python
import deathbycaptcha
client = deathbycaptcha.SocketClient("username", "password")
result = client.decode({
"gt": "YOUR_GT_KEY",
"challenge": "YOUR_CHALLENGE",
"pageurl": "https://example.com"
}, type=6, timeout=60)
if result:
solution = result.text
# Solution contains validate, seccode, and challenge values
Node.js
const DBC = require('deathbycaptcha');
const client = new DBC.SocketClient('username', 'password');
const result = await client.decode({
gt: 'YOUR_GT_KEY',
challenge: 'YOUR_CHALLENGE',
pageurl: 'https://example.com'
}, 60, 6);
Parameters Explained
| Parameter | Description |
|---|---|
gt |
GeeTest captcha ID from the website |
challenge |
Dynamic challenge value from the page |
pageurl |
Full URL of the page with the GeeTest |
Integrating with Playwright
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://example.com")
# Extract GeeTest parameters from the page
gt = page.evaluate("() => window.geetest.gt")
challenge = page.evaluate("() => window.geetest.challenge")
# Solve via DBC
cid, solution = client.decode({
"gt": gt, "challenge": challenge,
"pageurl": "https://example.com"
}, type=6)
# Inject solution back into the page
page.evaluate(f"""
window.geetest.validate = '{solution["validate"]}';
window.geetest.seccode = '{solution["seccode"]}';
""")
Why Use DBC for GeeTest
- Supports both GeeTest v3 and v4 variants.
- Hybrid solving model handles the hardest behavioral challenges.
- Sub-second automated solves for standard slide puzzles.
- Proven reliability for high-volume Chinese website scraping.

Chinese
English
Spanish
Russian
French
Hindi
Arabic
Bengali
Indonesian
Portuguese
com,