Skip to main content
GeeTest protects sites with interactive puzzles — most commonly a slider you drag into place — backed by behavioral analysis of the drag itself. Use Captcha.autoSolve for GeeTest. This type is handled by the external provider integration; sending it to Captcha.solve returns an error.

Before you start

Enable the solver when starting the browser:
Your account needs the corresponding external provider configuration. Check solver balance and provider settings if solving does not begin.

Automatic captcha solving

Use the Playwright or Puppeteer lifecycle, adding the settings above to the start request. Create a page-level CDP session and attach listeners before enabling automatic mode:
Replace the target URL with your page. Add a bounded wait for the form result or protected content after navigation. {"status": "started"} only confirms that automatic mode started.

Understanding GeeTest challenge types

GeeTest ships two active generations with different bypass considerations:
  • v3 — the page loads a gt and challenge parameter pair; the classic version.
  • v4 — the page loads only a captcha_id with scripts served from /v4/ paths; adds more challenge variants and encrypts interaction data into a signed payload before validation.
Within either version, the widget itself can present as more than a slider: Whichever variant appears, GeeTest scores the interaction itself — drag trajectory, timing between actions, and final position — not just whether the puzzle was technically completed. Captcha.autoSolve handles the detection and interaction for the variant it finds; you don’t need to branch your code by type.

Verify bypass worked

Check the challenge version and the actual page flow. A GeeTest widget may appear only after a form action. Start the automatic solver before that action, then wait for the site to accept the result. Keep the CDP connection open while solving. Avoid running a second solver against the same challenge. If verification completes but the page is still blocked, inspect the next network response or form validation error.

Troubleshooting

If nothing happens, confirm that the external integration was loaded, "geetest" is allowed in auto_captcha_types, and the challenge is present. Observe failure events and check provider availability before retrying. See CAPTCHA troubleshooting for shared errors and DevTools to inspect a running attempt. Stop the browser after the job completes.

GeeTest bypass FAQ

No — GeeTest only supports automatic mode through Captcha.autoSolve. Sending "geetest" to Captcha.solve returns an error; there is no manual solving path for this type.
Check the page source or network requests. If you see a gt and challenge parameter pair, it’s v3. If you only see captcha_id with scripts loading from /v4/ paths, it’s v4. Captcha.autoSolve handles both without needing you to specify which one.
GeeTest can skip the challenge entirely and accept a single click, or nothing visible at all, when it already trusts the session from prior behavior — this is normal, not a sign the page isn’t protected. Start the automatic solver before the triggering form action so it’s ready either way.
It only confirms automatic mode began — not that a challenge was found, solved, or accepted. Attach Captcha.solveCompleted and Captcha.solveFailed listeners and wait for the actual page result before treating the job as done.
Questions? Contact support.