GeeTestTask: GeeTest captcha recognition

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 tokens for submitting the form.

Attention!

Proxies with IP authorization are not yet supported.

Object structure

  • 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.

Parameter

Type

Required

Value

type

String

yes

GeeTestTask

websiteURL

String

yes

Address of the page on which the captcha is recognized

gt

String

yes

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

challenge

String

yes

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 ERROR_TOKEN_EXPIRED error.

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.

geetestApiServerSubdomain

String

no

Optional parameter. May be required for some sites.

geetestGetLib

String

no

Optional parameter. May be required for some sites.
Send JSON as a string.

version

Integer

no

Version number (default is 3). Possible values: 3, 4.

initParameters

Object

no

Additional parameters for version 4.

proxyType

String

yes

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

proxyAddress

String

yes

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

proxyPort

Integer

yes

Proxy port

proxyLogin

String

no

Proxy-server login

proxyPassword

String

no

Proxy-server password

userAgent

String

no

Browser User-Agent used to recognize captcha.

GeeTest V3

Request example

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

{ "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" } }

Response example

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

Getting the result

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.

Property

Type

Description

challenge

String

All three parameters are required when submitting the form on the target site.

validate

String

seccode

String

Example:

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

GeeTest V4

Request example

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

Response example

Getting the result

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.

Property

Type

Description

captcha_id

String

All five parameters are required when submitting the form on the target site.

lot_number

String

pass_token

String

gen_time

String

captcha_output

String

Example: