Blog
How to solve/solve Geetest v3/v4 with CapSolver

GeeTest captcha, what is? And how to solve GeeTest v3/v4

Logo of Capsolver

CapSolver Blogger

How to use capsolver

29-Aug-2023

There are four different types of GeeTest CAPTCHA.

Intelligent mode
Slide CAPTCHA
Icon CAPTCHA
Space CAPTCHA

Here is a detail of all of them.

Intelligent mode


In this mode, ONLY high-risk visitors will be provided with CAPTCHA challenge. The system will automatically decide to let the user pass the test, pop out Slide or Icon CAPTCHA challenge based on the detected risk.

This one is not that secure. GeeTest itself rated it 2 out of 5 for its security strength. For user experience, 5 out of 5.

Slide CAPTCHA


When the user drags the slider, the mouse tracks, device attributes, and some other data will be collected and analyzed in real-time.

This one is much secure than the previous one. GeeTest itself rated it 3out of 5 for its security strength. For user experience, 4 out of 5.

Icon CAPTCHA


The neural network has been applied to switch image styles rapidly. The mouse tracks, device attributes, and some other data will be collected and analyzed to differentiate humans from bots.

GeeTest itself rated it 3 out of 5 for its security strength. For user experience, 4 out of 5.

Space CAPTCHA

The diversity of solid figures and complex questions could significantly reduce the recognition risk with computer vision.

This one is much secure than all others. GeeTest itself rated it 5 out of 5 for its security strength. For user experience 1out of 5.

To use our service to solve the GeeTest captcha, you must:

  1. On the target page, locate the following GeeTest captcha parameters (usually you can find them inside initGeetest function).
gt: public website key (static)
challenge: dynamic challenge key
API domain: api server (optional)
  1. Submit an HTTP GET or POST request with the method set to geetest to our API URL using our documentation docs.capsolver.com Include the data from the previous step in your request as values for the respective request parameters, and include the whole page URL as a value for pageurl.
    Example:
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type":"GeeTestTaskProxyless", //Can use GeetestTaskProxyless or GeetestTask
        "websiteURL":"http://mywebsite.com/geetest/test.php",  //Required
        "gt":"874703612e5cd0d", //Required
        "challenge":"0f759dd1ea6c4wc76cedc2991039ca4f23", //Required
        "geetestApiServerSubdomain":"api-na.geetest.com",  //Optional
        "proxy":"", //Optional, this is required if you use GeetestTask
        "userAgent": "" //Optional
    }
}
  1. If everything is fine server will return the ID of your captcha as json, like:
{ “errorId”: 0, “status”: “idle”, “taskId”: “randomTaskId” // record taskId }

Otherwise server will return an error code.

  1. Make a 15–20 seconds timeout then submit a HTTP GET request to our API URL like this example:
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json

{
    "clientKey":"YOU_API_KEY",
    "taskId": "yourid"
}

After the captcha is solved, you will receive the result as:

{
      "challenge":"1a2b34cd67890e12345fab678901c2de",
      "validate":"09fe8d7c6ba54f32e1dcb0a9fed765",
      "seccode":"12fe3d4c56789ba01f2e345d6789c012|jordan"
}

If captcha is not solved yet server will return the error result. Repeat your request in 5 seconds.
If something went wrong server will return an errorCode

  1. Use the values received from our API to submit your request to the target website placing the values into corresponding request fields:
geetest_challenge
geetest_validate
geetest_seccode

More