Scrapeless Wiki

What Is GeeTest? – Definition and How It Works

Informational P2 what is geetest

Learn what GeeTest is, how its slider and puzzle challenges differ from image grids, and where it is most common.

GeeTest is a CAPTCHA and bot-management provider best known for interaction-based challenges β€” sliders and jigsaw pieces rather than image grids. It is very widely deployed across Chinese-language sites and increasingly beyond them.

1. The Challenge Types

Type Interaction
Slide Drag a slider to complete a gap
Puzzle / jigsaw Drag a piece into its matching slot
Icon selection Click icons in a stated order
Word selection Click characters in sequence
Invisible No interaction unless risk is elevated

The interaction-based design is deliberate: what is being measured is not only whether the puzzle is solved but how β€” the movement path, acceleration, timing, and micro-corrections of the drag.

2. Why the Movement Matters More Than the Answer

This is what distinguishes GeeTest from a grid CAPTCHA. A perfectly linear drag at constant velocity completes the visual task and fails the behavioural one, because human pointer movement has characteristic jitter, acceleration curves, and overshoot.

So the challenge is a behavioural biometric wearing a puzzle's clothing. That is also why naive automation of the visible task does not work.

3. Detecting It

Class Signal
URL script from a GeeTest CDN domain
Window initGeetest / Geetest globals
DOM .geetest_ prefixed class names
Payload challenge, gt, validate, seccode fields
Content gt= and challenge= parameters

The .geetest_* class prefix on injected elements is the most legible DOM marker, and the gt / challenge parameter pair is the recognisable API shape.

4. Where It Is Common

GeeTest is dominant on Chinese platforms β€” e-commerce, travel, ticketing, financial services β€” and appears on international sites serving those markets. Anyone working with Chinese-language sources meets it constantly.

That regional concentration is itself useful information: encountering GeeTest suggests the site's threat model is shaped by high-volume automated demand, typically ticketing or limited-inventory abuse.

5. What Its Presence Implies

  • The site expects sophisticated automation, not casual scraping. Interaction challenges are chosen when simpler measures have already failed.
  • Behavioural signals are being collected throughout the session, not only during the puzzle.
  • A headless browser with no pointer activity is conspicuous even before a challenge appears.
  • Rate limits are likely aggressive, given the inventory-abuse threat model.

6. Reading It in a Pipeline

Treat a GeeTest appearance as a hard stop rather than an obstacle to grind against:

  1. Log which URL and which action triggered it.
  2. Check whether the same data is reachable without the gated action.
  3. Check for an official API β€” regional platforms frequently have one.
  4. Track the trigger rate; if it rose, something in the setup changed.

The productive question is almost always "is there a path that does not pass through this", not "how do I complete it".

7. Legitimate Testing

If you own the site, GeeTest's presence in your own automated tests is a normal integration problem, and the vendor provides test keys and bypass modes for exactly that. Use those rather than automating the real challenge β€” that is what they exist for.

8. Summary

GeeTest is a CAPTCHA provider built on interaction challenges β€” sliders, jigsaw pieces, ordered clicks β€” where the measured signal is the manner of the interaction, not just its completion.

Detect it from initGeetest globals, .geetest_ class prefixes, and the gt/challenge parameter pair; read its presence as a site expecting serious automation, and look for a path around the gated action or an official API rather than attempting the challenge.