GeeTestTaskProxyless - captcha from without proxy


Documentation moved to a new place here.

Documentation at is no longer updated and may be not actual.

This type of task solves GeeTest captcha in our workers browsers. Your app submits website address, gt key, challenge key and receives 3 parameters after task completion.
The gt key is same for all in-domain captchas.

Captcha examples

The challenge is a changing token which is used by captcha widget to sign requests. You need to obtain new one each time you make a request with captcha. Generally to do this you will need to request StartCaptchaServlet.php which will return it. Target website may change the name, thus using debugging tools like Firebug is recommended.

This type of task is similar to GeeTestTask, except we manage proxy connections for you.

Results are 3 parameters: geetest_challenge, geetest_validate and geetest_seccode. Use them for final form data submit.

 See how it looks

Object structure





websiteURLStringYesAddress of target web page
gtStringYesThe domain key
challengeStringYesChanging token key. Make sure to grab fresh one for each captcha, otherwise you will be charged for error task.

Optional API subdomain. May be required for some installations. 

 How to find if you need it

Look into the source code and find function initGeetest.
If one of it's parameters containts api_server, then send the value to our API.


Required for some custom implementations. Send an quotation-escaped string of additional additional libraries.
These should be can be obtained in debugger. Place a breakpoint before initGeetest function call:

Request example





Grab the result

Use method getTaskResult to request solution. Give worker a time like 10 seconds before requesting it.




challengeStringHash string which is required for interacting with submit form on target website.
validateStringHash string which is required too.
seccodeStringAnother required hash string, we have no idea why there are 3 of them.

Example output of getTaskResult: