What Is GeeTest? β Definition and How It Works
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:
- Log which URL and which action triggered it.
- Check whether the same data is reachable without the gated action.
- Check for an official API β regional platforms frequently have one.
- 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.