Skip to main content

GeeTestTask

This type of task is for solving GeeTest captcha using your proxies. Your application should send the site address, public domain key (gt), key (challenge) and proxy.

The result of solving the problem is three or five tokens for submitting the form.

Attention!

Proxies with IP authorization are not yet supported.

Object structure

info
  • The gt, challenge and geetestApiServerSubdomain parameters are most often found inside the initGeetest JavaScript function.
  • Also you can see in the HTML code of the page. You can find it in the <sсript> block, which appears after the page is fully loaded in the browser. V3

V4 (captcha_id = gt)

ParameterTypeRequiredValue
typeStringyesGeeTestTaskProxyless or GeeTestTask (When using proxy).
websiteURLStringyesAddress of the page on which the captcha is solved.
gtStringyesThe GeeTest identifier key for the domain. Static value, rarely updated.
If v4 then this is the clientId parameter.
challengeStringyes, only for V3

A dynamic key.
Each time our API is called, we need to get a new key value. If the captcha is loaded on the page, then the challenge value is no longer valid and you will get the error ERROR_TOKEN_EXPIRED.

You will be charged for tasks with ERROR_TOKEN_EXPIRED error.

It is necessary to examine the requests and find the one in which this value is returned and, before each creation of the recognition task, execute this request and parse the challenge from it.

geetestApiServerSubdomainStringnoOptional parameter.
May be required for some sites.
geetestGetLibStringnoOptional parameter. May be required for some sites.
Send JSON as a string.
versionIntegernoVersion number (default is 3). Possible values: 3, 4.
initParametersObjectnoAdditional parameters for version 4.
proxyTypeStringyes (When using GeeTestTask)http - regular http/https proxy;
https - try this option only if "http" doesn't work (required for some custom proxies);
socks4 - socks4 proxy;
socks5 - socks5 proxy.
proxyAddressStringyes (When using GeeTestTask)

IPv4/IPv6 proxy IP address. Not allowed:

- using of hostnames;

- using transparent proxies (where you can see the client's IP);

- using proxies on local machines.

proxyPortIntegeryes (When using GeeTestTask)Proxy port.
proxyLoginStringnoProxy-server login.
proxyPasswordStringnoProxy-server password.
userAgentStringnoBrowser User-Agent used to recognize captcha.

GeeTest V3

Request example

Method

<https://api.capmonster.cloud/createTask>

GeeTestTask (With proxy)

{
"clientKey":"YOUR_CAPMONSTER_CLOUD_API_KEY",
"task": {
"type":"GeeTestTask",
"websiteURL":"https://example.com/geetest.php",
"gt":"81dc9bdb52d04dc20036dbd8313ed055",
"challenge":"d93591bdf7860e1e4ee2fca799911215",
"proxyType":"http",
"proxyAddress":"8.8.8.8",
"proxyPort":8080,
"proxyLogin":"proxyLoginHere",
"proxyPassword":"proxyPasswordHere",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"
}
}

GeeTestTaskProxyless (Without proxy)

{
"clientKey":"YOUR_CAPMONSTER_CLOUD_API_KEY",
"task":
{
"type":"GeeTestTaskProxyless",
"websiteURL":"https://example.com/geetest.php",
"gt":"81dc9bdb52d04dc20036dbd8313ed055",
"challenge":"d93591bdf7860e1e4ee2fca799911215"
}
}

Response example

{
"errorId":0,
"taskId":407533072
}

Getting the result

Method

<https://api.capmonster.cloud/getTaskResult>

Use the getTaskResult method to get the result of GeeTest recognition. Depending on the system load, you will receive a response after a time in the range from 10 s to 30 s.

PropertyTypeDescription
challengeStringAll three parameters are required when submitting the form on the target site.
validateString
seccodeString

Example:

{
"errorId":0,
"status":"ready",
"solution": {
"challenge":"0f759dd1ea6c4wc76cedc2991039ca4f23",
"validate":"6275e26419211d1f526e674d97110e15",
"seccode":"510cd9735583edcb158601067195a5eb|jordan"
}
}

GeeTest V4

Request example

Method

<https://api.capmonster.cloud/createTask>

GeeTestTask (With proxy)

{
"clientKey":"YOUR_CAPMONSTER_CLOUD_API_KEY",
"task": {
"type":"GeeTestTaskProxyless",
"websiteURL":"https://example.com/geetest.php",
"gt":"81dc9bdb52d04dc20036dbd8313ed055",
"version": 4,
"initParameters": {
"riskType": "slide"
},
"proxyType":"http",
"proxyAddress":"8.8.8.8",
"proxyPort":8080,
"proxyLogin":"proxyLoginHere",
"proxyPassword":"proxyPasswordHere",
"userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36"
}
}

GeeTestTaskProxyless (Without proxy)

{
"clientKey":"YOUR_CAPMONSTER_CLOUD_API_KEY",
"task":
{
"type":"GeeTestTaskProxyless",
"websiteURL":"https://example.com/geetest.php",
"gt":"81dc9bdb52d04dc20036dbd8313ed055",
"version": 4,
"initParameters": {
"riskType": "slide"
}
}
}

Response example

{
"errorId":0,
"taskId":407533072
}

Getting the result

Method

<https://api.capmonster.cloud/getTaskResult>

Use the getTaskResult to get the result of GeeTest recognition. Depending on the system load, you will receive a response after a time in the range from 10 s to 30 s.

PropertyTypeDescription
captcha_idStringAll five parameters are required when submitting the form on the target site.
input[name=captcha_id]
input[name=lot_number]
input[name=pass_token]
input[name=gen_time]
input[name=captcha_output]
lot_numberString
pass_tokenString
gen_timeString
captcha_outputString

Example:

{
"errorId":0,
"status":"ready",
"solution": {
"captcha_id":"f5c2ad5a8a3cf37192d8b9c039950f79",
"lot_number":"bcb2c6ce2f8e4e9da74f2c1fa63bd713",
"pass_token":"edc7a17716535a5ae624ef4707cb6e7e478dc557608b068d202682c8297695cf",
"gen_time":"1683794919",
"captcha_output":"XwmTZEJCJEnRIJBlvtEAZ662T...[cut]...SQ3fX-MyoYOVDMDXWSRQig56"
}
}