GeeTest is a type of captcha where you have to move a piece of a puzzle or select some figures in the order.

Please, complete puzzle!

How to solve GeeTest

1. Find the following GeeTest captcha parameters on the target website (usually you can find them inside initGeetest function):
gt - public website key (static)
challenge - dynamic challenge key
api_server - API domain (optional)

Important: you should get a new challenge value for each request to our API. Once captcha was loaded on the page the challenge value becomes invalid. You should inspect requests made to the website when page is loaded to identify a request that gets a new challenge value. Then you should make such request each time to get a valid challenge value.

2.Send these parameters to 2Captcha API.

require(__DIR__ . '/../src/autoloader.php');

$solver = new \TwoCaptcha\TwoCaptcha('YOUR_API_KEY');

try {
    $result = $solver->geetest([
        'gt'        => 'f2ae6cadcf7886856696502e1d55e00c',
        'apiServer' => '',
        'challenge' => '12345678abc90123d45678ef90123a456b',
        'url'       => '',
} catch (\Exception $e) {

die('Captcha solved: ' . $result->code);
2.1 Submit a HTTP GET or POST request to our API URL: with method set to geetest providing values found on previous step in your request as values for corresponding request parameters and also full page URL as value for pageurl.
Request URL example:
2.2 If everything is fine server will return the ID of your captcha:
Otherwise server will return an error code.
2.3 After 15-20 seconds send GET request to get the result:
If captcha is already solved server will respond with the answer.
If captcha is not solved yet server will return CAPCHA_NOT_READY result. Repeat your request in 5 seconds. If something went wrong server will return an error code.
3. If captcha is already solved server will return the response in JSON. The response contains three values: challenge, validate and seccode:
    "challenge": "1a2b3456cd67890e12345fab678901c2de",
    "validate": "09fe8d7c6ba54f32e1dcb0a9fedc8765",
    "seccode": "12fe3d4c56789ba01f2e345d6789c012|jordan"
4. Use the values received from our API to submit your request to the target website placing the values into corresponding request fields:
5. Click on "Check" button to submit the form.
This site uses cookies. Cookies remember you, so we can provide you with personalized services. Learn more.