Skip to main content
Are you experiencing issues obtaining the token?
Contact support

GeeTestTask

GeeTestTask
$1.2 / 1000 tokens
98%

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.

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)


GeeTest V3

Possible captcha variants

Request parameters

type<string>required

GeeTestTaskProxyless


websiteURL<string>required

Address of the page on which the captcha is solved.


gt<string>required

The GeeTest identifier key gt for the domain. Static value, rarely updated.


challenge<string>required 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.


version<integer>required only for V4

3


geetestApiServerSubdomain<string>optional

Geetest API subdomain server (must be different from api.geetest.com).
Optional parameter. May be required for some sites.


geetestGetLib<string>optional

Path to the captcha script to display it on the page.
Optional parameter. May be required for some sites.
Send JSON as a string.


userAgent<string>optional

Browser User-Agent used to recognize captcha.

Create task

POST
https://api.capmonster.cloud/createTask

Request

{
"clientKey":"YOUR_CAPMONSTER_CLOUD_API_KEY",
"task":
{
"type":"GeeTestTaskProxyless",
"websiteURL":"https://www.geetest.com/en/demo",
"gt":"022397c99c9f646f6477822485f30404",
"challenge":"7f044f48bc951ecfbfc03842b5e1fe59"

}
}

Response

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

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.

Get task result

POST
https://api.capmonster.cloud/getTaskResult

Request

{
"clientKey":"API_KEY",
"taskId": 407533072
}

Response

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

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

Use SDK Library

// https://github.com/ZennoLab/capmonstercloud-client-js

import { CapMonsterCloudClientFactory, ClientOptions, GeeTestProxylessRequest, /*GeeTestRequest*/ } from '@zennolab_com/capmonstercloud-client';

document.addEventListener('DOMContentLoaded', async () => {
const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: '<your capmonster.cloud API key>' }));
console.log(await cmcClient.getBalance());

const geetestV3Request = new GeeTestProxylessRequest({
websiteURL: 'https://example.com/geetest.php',
gt: '81dc9bdb52d04dc20036dbd8313ed055',
challenge: 'd93591bdf7860e1e4ee2fca799911215',
});

// const geetestV3Request = new GeeTestRequest({
// websiteURL: 'https://example.com/geetest.php',
// gt: '81dc9bdb52d04dc20036dbd8313ed055',
// challenge: 'd93591bdf7860e1e4ee2fca799911215',
// userAgent: 'userAgentPlaceholder',
// proxyType: 'https',
// proxyAddress: 'https://proxy.com',
// proxyPort: 6045,
// proxyLogin: 'login',
// proxyPassword: 'password',
// });

console.log(await cmcClient.Solve(geetestV3Request));
});

GeeTest V4

Possible captcha variant

Request parameters

type<string>required

GeeTestTaskProxyless


websiteURL<string>required

Address of the page on which the captcha is solved.


gt<string>required

The GeeTest identifier key for the domain - the captcha_id parameter.


version<integer>required only for V4

4


geetestApiServerSubdomain<string>optional

Geetest API subdomain server (must be different from api.geetest.com).
Optional parameter. May be required for some sites.


geetestGetLib<string>optional

Path to the captcha script to display it on the page.
Optional parameter. May be required for some sites.
Send JSON as a string.


initParameters<object>optional

Additional parameters for version 4, used together with “riskType” (captcha type/characteristics of its verification).


userAgent<string>optional

Browser User-Agent used to recognize captcha.

Create task method

POST
https://api.capmonster.cloud/createTask

Request

{
"clientKey":"YOUR_CAPMONSTER_CLOUD_API_KEY",
"task":
{
"type":"GeeTestTaskProxyless",
"websiteURL":"https://gt4.geetest.com/",
"gt":"54088bb07d2df3c46b79f80300b0abbe",
"version": 4,
"initParameters": {
"riskType": "slide"

}
}
}

Response

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

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.

Get task result method

POST
https://api.capmonster.cloud/getTaskResult

Request

{
"clientKey":"API_KEY",
"taskId": 407533072
}

Response

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

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

Use SDK Library

// https://github.com/ZennoLab/capmonstercloud-client-js

import { CapMonsterCloudClientFactory, ClientOptions, GeeTestProxylessRequest, /*GeeTestRequest*/ } from '@zennolab_com/capmonstercloud-client';

document.addEventListener('DOMContentLoaded', async () => {
const cmcClient = CapMonsterCloudClientFactory.Create(new ClientOptions({ clientKey: '<your capmonster.cloud API key>' }));
console.log(await cmcClient.getBalance());

const geetestV4Request = new GeeTestProxylessRequest({
websiteURL: 'https://example.com/geetest.php',
gt: '81dc9bdb52d04dc20036dbd8313ed055',
challenge: 'd93591bdf7860e1e4ee2fca799911215',
version: '4',
initParameters: {
riskType: 'slide',
},
});

// const geetestV4Request = new GeeTestRequest({
// websiteURL: 'https://example.com/geetest.php',
// gt: '81dc9bdb52d04dc20036dbd8313ed055',
// challenge: 'd93591bdf7860e1e4ee2fca799911215',
// version: '4',
// initParameters: {
// riskType: 'slide',
// },
// userAgent: 'userAgentPlaceholder',
// proxyType: 'https',
// proxyAddress: 'https://proxy.com',
// proxyPort: 6045,
// proxyLogin: 'login',
// proxyPassword: 'p@ssword',
// })

console.log(await cmcClient.Solve(geetestV4Request));
});